#include <EEPROM.h>
bool ledState = 0;
bool lastBtn, btnState;
long lastTime = 0;
void setup(){
Serial.begin(9600);
EEPROM.begin(1);
pinMode(2,OUTPUT); // led
pinMode(23,INPUT_PULLUP); // button
}
void loop(){
int readBtn = digitalRead(23);
if(readBtn != lastBtn)
{
lastTime = millis();
}
if(millis() - lastTime > 200)
{
if(readBtn != btnState)
{
btnState = !btnState;
if(btnState == 0)
{
ledState =! ledState;
}
}
}
lastBtn = readBtn;
if(digitalRead(2) != ledState)
{
digitalWrite(2,ledState);
EEPROM.write(0,ledState);
EEPROM.commit();
}
}