Вопрос по коду
Этот код используется для включения и выключения Arduino, проблема в том, что я вообще не могу его понять. может кто-нибудь объяснить мне, как это работает?
New = digitalRead(button);
if ( New!=old)
{
if ( New == HIGH ){
if (LEDstatus == LOW)
{ digitalWrite(LED,HIGH);
LEDstatus = HIGH;
}
else
{
digitalWrite(LED,LOW);
LEDstatus=LOW;
}
}
old=New;
}
@Medhat Hamed, 👍0
Обсуждение1 ответ
Лучший ответ:
▲ 1
Сначала исправьте отступ:
New = digitalRead(button);
if ( New!=old) { // Если состояние кнопки изменилось
if ( New == HIGH ) { // Если кнопка сейчас находится в нажатом состоянии
if (LEDstatus == LOW) { // Если светодиод не горит
digitalWrite(LED,HIGH); // Включаем светодиод
LEDstatus = HIGH; // Запомним состояние светодиода для следующего раза
} else { // Светодиод горел, поэтому выключите его
digitalWrite(LED,LOW);
LEDstatus=LOW; // Запомним состояние светодиода для следующего раза
}
}
old=New;
}
Это значительно упрощает понимание кода.
Он что-то делает только при нажатии кнопки (переходит в состояние ВЫСОКИЙ). Когда вы отпускаете кнопку, он ничего не делает.
Каждое нажатие кнопки меняет состояние светодиода.
если он был выключен, он включает его. Если он был включен, он его выключает.
,
@Duncan C
Смотрите также:
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
Он не включает и не выключает Arduino. Он включает и выключает выходной контакт Arduino при нажатии кнопок., @Duncan C