const int pinLed = 12; //назва піна для підключення світлодіода
const int pinKey = 11; //назва піна для підключення кнопки
boolean mode = true; //змінна для збереження стану світлодіода
int flag = 1; //змінна для збереження стану натискання кнопки
void setup(){
pinMode(pinLed, OUTPUT); //налаштовуємо пін із світлодіодом
pinMode(pinKey, INPUT_PULLUP);//налаштовуємо пін із кнопкою як вхід з внутрішнім
//підтягувальним резистором
}
void loop(){
if(digitalRead(pinKey) == LOW && flag == 1){ //якщо кнопку натиснули
delay(30); //захист від брязкоту контактів
mode = !mode; //інвертуємо значення змінної mode
flag = 0; //вимикаємо можливість виконання умови оператора if
}
if(digitalRead(pinKey) == HIGH && flag == 0){ //якщо кнопку натиснули
delay(30); //захист від брязкоту контактів
flag = 1; //відновлюємо прапор, під час розмикання кнопки
}
digitalWrite(pinLed,mode); //запалюємо світлодіод згідно стану mode
}