// set pin numbers const int buttonPin = 4; // the number of the pushbutton pin const int ledPin = 5; // the number of the LED pin // variable for storing the pushbutton status int buttonState = 0; bool light_on = false; bool handled = false; void setup() { Serial.begin(115200); // initialize the pushbutton pin as an input pinMode(buttonPin, INPUT); // initialize the LED pin as an output pinMode(ledPin, OUTPUT); } void loop() { // read the state of the pushbutton value buttonState = digitalRead(buttonPin); // check if the pushbutton is pressed. if (buttonState == HIGH) { if (!handled) { Serial.println("Handling button pressed."); light_on = !light_on; handled = true; digitalWrite(ledPin, light_on ? HIGH : LOW); } // turn LED on } else { if (handled) { Serial.println("Reset button handled state."); handled = false; } } }