// LED
const int ledHijau = 8;
const int ledKuning = 9;
const int ledMerah = 10;
// Tombol dan Potensiometer
const int tombol = 2;
const int potPin = A0;
bool modeAlarm = false;
void setup() {
pinMode(ledHijau, OUTPUT);
pinMode(ledKuning, OUTPUT);
pinMode(ledMerah, OUTPUT);
pinMode(tombol, INPUT_PULLUP);
}
void loop() {
// Aktifkan mode alarm jika tombol ditahan 5 detik
if (digitalRead(tombol) == LOW) {
unsigned long mulai = millis();
while (digitalRead(tombol) == LOW) {
if (millis() - mulai >= 5000) {
modeAlarm = !modeAlarm;
delay(500);
break;
}
}
}
// MODE ALARM
if (modeAlarm) {
digitalWrite(ledHijau, HIGH);
digitalWrite(ledKuning, HIGH);
digitalWrite(ledMerah, HIGH);
delay(300);
digitalWrite(ledHijau, LOW);
digitalWrite(ledKuning, LOW);
digitalWrite(ledMerah, LOW);
delay(300);
return;
}
// Baca potensiometer
int nilaiPot = analogRead(potPin);
// Matikan semua LED dulu
digitalWrite(ledHijau, LOW);
digitalWrite(ledKuning, LOW);
digitalWrite(ledMerah, LOW);
// Kondisi 1
if (nilaiPot < 300) {
digitalWrite(ledMerah, HIGH);
}
// Kondisi 2
else if (nilaiPot >= 300 && nilaiPot <= 700) {
digitalWrite(ledKuning, HIGH);
}
// Kondisi 3
else {
digitalWrite(ledHijau, HIGH);
}
delay(100);
}