const int buttonPin = 2;
const int led1Pin = 8;
const int led2Pin = 6;
int buttonState = HIGH;
int lastButtonState = HIGH;
int led1State = LOW;
int led2State = LOW;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
int clickCounter = 0;
void setup() {
pinMode(buttonPin, INPUT);
pinMode(led1Pin, OUTPUT);
digitalWrite(led1Pin, led1State);
digitalWrite(led2Pin, led2State);
}
void loop() {
int reading = digitalRead(buttonPin);
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonState) {
buttonState = reading;
if (buttonState == LOW) {
clickCounter++;
if (clickCounter == 1) {
led1State = HIGH;
led2State = LOW;
} else if (clickCounter == 2) {
led1State = LOW;
led2State = HIGH;
}else if (clickCounter == 3) {
led1State = HIGH;
led2State = HIGH;
}else if (clickCounter == 4) {
led1State = LOW;
led2State = LOW;
}
if (clickCounter > 4) {
clickCounter = 0; // Reset clickCounter setelah keempat klik
}
digitalWrite(led1Pin, led1State);
digitalWrite(led2Pin, led2State);
}
}
}
lastButtonState = reading;
}