// Deklarasi pin LED dan tombol
const int ledPin7 = 13;
const int ledPin8 = 12;
const int switchPin = 2;
// Variabel untuk melacak status tombol
int buttonState = HIGH;
int lastButtonState = HIGH;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
//int pressCount = 0;
void setup() {
pinMode(ledPin7, OUTPUT);
pinMode(ledPin8, OUTPUT);
pinMode(switchPin, INPUT_PULLUP); // Internal pull-up resistor
Serial.begin(9600);
}
void loop() {
// Baca status tombol dengan debounce
int reading = digitalRead(switchPin);
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonState) {
buttonState = reading;
// Tombol ditekan
if (buttonState == LOW) {
static int pressCount = 0;
pressCount++;
// Nyalakan LED sesuai dengan jumlah tekanan tombol
if (pressCount == 1) {
digitalWrite(ledPin7, HIGH);
//digitalWrite(ledPin8, LOW);
} else if (pressCount == 2) {
//digitalWrite(ledPin7, LOW);
digitalWrite(ledPin8, HIGH);
} else if (pressCount == 3) {
digitalWrite(ledPin7, LOW);
delay(1000); // Tunggu 1 detik
digitalWrite(ledPin8, LOW);
delay(1000); // Tunggu 1 detik
pressCount = 0;
}
Serial.print("Tombol ditekan ");
Serial.print(pressCount);
Serial.println(" kali.");
}
}
}
lastButtonState = reading;
}