/*************************************************************
This is a simple demo of sending and receiving some data.
Be sure to check out other examples!
*************************************************************/
/* Fill-in information from Blynk Device Info here */
#define BLYNK_TEMPLATE_ID "TMPL3v8IwaJOk"
#define BLYNK_TEMPLATE_NAME "Quickstart Device"
#define BLYNK_AUTH_TOKEN "YDh70XtNM3W9qkzHj0dD9tCH_WIKYVyJ"
/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 20, 2);
// Your WiFi credentials.
// Set password to "" for open networks.
// Set password to "" for open networks.
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
int led2=4;
int led1=2;
#include "DHTesp.h"
const int DHT_PIN = 15;
DHTesp dht;
void DHTSensor()
{
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
if (isnan(humidity) || isnan(temperature))
{
Serial.println("DHT Sensor not Found!");
}
else
{
Serial.print("Humidity:");
Serial.print(humidity);
Blynk.virtualWrite(V6,humidity);
Serial.print("%\t");
Serial.print("Temperature:");
Serial.print(temperature);
Blynk.virtualWrite(V5,temperature);
Serial.println("C");
}
}
// This function is called every time the Virtual Pin 0 state changes
BLYNK_WRITE(V0)// button V0
{
// Set incoming value from pin V0 to a variable
int value = param.asInt();
digitalWrite(led1,value);
// Update state
Blynk.virtualWrite(V1, value);//V1- value display 1-0
}
// This function is called every time the device is connected to the Blynk.Cloud
BLYNK_CONNECTED()// congratulation block V3
{
// 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);// uptime value display V2
}
void setup()
{
LCD.init();
LCD.backlight();
LCD.setCursor(0, 0);
LCD.print("Connecting to ");
LCD.setCursor(0, 1);
LCD.print("WiFi ");
// Debug console
dht.begin();
Serial.begin(115200);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);// optional
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
// You can also specify server:
//Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, "blynk.cloud", 80);
//Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, IPAddress(192,168,1,100), 8080);
// Setup a function to be called every second
timer.setInterval(1000L, myTimerEvent);
}
void loop()
{
Blynk.run();
timer.run();
DHTSensor();
}