#define LED_UNGU 8 // Mendefinisikan pin 10 untuk LED hijau
#define LED_BIRU 9 // Mendefinisikan pin 11 untuk LED biru
#define LED_HIJAU 10 // Mendefinisikan pin 12 untuk LED merah
#define TOMBOL 4 // Mendefinisikan pin 7 untuk tombol
int status = 0; // Variabel untuk melacak jumlah penekanan tombol
void setup() {
// Mengatur pin LED sebagai output dan tombol sebagai input
pinMode(LED_UNGU, OUTPUT);
pinMode(LED_BIRU, OUTPUT);
pinMode(LED_HIJAU, OUTPUT);
pinMode(TOMBOL, INPUT); // Tombol sebagai input (tanpa pull-up)
// Memulai dengan semua LED dalam kondisi mati
digitalWrite(LED_UNGU, LOW);
digitalWrite(LED_BIRU, LOW);
digitalWrite(LED_HIJAU, LOW);
}
void loop() {
// Mengecek apakah tombol ditekan (HIGH berarti tombol ditekan)
if (digitalRead(TOMBOL) == HIGH) {
status++; // Menambah nilai status setiap kali tombol ditekan
delay(100); // Menambahkan sedikit delay untuk debounce
}
// Jika tombol ditekan satu kali
if (status == 1) {
digitalWrite(LED_UNGU, HIGH); // Menyalakan LED hijau
delay(200); // Tambahan delay
}
// Jika tombol ditekan dua kali
else if (status == 2) {
digitalWrite(LED_BIRU, HIGH); // Menyalakan LED biru
delay(200); // Tambahan delay
}
// Jika tombol ditekan tiga kali
else if (status == 3) {
digitalWrite(LED_HIJAU, HIGH); // Menyalakan LED merah
delay(200); // Tambahan delay
}
// Jika status di luar nilai 1, 2, atau 3 (semua lampu mati)
else {
// Mematikan semua LED
digitalWrite(LED_UNGU, LOW);
digitalWrite(LED_BIRU, LOW);
digitalWrite(LED_HIJAU, LOW);
}
}