int led_r_pin = 11; // фиксируем пин светодиода
int key_pin = 3; // фиксируем пин кнопки
bool led_s = false; // состояние светодиода
bool key_press = false; // переменная перехода состояния
void setup() {
pinMode(key_pin, INPUT_PULLUP); //подключаем пин кнопки на прием
pinMode(led_r_pin, OUTPUT); //подключаем пин светодиода на вывод
digitalWrite(led_r_pin, led_s);
}
void loop() {
bool key = digitalRead(key_pin); // считываем состояние кнопки
if (key && !key_press){ //кнопка нажата и была отпущенна?
key_press = true; //переход кнопки в состояние нажатия
delay(20); // убираем дребезг
}
if (!key && key_press){ // кнопка отпущена и была нажата?
key_press = false;//переход кнопки в состояние отпускания
delay(20); // убираем дребезг
led_s = !led_s; // поменяли состояние светодиода!
}
digitalWrite(led_r_pin, led_s); // выводим состояние светодиода на его пин
}