const int LaserPin = 3;
const int ButtonPin = 4;
bool LaserState = false;
bool ButtonState = false;
void setup() {
pinMode(ButtonPin, INPUT_PULLUP);
pinMode(LaserPin, OUTPUT);
}
void loop() {
if (!ButtonState && digitalRead(ButtonPin)){ // Если кнопка нажата, а прошлый статус - 0
delay(10); // убеждаемся что это не шум
if (digitalRead(ButtonPin)){
LaserState = !LaserState; // меняем статус лазера
digitalWrite(LaserPin, LaserState); // устанавливаем
ButtonState = true; // запоминаем состояние кнопки
}
}
if(!digitalRead(ButtonPin) && ButtonState){ // Если кнопка опущена а ее статус 1 - меняем статус
ButtonState = false;
}
}