#include "Wire.h"
#include "LiquidCrystal_I2C.h"
#include "DHTesp.h"
#include <WiFi.h>
const int DHT_PIN = 15;
DHTesp dhtSensor;
// Define the SDA and SCL pins for the I2C interface
const int SDA_PIN = 12;
const int SCL_PIN = 14;
// Initialize the LCD with the I2C address
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
// Initialize the I2C interface
Wire.begin(SDA_PIN, SCL_PIN);
// Initialize the LCD
lcd.init();
lcd.backlight();
Serial.begin(9600);
Serial.print("Connecting to WiFi");
WiFi.begin("Wokwi-GUEST", "", 6);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println(" Connected!");
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
// Display the temperature and humidity on the LCD
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(data.temperature, 2);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(data.humidity, 1);
lcd.print("%");
// Print the temperature and humidity to the serial monitor
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
Serial.println("---");
delay(1000);
}