// for ESP8266 NodeMCU board
/*
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define trig D3
#define echo D4
#define relay D5
*/
// for ESP32 board
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#define trig 19
#define echo 18
#define relay 5
#define BLYNK_TEMPLATE_ID "TMPLTfE6Z75K"
#define BLYNK_DEVICE_NAME "water level"
#define BLYNK_AUTH_TOKEN "t9-3mS9HMA7CVIcT9ZXNM1gwPPsTrY_t"
#define BLYNK_PRINT Serial
char auth[] = BLYNK_AUTH_TOKEN;//Enter your Auth token
char ssid[] = "Wokwi-GUEST";//Enter your WIFI name
char pass[] = "";//Enter your WIFI password
void setup() {
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(relay, OUTPUT);
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
digitalWrite(relay, HIGH);
}
void loop() {
Blynk.run();
Wlevel();
}
void Wlevel() {
digitalWrite(trig, LOW);
delayMicroseconds(4);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
long t = pulseIn(echo, HIGH);
long temp = t / 29 / 2;
long cm = map(temp, 0, 100, 100, 0);
if (cm < 5) {digitalWrite(relay, LOW);}
else if (cm > 90) {digitalWrite(relay, HIGH);}
if(digitalRead(relay)){
Serial.print("Motor is OFF");
Blynk.virtualWrite(V0, 0);
}
else{
Serial.print("Motor is ON");
Blynk.virtualWrite(V0, 1);
}
Serial.print(" - Water full % = ");
Serial.println(cm);
Blynk.virtualWrite(V1, cm);
}