#define BLYNK_TEMPLATE_ID "TMPL3qNs3lxX3"
#define BLYNK_TEMPLATE_NAME "water monitoring system"
#define BLYNK_AUTH_TOKEN "bSEWIAKXOETgsI9PjCeoSxeCsusnpCP4"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 13
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

char auth[] = BLYNK_AUTH_TOKEN;

BlynkTimer timer;


#define pin 34
#define pin1 33
#define pin2 32
#define sound 0.034


void sendSensor1(){
  int sensorValue = analogRead(pin);
    float voltage = sensorValue * (5.0 / 1024.0);
      Blynk.virtualWrite(V2,voltage);
        Serial.println ("Sensor Output (V):");
          Serial.println (voltage);
            if(voltage>=15){
              Serial.println ("Good");
                  Blynk.virtualWrite(V3,"Good");
                    }
                      else if(voltage>8&&voltage<=15){
                        Serial.println ("50% good");
                            Blynk.virtualWrite(V3,"bad");
                              }else{
                                Serial.println("Bad");
                                  Serial.println();
                                         Blynk.virtualWrite(V3,"too bad");
                                           } delay(500);
                                            
                                             
                                               delay(500);
                                               }
                                               void sendSensor()
                                               {
                                                 sensors.requestTemperatures(); 
                                                   
                                                     Serial.print("Celsius temperature: ");
                                                       
                                                         Serial.print(sensors.getTempCByIndex(0)); 
                                                           Serial.print(" - Fahrenheit temperature: ");
                                                             Serial.println(sensors.getTempFByIndex(0));
                                                               int tempC=sensors.getTempCByIndex(0);
                                                                 int tempF=sensors.getTempFByIndex(0);
                                                                   delay(500);
                                                                     
                                                                         Blynk.virtualWrite(V0, tempC);
                                                                             Blynk.virtualWrite(V1, tempF);
                                                                                   if(tempC>=27&&tempC<=31)
                                                                                         Blynk.virtualWrite(V5,"Normal");
                                                                                               else if(tempC>=27)
                                                                                                      Blynk.virtualWrite(V5, "Hot");
                                                                                                             else if(tempC>=18)
                                                                                                                     Blynk.virtualWrite(V5, "Medium");
                                                                                                                             else
                                                                                                                                     Blynk.virtualWrite(V5, "Cold");
                                                                                                                                         delay(500);
                                                                                                                                         }
                                                                                                                                         void sendSensor2()
                                                                                                                                         {
                                                                                                                                           
                                                                                                                                           digitalWrite(pin1,1);
                                                                                                                                           delayMicroseconds(10);

                                                                                                                                           digitalWrite(pin1,0);
                                                                                                                                               long s= pulseIn(pin2,1);
                                                                                                                                                 float  d=(s*sound)/2;
                                                                                                                                                     Serial.println("distance");
                                                                                                                                                         Serial.println(d);
                                                                                                                                                             Blynk.virtualWrite(V4, d);
                                                                                                                                                                 if(d>0&&d<=5)
                                                                                                                                                                       Blynk.virtualWrite(V6,"LOW");
                                                                                                                                                                             else if(d>=7&&d<=8)
                                                                                                                                                                                    Blynk.virtualWrite(V6, "FULL");
                                                                                                                                                                                           else if(d>11)
                                                                                                                                                                                                   Blynk.virtualWrite(V6, "Error");
                                                                                                                                                                                                           else
                                                                                                                                                                                                                   Blynk.virtualWrite(V6, "Empty");
                                                                                                                                                                                                                       delay(500);
                                                                                                                                                                                                                       }

                                                                                                                                                                                                                    
                                                                                                                                                                                                                       void setup()
                                                                                                                                                                                                                       {   
                                                                                                                                                                                                                       pinMode(pin1,OUTPUT);
                                                                                                                                                                                                                       pinMode(pin2,INPUT);
                                                                                                                                                                                                                          Serial.begin(9600);
                                                                                                                                                                                                                            sensors.begin();
                                                                                                                                                                                                                              Blynk.begin(auth, "Mohan","12345678");
                                                                                                                                                                                                                                timer.setInterval(100L, sendSensor);
                                                                                                                                                                                                                                  timer.setInterval(100L, sendSensor1);
                                                                                                                                                                                                                                    timer.setInterval(100L, sendSensor2);
                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                      void loop()
                                                                                                                                                                                                                                      {
                                                                                                                                                                                                                                        Blynk.run();
                                                                                                                                                                                                                                          timer.run();
                                                                                                                                                                                                                                           }
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
ultrasonic1:VCC
ultrasonic1:TRIG
ultrasonic1:ECHO
ultrasonic1:GND
Loading
ds18b20
r1:1
r1:2