const int pinLEDmerah = 2;
const int pinLEDkuning = 3;
const int pinLEDhijau = 4;
const int pinTombol1 = 10;
const int pinTombol2 = 11;
const int pinTombol3 = 12;
const int pinTombolSemua = 13; // Tambahkan pin untuk tombol semua
int stateLEDmerah = LOW;
int stateLEDkuning = LOW;
int stateLEDhijau = LOW;
void setup() {
pinMode(pinLEDmerah, OUTPUT);
pinMode(pinLEDkuning, OUTPUT);
pinMode(pinLEDhijau, OUTPUT);
pinMode(pinTombol1, INPUT_PULLUP);
pinMode(pinTombol2, INPUT_PULLUP);
pinMode(pinTombol3, INPUT_PULLUP);
pinMode(pinTombolSemua, INPUT_PULLUP); // Tambahkan pin sebagai input pull-up
}
void loop() {
if (digitalRead(pinTombol1) == LOW) {
delay(50); // Debouncing
if (digitalRead(pinTombol1) == LOW) {
stateLEDmerah = !stateLEDmerah;
digitalWrite(pinLEDmerah, stateLEDmerah);
while (digitalRead(pinTombol1) == LOW) {} // Tunggu tombol dilepas
}
}
if (digitalRead(pinTombol2) == LOW) {
delay(50); // Debouncing
if (digitalRead(pinTombol2) == LOW) {
stateLEDkuning = !stateLEDkuning;
digitalWrite(pinLEDkuning, stateLEDkuning);
while (digitalRead(pinTombol2) == LOW) {} // Tunggu tombol dilepas
}
}
if (digitalRead(pinTombol3) == LOW) {
delay(50); // Debouncing
if (digitalRead(pinTombol3) == LOW) {
stateLEDhijau = !stateLEDhijau;
digitalWrite(pinLEDhijau, stateLEDhijau);
while (digitalRead(pinTombol3) == LOW) {} // Tunggu tombol dilepas
}
}
if (digitalRead(pinTombolSemua) == LOW) {
delay(50); // Debouncing
if (digitalRead(pinTombolSemua) == LOW) {
// Mengubah status semua lampu
stateLEDmerah = !stateLEDmerah;
stateLEDkuning = !stateLEDkuning;
stateLEDhijau = !stateLEDhijau;
// Mengatur status semua lampu sesuai dengan perubahan status
digitalWrite(pinLEDmerah, stateLEDmerah);
digitalWrite(pinLEDkuning, stateLEDkuning);
digitalWrite(pinLEDhijau, stateLEDhijau);
while (digitalRead(pinTombolSemua) == LOW) {} // Tunggu tombol dilepas
}
}
}