#define BLYNK_TEMPLATE_ID "TMPL3zSLp9nj0"
#define BLYNK_TEMPLATE_NAME "Water Level Monitoring"
#define BLYNK_AUTH_TOKEN "lNJoACQRpmfZzdWBIJ4RDoYjHb92rpp1"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#define BLYNK_PRINT Serial
BlynkTimer timer;
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";  // Enter your WiFi name
char pass[] = "";    // Enter your WiFi password
#define TRIG_PIN 22
#define ECHO_PIN 23
void setup() {
  Serial.begin(115200);
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
  timer.setInterval(1000L, sendDistance);
}
void loop() {
  Blynk.run();
  timer.run();
  sendDistance();
}
void sendDistance() {
  long duration;
  int distance;
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  duration = pulseIn(ECHO_PIN, HIGH);
  distance = (duration * 0.034 / 2);  // Calculate distance in cm
  //Serial.print("Distance: ");
 // Serial.print(distance);
 // Serial.println(" cm");
 int percentage=(distance/134)*100;
 Serial.println(percentage);
  Blynk.virtualWrite(V1, percentage); 
 // Blynk.virtualWrite(V0, distance);  // Send distance value to Blynk
}