// Definisi pin
int InputPin = A1; //pin potensio
int ledMerah = 10; //pin LED merah
int ledBiru = 8; // pin LED Biru
int ledHijau = 9; // pin LED Hijau
//batas nilai potensio
int batasBawah = 350;
int batasTengah = 600;
void setup() {
// Mulai komunikasi serial untuk debugging
Serial.begin(9600);
// Inisialisasi pin LED sebagai output
pinMode(ledMerah, OUTPUT);
pinMode(ledBiru, OUTPUT);
pinMode(ledHijau, OUTPUT);
}
void loop() {
// Baca nilai potensiometer (0-1023)
int inputValue = analogRead(InputPin);
int state = 0; // Variabel untuk menentukan case
// Tentukan state berdasarkan rentang nilai
if (inputValue > 10 && inputValue < batasBawah) {
state = 1;
}
else if (inputValue > 350 && inputValue < batasTengah) {
state = 2;
}
else if (inputValue > batasTengah) {
state = 3;
}
else {
state = 0;
}
// Kontrol LED menggunakan switch-case
switch (state) {
case 3:
digitalWrite(ledMerah, HIGH);
digitalWrite(ledHijau, HIGH);
digitalWrite(ledBiru, HIGH);
break;
case 2:
digitalWrite(ledMerah, HIGH);
digitalWrite(ledHijau, HIGH);
digitalWrite(ledBiru, LOW);
break;
case 1:
digitalWrite(ledMerah, HIGH);
digitalWrite(ledHijau, LOW);
digitalWrite(ledBiru, LOW);
break;
default: // case 0
digitalWrite(ledMerah, LOW);
digitalWrite(ledHijau, LOW);
digitalWrite(ledBiru, LOW);
break;
}
// Tampilkan nilai potensiometer dan state di Serial Monitor
Serial.print("Potensiometer: ");
Serial.print(inputValue);
Serial.print(" | State: ");
Serial.println(state);
delay(100); // Stabilisasi pembacaan
}