#define BLYNK_TEMPLATE_ID "TMPL3g8NOyuBL"
#define BLYNK_TEMPLATE_NAME "WATER MANAGEMENT"
#define BLYNK_AUTH_TOKEN "keuIMDdFF9hQOue1x8ntz3OuNTInBbD0"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
//Your wifi credentials
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
// This function is called every time the Virtual Pin 0 state changes
BLYNK_WRITE(V0)
{
// Set incoming value from pin V0 to a variable
int value = param.asInt();
// Update state
Blynk.virtualWrite(V1, value);
}
// This function is called every time the device is connected to the Blynk.Cloud
BLYNK_CONNECTED()
{
// Change Web Link Button message to "Congratulations!"
Blynk.setProperty(V3, "offImageUrl", "https://static-image.nyc3.cdn.digitaloceanspaces.com/general/fte/congratulations.png");
Blynk.setProperty(V3, "onImageUrl", "https://static-image.nyc3.cdn.digitaloceanspaces.com/general/fte/congratulations_pressed.png");
Blynk.setProperty(V3, "url", "https://docs.blynk.io/en/getting-started/what-do-i-need-to-blynk/how-quickstart-device-was-made");
}
// This function sends Arduino's uptime every second to Virtual Pin 2.
void myTimerEvent()
{
// You can send any value at any time.
// Please don't send more that 10 values per second.
Blynk.virtualWrite(V2, millis() / 1000);
}
#define trigerpin 16
#define echopin 17
#define buzzer 5
float distance, duration;
void setup() {
// put your setup code here, to run once:
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
pinMode(trigerpin, OUTPUT);
pinMode(echopin, INPUT);
Serial.begin(115200);
}
void loop(){
digitalWrite(trigerpin, LOW);
delay(2);
digitalWrite(trigerpin, HIGH);
delay(10);
digitalWrite(trigerpin, LOW);
duration=pulseIn(echopin,HIGH);
distance=duration/2*0.034;
Serial.print("distance (in cm)=");
Serial.println(distance);
if (distance<30){
digitalWrite(buzzer, HIGH);
delay(1000);
}
else{
digitalWrite(buzzer,LOW);
delay(500);
}
}