#define BLYNK_TEMPLATE_ID "TMPL6MHVQ4Qox"
#define BLYNK_TEMPLATE_NAME "IOT HOME AUTOMATION"
#define BLYNK_AUTH_TOKEN "YKZntyR4L9_XsfZDu5KhzJixGF8YRocT"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN;
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2);
#include "DHT.h"
#define DHTPIN 27
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
DHT dht(DHTPIN, DHTTYPE);
void sendSensor(){
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
// Check if any reads failed and exit early (to try again).
if (isnan(temperature) || isnan(humidity)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
Serial.print(F("Humidity: "));
Serial.print(humidity);
Serial.print(F("% Temperature: "));
Serial.print(temperature);
Serial.println(F("°C "));
LCD.clear();
LCD.setCursor(0, 0);
LCD.print("Humid: ");
LCD.print(humidity);
LCD.print(" % ");
LCD.setCursor(0, 1);
LCD.print("Temp: ");
LCD.print(temperature);
LCD.print(" C");
Blynk.virtualWrite(V1, temperature);
Blynk.virtualWrite(V2, humidity);
}
void setup() {
// put your setup code here, to run once:
pinMode(5,OUTPUT);
pinMode(12,OUTPUT);
dht.begin();
Serial.begin(115200);
LCD.init();
LCD.backlight();
LCD.setCursor(0, 0);
LCD.print("IOT HOME");
LCD.setCursor(3, 1);
LCD.print("SOLUTION");
delay (4000);
LCD.clear();
Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
// Setup a function to be called every second
timer.setInterval(1000L, sendSensor);
}
void loop() {
Blynk.run();
timer.run();
}