const int LED = 9;
const int BUTTON = 2;
bool lastButton = LOW;
bool currentButton = HIGH;
bool ledOn = false;
void setup() {
Serial.begin(9600);
pinMode(LED, OUTPUT);
pinMode(BUTTON, INPUT);
}
bool debounce(bool last) {
bool current = digitalRead(BUTTON);
if (current != last) {
delay(5);
current = digitalRead(BUTTON);
return current;
}
}
void loop() {
currentButton = debounce(lastButton);
if (lastButton == LOW && currentButton == HIGH) {
ledOn = !ledOn;
}
lastButton = currentButton;
digitalWrite(LED, ledOn);
}