unsigned long State;
unsigned long lastState = LOW;
unsigned long lastTimeforchange = 0;
unsigned long debounceDelay = 10;
void setup() {
pinMode(8, INPUT_PULLUP);
pinMode(4, OUTPUT);
}
void loop() {
int Read = digitalRead(8);
if (Read != lastState) {
lastTimeforchange = millis();
}
if ((millis() - lastTimeforchange) > debounceDelay) {
if (Read != State) {
State =Read;
if (State == HIGH) {
digitalWrite(4, !digitalRead(4));
}
}
}
lastState = Read;
}