#include "DHTesp.h"
#include <LiquidCrystal_I2C.h>
DHTesp dhtSensor;
LiquidCrystal_I2C lcd(0x27,16,2);
uint8_t heart[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000,
};
void setup() {
Serial.begin(115200);
dhtSensor.setup(15,DHTesp::DHT22);
lcd.init();
lcd.createChar(3, heart);
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("System Ready");
delay (2000);
lcd.clear();
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
if (isnan(data.temperature) || isnan (data.humidity)){
lcd.setCursor(0,0);
lcd.print("Sensor Error");
delay(2000);
return;
}
lcd.setCursor(1,1);
lcd.print("Temp: ");
lcd.print(data.temperature, 1);
lcd.print(" C");
lcd.setCursor(1,1);
lcd.print("Humidity: ");
lcd.print (data.humidity, 1);
lcd.print(" %");
if (data.temperature > 35){
lcd.setCursor(1,2);
lcd.print("");
lcd.setCursor(1,2);
lcd.print("Very hot!");
} else {
lcd.setCursor(1,2);
lcd.print("");
lcd.setCursor(1,2);
lcd.print("Normal! \x03 ");
}
delay(500);
}