#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "DHTesp.h"
const int LED_PIN = 2;
const int DHT_PIN = 12;
LiquidCrystal_I2C LCD(0x27, 16, 2);
DHTesp dhtSensor;
void setup() {
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
LCD.init();
LCD.backlight();
LCD.setCursor(0, 0);
LCD.print("Connecting...");
delay(10);
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
printToLCD("Temp: ", data.temperature, "C", 0, 0);
printToLCD("Humid: ", data.humidity, "%", 0, 1);
digitalWrite(LED_PIN, (data.temperature >= 40 || data.humidity >= 40) ? HIGH : LOW);
delay(10);
}
void printToLCD(const String& label, float value, const String& unit, int column, int row) {
LCD.setCursor(column, row);
LCD.print(label);
LCD.print(value, 2);
LCD.print(unit);
}