#define ECHO_PIN 5
#define TRIG_PIN 4
#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPLYuF7OfiQ"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = "-egbrHTDs8JH3ZGm2_OYQscM6mg0MkIS";
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
int r, g, y;
//BlynkTimer timer;
void setup() {
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(14, OUTPUT);
}
float readDistanceCM() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int duration = pulseIn(ECHO_PIN, HIGH);
return duration * 0.034 / 2;
}
void loop() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int duration = pulseIn(ECHO_PIN, HIGH);
float distance = duration * 0.034 / 2;
Blynk.virtualWrite(V3, distance);
Serial.print("Jarak: ");
Serial.println(distance);
if(distance >100){
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
digitalWrite(14, LOW);
r = 0;
y = 0;
g = 1;
Serial.println("Aman");
} else if (distance <100 && distance >= 50){
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
digitalWrite(14, LOW);
r = 0;
y = 1;
g = 0;
Serial.println("Siaga");
} else if (distance <50) {
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(14, HIGH);
r = 1;
y = 0;
g = 0;
Serial.println("Banjir");
}
Blynk.virtualWrite(V4, r);
Blynk.virtualWrite(V5, y);
Blynk.virtualWrite(V6, g);
delay(100);
}