int led_y = 13; // фиксируем пин желтого светодиода
int led_b = 12; // фиксируем пин синего светодиода
int led_r = 11; // фиксируем пин красного светодиода
int key_pin = 3; // фиксируем пин кнопки
bool led_s_y = false; // состояние желтого светодиода
bool led_s_b = false; // состояние синего светодиода
bool led_s_r = false; // состояние красного светодиода
bool key_press = false; // переменная перехода состояния
void setup() {
pinMode(key_pin, INPUT_PULLUP); //подключаем пин кнопки на прием
pinMode(led_y, OUTPUT); //подключаем пин светодиода на вывод
pinMode(led_b, OUTPUT); //подключаем пин светодиода на вывод
pinMode(led_r, OUTPUT); //подключаем пин светодиода на вывод
digitalWrite(led_y, led_s_y);
digitalWrite(led_b, led_s_b);
digitalWrite(led_r, led_s_r);
}
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_y = !led_y; // поменяли состояние светодиода!
}
digitalWrite(led_y, led_s_y); // выводим состояние светодиода на его пин
}