НАЗАД

Включаем LED индикатор при нажатии кнопки

В данном примере при нажатии кнопки включается светодиод. Светодиод горит пока нажата кнопка и отключается, когда кнопка не нажата.

#define switcher01 13
#define led01 12
void setup()
{
// инициализация цифрового пина как вход
pinMode(switcher01, INPUT);
digitalWrite(switcher01, HIGH);
//инициализация цифрового пина как выход
pinMode(led01, OUTPUT);
digitalWrite(led01, LOW);
}
void loop()
{
If (digitalRead(switcher01)==LOW)
{
digitalWrite(led01, HIGH)
do {
}while(digitalRead(switcher01)==LOW);
}
}

Для реализации включения светодиода при нажатой клавише, pin под номером 12 был настроен как выход для включения светодиода, pin по номером 13 настроен как вход для получения сигнала от нажатой клавиши.
Программа выполняется в цикле и постоянно проверяет состоянии кнопки, функцией digitalRead. При не нажатой клавише, состоянии выставлено в HIGH (иными словами 1). В случае, если клавиша нажата, состояние выставляется в LOW.
Условие проверяет, нажата ли клавиша, в случае, если клавиша нажата, то значение digitalRead(switcher01) равно LOW. В случае, если не нажата, то значение равно HIGH.
При срабатывании условия, запускается программа расположенная в теле условия. Сначала выполняется команда. Которая устанавливает HIGH на pin под псевдонимом led01. После запускается цикл, который выполняется до того момента, пока значение digitalRead(switcher01) равно LOW, т.е. кнопка нажата.