#define BLYNK_TEMPLATE_ID "TMPL3YCdR-TsU"
#define BLYNK_TEMPLATE_NAME "Environment"
#define BLYNK_AUTH_TOKEN "hxY43rR6kr4Frs4BGMtTP-xSqKJRqx59"
#define BLYNK_PRINT Serial
#include <DHT.h>
#include <LiquidCrystal_I2C.h>
#include <BlynkSimpleEsp32.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
//Constants:
#define DHTPIN 2
#define DHTTYPE DHT22
#define light 25
DHT dht(DHTPIN, DHTTYPE);
char auth[]=BLYNK_AUTH_TOKEN;
char ssid[]="WOKWI-GUEST";
char pass[]="";
//Variables:
float H; //Humidity value
float T; //Temperature value
void sendSensorData()
{
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (isnan(temperature) || isnan(humidity))
{
Serial.println("Failed to read from DHT sensor");
return;
}
Blynk.virtualWrite(V1, temperature); // Send temperature to Blynk Virtual Pin V5
Blynk.virtualWrite(V2, humidity); // Send humidity to Blynk Virtual Pin V6
// Send light level to Blynk Virtual Pin V7
}
void setup() {
lcd.init();
lcd.backlight();
Blynk.begin(auth,ssid,pass);
dht.begin();
pinMode(light,OUTPUT);
Serial.begin(9600);
Serial.println("DHT22 sensor with Arduino Uno R3!");
}
void loop() {
Blynk.run();
delay(2000);
H = dht.readHumidity();
T = dht.readTemperature();
Serial.print("Humidity: ");
Serial.print(H);
Serial.println(" %; ");
Serial.print("Temperature: ");
Serial.print(T);
Serial.println(" Celsius.\n");
if (H >= 70.00 && T >= 30.00) {
digitalWrite(light,HIGH);
lcd.println(" Too warm! ");
lcd.setCursor(0, 1);
lcd.println(" Cool down! ");
lcd.setCursor(0, 0);
delay(2000);
digitalWrite(light,LOW);
} else {
lcd.println("Temp. & hum. are");
lcd.setCursor(0, 1);
lcd.println("in normal limits");
lcd.setCursor(0, 0);
}
if (H < 70.00 && T >= 30.00) {
lcd.println("Be ware! ");
lcd.setCursor(0, 1);
lcd.println("Temp. too high! ");
lcd.setCursor(0, 0);
}
if (H >= 70.00 && T < 30.00) {
lcd.println("Be ware!" );
}
}