// 1) Jika tombol hijau ditekan dan ditahan (tetap ditekan) lampu hijau ikut menyala, bila tombol hijau dilepas lampu hijau mati
// 2) Jika tombol biru ditekan 1x (tidak ditahan), lampu biru menyala. Jika ditekan 1x lagi lampu biru mati
const int buttonHijau = 12;
const int ledHijau = 2;
const int buttonBiru = 11;
const int ledBiru = 3;
bool ledStateBiru = false;
bool lastButtonState = HIGH;
void setup() {
pinMode(buttonHijau, INPUT);
pinMode(ledHijau, OUTPUT);
pinMode(buttonBiru, INPUT);
pinMode(ledBiru, OUTPUT);
digitalWrite(ledBiru, LOW);
}
void loop() {
int buttonStateHijau = digitalRead(buttonHijau);
int buttonStateBiru = digitalRead(buttonBiru);
if (buttonStateHijau == HIGH) {
digitalWrite(ledHijau, HIGH);
} else {
digitalWrite(ledHijau, LOW);
}
if (buttonStateBiru == HIGH && lastButtonState == LOW) {
delay(50); // Debounce
if (digitalRead(buttonBiru) == HIGH) {
ledStateBiru = !ledStateBiru;
digitalWrite(ledBiru, ledStateBiru ? HIGH : LOW);
}
}
lastButtonState = buttonStateBiru;
}