#include <WiFi.h>
// Pin
const int trigPin = 13; // Pin untuk TRIG
const int echoPin = 14; // Pin untuk ECHO
const int redLEDPin = 18; // LED Merah
const int greenLEDPin = 5; // LED Hijau
// Ambang ketinggian air (dalam cm)
const int floodThreshold = 50;
// Pembolehubah
long duration;
float distance;
void setup() {
Serial.begin(115200);
// Set pin
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(redLEDPin, OUTPUT);
pinMode(greenLEDPin, OUTPUT);
}
void loop() {
// Mengukur ketinggian air
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2; // Dalam cm
// Print data ke monitor serial
Serial.print("Ketinggian air: ");
Serial.print(distance);
Serial.println(" cm");
// Periksa jika ketinggian air melebihi ambang
if (distance < floodThreshold) {
digitalWrite(redLEDPin, HIGH); // Hidupkan LED Merah
digitalWrite(greenLEDPin, LOW); // Matikan LED Hijau
Serial.println("Bahaya: Ketinggian air tinggi!");
} else {
digitalWrite(redLEDPin, LOW); // Matikan LED Merah
digitalWrite(greenLEDPin, HIGH); // Hidupkan LED Hijau
}
delay(2000); // Kelewatan untuk pengukuran seterusnya
}