const int ledPin = 9; const int buttonPin = 5; int buttonState = HIGH; int ledState = LOW; int lastButtonState = HIGH; unsigned long lastDebounceTime = 0; unsigned long debounceDelay = 50; void setup() { // put your setup code here, to run once: pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT); // start with led off digitalWrite(ledPin, ledState); } void loop() { int reading = digitalRead(buttonPin); if (reading != lastButtonState) { lastDebounceTime = millis(); lastButtonState = reading; } if (millis() - lastDebounceTime > debounceDelay) { if (reading != buttonState) { buttonState = reading; if (buttonState == LOW) { ledState = !ledState; } } } digitalWrite(ledPin, ledState); }