const byte led = 9;
const byte button = 3;
boolean lastButton = LOW;
boolean currentButton = LOW;
boolean ledOn = false;
void setup() {
pinMode(led, OUTPUT);
pinMode(button, INPUT);
}
boolean debounce(boolean last)
{
boolean current = digitalRead(button);
if(lastButton != current)
{
delay(5);
current = digitalRead(button);
return current;
}
}
void loop()
{
currentButton = debounce(lastButton);
if(lastButton == LOW && currentButton == HIGH)
{
ledOn = !ledOn;
}
lastButton = currentButton;
digitalWrite(led, ledOn);
}