#define TRIGGER_PIN 2
#define ECHO_PIN 3
#define LED_HIJAU 4
#define LED_KUNING 5
#define LED_MERAH 6
#define BATAS_TINGGI_AIR_MERAH 50
#define BATAS_TINGGI_AIR_KUNING 100
void setup() {
Serial.begin(9600);
pinMode(TRIGGER_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(LED_HIJAU, OUTPUT);
pinMode(LED_KUNING, OUTPUT);
pinMode(LED_MERAH, OUTPUT);
}
void loop() {
long duration, distance;
digitalWrite(TRIGGER_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
if (distance < BATAS_TINGGI_AIR_MERAH) {
digitalWrite(LED_HIJAU, LOW);
digitalWrite(LED_KUNING, LOW);
digitalWrite(LED_MERAH, HIGH);
Serial.println("KONDISI BAHAYA");
} else if (distance < BATAS_TINGGI_AIR_KUNING) {
digitalWrite(LED_HIJAU, LOW);
digitalWrite(LED_KUNING, HIGH);
digitalWrite(LED_MERAH, LOW);
Serial.println("KONDISI SIAGA");
} else {
digitalWrite(LED_HIJAU, HIGH);
digitalWrite(LED_KUNING, LOW);
digitalWrite(LED_MERAH, LOW);
Serial.println("KONDISI AMAN");
}
delay(1000);
}