// Mendefinisikan pin GPIO untuk LED dan tombol
#define led1 33
#define led2 25
#define led3 26
#define button 19
int status = 0; // Variabel untuk menyimpan status
void setup() {
// Mengatur pin-pin sebagai input atau output
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(button, INPUT);
// Memastikan semua LED mati pada awalnya
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
}
void loop() {
// Mengecek apakah tombol ditekan
if(digitalRead(button) == HIGH){
status ++; // Increment status
delay(1000); // Menghindari bouncing pada tombol dengan memberikan jeda
}
// Memeriksa status dan menyalakan LED sesuai dengan status
if (status == 1){
digitalWrite(led1, HIGH);
}
else if(status == 2){
digitalWrite(led2, HIGH);
}
else if(status == 3){
digitalWrite(led3, HIGH);
}
else if(status == 4){
status = 0; // Reset status jika mencapai 4
}
else{
// Mematikan semua LED jika status tidak dalam rentang 1-3
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
}
}