Ошибка компиляции светодиода и переключателя Arduino 101
По какой-то причине я получаю сообщение об ошибке в строке 9 (digitalWrite(Sender, HIGH);), и я просто не могу понять, почему. Моя цель — иметь два набора шаблонов мигания, по одному для каждого состояния переключателя. Я не знаю, насколько это важно, но я использую Arduino 101. Это также мой первый день программирования, поэтому ответ может смотреть мне прямо в нос (на самом деле, я бы предпочел это, ха-ха). Спасибо, что уделили время!
// Начинаем с объявления целых чисел
int Sender = 2; // Выключаем второй контакт
int LedG = 10; // Зеленый светодиод на десятом контакте
int LedR = 11; // Красный светодиод на одиннадцатом контакте
int Reader = 12; // Переключаем вход на двенадцатом контакте
//настраиваем ввод-вывод
pinMode(Sender = OUTPUT); // Установка вывода два на выход
pinMode(Reader = INPUT); // Установка контакта 12 для чтения данных переключателя
digitalWrite(Sender, HIGH); //Сделаем второй контакт горячим
//основной цикл
void loop() {
if (digitalRead (Reader) == HIGH) { // если вход Switch считывается, то делаем шаблон A
digitalWrite(LedG, HIGH); //включаем зеленый светодиод
delay(50); //задержка следующей инструкции
digitalWrite(LedG, LOW); //выключаем зеленый светодиод
digitalWrite(LedR, HIGH); //включаем красный светодиод
delay(50); //задержка следующей инструкции
digitalWrite(LedR, LOW); //выключаем красный светодиод
}
else { //если вход переключателя отключен, то воспроизводится шаблон b
digitalWrite(LedR, HIGH); //включаем красный светодиод
delay(1000); //задержка следующей инструкции
digitalWrite(LedR, LOW); //выключаем красный светодиод
digitalWrite(LedG, HIGH); //включаем зеленый светодиод
delay(1000); //задержка следующей инструкции
digitalWrite(LedG, LOW); //выключаем зеленый светодиод
}
}
@Canada Man, 👍1
1 ответ
Лучший ответ:
▲ 3
Я заметил, что ваши вызовы функций pinMode не совсем корректны:
pinMode(Sender = OUTPUT); // Установка вывода два на выход
pinMode(Reader = INPUT); // Установка контакта 12 для чтения данных переключателя
Должно быть:
pinMode(Sender, OUTPUT); // Установка вывода два на выход
pinMode(Reader, INPUT); // Установка контакта 12 для чтения данных переключателя
Для получения дополнительной информации обратитесь к https://www.arduino.cc/en/Reference/PinMode.
И весь раздел, в котором вы настраиваете ввод-вывод, должен быть заключен в функцию setup()
.
//настройка ввода/вывода
void setup()
{
pinMode(Sender, OUTPUT); // Установка вывода два на выход
pinMode(Reader, INPUT); // Установка контакта 12 для чтения данных переключателя
digitalWrite(Sender, HIGH); //Сделаем второй контакт горячим
}
,
@sa_leinad
Смотрите также:
- Акцептант векселей ИКТ
- Как переключить светодиод и двигатель при нажатии кнопки?
- Какие накладные расходы и другие соображения существуют при использовании структуры по сравнению с классом?
- Что лучше использовать: #define или const int для констант?
- Функции со строковыми параметрами
- Светодиоды: разница между общим анодом и общим катодом
- Как работать с аналоговыми контактами в цикле?
- Улучшенное циклическое переключение цветов RGB.
Кстати, мой оператор if, похоже, работает неправильно. Является ли (if (digitalRead (Reader) == HIGH)) правильным способом проверить правильность ввода?, @Canada Man
Неважно, извини., @Canada Man