#define BLYNK_TEMPLATE_ID "TMPL6bG1F4hxQ"
#define BLYNK_TEMPLATE_NAME "Wokwi DHT22"
#define BLYNK_AUTH_TOKEN "-ePZN9j_E-WcC_D3h_Cu-aUyBltITJVW"
//Include the library files
#include <LiquidCrystal_I2C.h>
#include <BlynkSimpleEsp32.h>
#define BLYNK_PRINT Serial
//Init the LCD Display
LiquidCrystal_I2C lcd(0x27, 16,2);
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
//define component pins
#define trigPin 18
#define echoPin 5
#define ledRed 13
#define buzzer 4
void setup()
{
Serial.begin(115200);
lcd.init();
lcd.setBacklight(HIGH);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledRed, OUTPUT);
pinMode(buzzer, OUTPUT);
Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
//Call the functions
timer.setInterval(100L, ultrasonic);
}
//Get the Ultrasonic value
void ultrasonic()
{
digitalWrite(trigPin, LOW);
delayMicroseconds(4);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
long duration = pulseIn(echoPin, HIGH);
float distance = duration * 0.034/2;
Blynk.virtualWrite(V0, distance);
lcd.setCursor(0,0);
lcd.print("Tinggi Air:");
lcd.print(distance);
lcd.setCursor(0,1);
if(distance < 10 )
{
lcd.setCursor(0,1);
lcd.print("AMAN ");
digitalWrite(ledRed, LOW);
digitalWrite(buzzer, LOW);
}
else if(distance >=10 && distance < 50 )
{
lcd.setCursor(0,1);
lcd.print("SIAGA ");
digitalWrite(ledRed, LOW);
delay(1000);
digitalWrite(ledRed, HIGH);
delay(1000);
digitalWrite(buzzer, LOW);
}
else if(distance > 50 )
{
lcd.setCursor(0,1);
lcd.print("WASPADA ");
digitalWrite(ledRed, LOW);
delay(150);
digitalWrite(ledRed, HIGH);
delay(150);
digitalWrite(buzzer, HIGH);
}
}
void loop()
{
Blynk.run();
timer.run();
}