const int pinTombol = 3;
const int pinLED = 2;
int statusLED = LOW;
int statusTombol;
int statusTombolTerakhir = HIGH;
unsigned long waktuDebounceTerakhir = 0;
unsigned long delayDebounce = 50;
void setup() {
pinMode(pinTombol, INPUT);
pinMode(pinLED, OUTPUT);
digitalWrite(pinLED, statusLED);
}
void loop() {
int bacaan = digitalRead(pinTombol);
if (bacaan != statusTombolTerakhir) {
waktuDebounceTerakhir = millis();
}
if ((millis() - waktuDebounceTerakhir) > delayDebounce) {
if (bacaan != statusTombol) {
statusTombol = bacaan;
if (statusTombol == LOW) {
statusLED = !statusLED;
}
}
}
digitalWrite(pinLED, statusLED);
statusTombolTerakhir = bacaan;
}