#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Wi-Fi credentials
char auth[] = "wjxFvIQevcuEhuYSSECQZqhnRxbU7YWl";
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
// DHT22 sensor pin and type
#define DHT_PIN 2
#define DHT_TYPE DHT22
DHT dht(DHT_PIN, DHT_TYPE);
// LCD display settings
#define LCD_ADDR 0x27
#define LCD_COLS 16
#define LCD_ROWS 2
LiquidCrystal_I2C lcd(LCD_ADDR, LCD_COLS, LCD_ROWS);
// Blynk virtual pin
#define VIRTUAL_PIN_TEMP V1
#define VIRTUAL_PIN_HUMIDITY V2
void setup() {
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
dht.begin();
lcd.begin(LCD_COLS, LCD_ROWS);
}
void loop() {
Blynk.run();
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
// Print temperature and humidity on the LCD display
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(humidity);
lcd.print("%");
// Send temperature and humidity to Blynk
Blynk.virtualWrite(VIRTUAL_PIN_TEMP, temperature);
Blynk.virtualWrite(VIRTUAL_PIN_HUMIDITY, humidity);
delay(2000); // Delay between readings
}