#define PM A5 // Potensiometer di pin Analog A5
#define BUZ 11 // Pin buzzer di Digital 11
#define LED_COUNT 3 // Jumlah LED
// Pin LED yang akan digunakan
const int ledPins[LED_COUNT] = {10, 9, 8}; // Pin LED Merah, Kuning, Hijau
void setup() {
pinMode(PM, INPUT); // Set pin potensiometer sebagai input
pinMode(BUZ, OUTPUT); // Set pin buzzer sebagai output
// Set semua pin LED sebagai output
for (int i = 0; i < LED_COUNT; i++) {
pinMode(ledPins[i], OUTPUT);
}
Serial.begin(9600); // Mulai komunikasi serial
}
void loop() {
int nilaiADC = analogRead(PM); // Baca nilai dari potensiometer
int nilaiVAL = map(nilaiADC, 0, 1023, 0, 255); // Map nilai ADC ke rentang 0-255
Serial.print("Nilai Analog: ");
Serial.println(nilaiVAL);
// Matikan semua LED dan buzzer terlebih dahulu
for (int i = 0; i < LED_COUNT; i++) {
digitalWrite(ledPins[i], LOW);
}
digitalWrite(BUZ, LOW);
// Aktifkan LED dan buzzer berdasarkan rentang nilai ADC
if (nilaiVAL <= 100) {
digitalWrite(ledPins[0], HIGH); // LED Hijau menyala
}
else if (nilaiVAL <= 200) {
digitalWrite(ledPins[1], HIGH); // LED Kuning menyala
}
else {
digitalWrite(ledPins[2], HIGH); // LED Merah menyala
digitalWrite(BUZ, HIGH); // Buzzer menyala
}
delay(500); // Jeda 500 ms untuk stabilitas pembacaan
}