#define merah 8
#define kuning 7
#define hijau 6
#define trig 3
#define echo 2
void setup() {
Serial.begin(115200);
pinMode(merah, OUTPUT);
pinMode(kuning, OUTPUT);
pinMode(hijau, OUTPUT);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
}
float readDistanceCM(){
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
int duration = pulseIn(echo, HIGH);
return duration * 0.034/2;
}
void loop() {
float distance = readDistanceCM();
if(distance <= 100){
digitalWrite(merah, HIGH);
digitalWrite(kuning, LOW);
digitalWrite(hijau, LOW);
Serial.println("Awas Banjir!");
}
else if(distance > 100 && distance <= 200){
digitalWrite(merah, LOW);
digitalWrite(kuning, HIGH);
digitalWrite(hijau, LOW);
Serial.println("waspada!");
}
if(distance > 200){
digitalWrite(merah, LOW);
digitalWrite(kuning, LOW);
digitalWrite(hijau, HIGH);
Serial.println("Aman, Silahkan Lewat");
}
delay(1000);
}