const int led1Pin = 5;
const int led2Pin = 6;
const int led3Pin = 7;
const int buttonPin = 2;
int mode = 0; // Variabel untuk menyimpan pilihan mode
int lastButtonState = LOW; // Menyimpan status tombol sebelumnya
void setup() {
// Atur pin LED sebagai OUTPUT
pinMode(led1Pin, OUTPUT);
pinMode(led2Pin, OUTPUT);
pinMode(led3Pin, OUTPUT);
// Atur pin tombol sebagai INPUT
pinMode(buttonPin, INPUT);
Serial.begin(9600); // Memulai komunikasi serial untuk monitoring
}
void loop() {
int buttonState = digitalRead(buttonPin);
// Logika untuk mendeteksi tombol ditekan (mengubah mode dari 0 ke 3)
if (buttonState == HIGH && lastButtonState == LOW) {
mode++;
if (mode > 3) {
mode = 0; // Kembali ke mode 0 jika sudah mencapai mode 3
}
delay(200); // Debounce sederhana untuk menghindari pembacaan ganda
}
lastButtonState = buttonState;
// Struktur Switch Case
switch (mode) {
case 0:
// Semua LED Mati
digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, LOW);
digitalWrite(led3Pin, LOW);
Serial.println("Mode 0: Semua LED Mati");
break;
case 1:
// LED 1 Menyala
digitalWrite(led1Pin, HIGH);
digitalWrite(led2Pin, LOW);
digitalWrite(led3Pin, LOW);
Serial.println("Mode 1: LED 1 Nyala");
break;
case 2:
// LED 2 Menyala
digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, HIGH);
digitalWrite(led3Pin, LOW);
Serial.println("Mode 2: LED 2 Nyala");
break;
case 3:
// LED 3 Menyala
digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, LOW);
digitalWrite(led3Pin, HIGH);
Serial.println("Mode 3: LED 3 Nyala");
break;
default:
// Jika mode tidak ada di case 0-3
digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, LOW);
digitalWrite(led3Pin, LOW);
break;
}
}