#include "DHT.h"
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
#define DHTPIN 2
#define DHTTYPE DHT22
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
DHT dht(DHTPIN, DHTTYPE);
void setup() {
lcd.init();
lcd.backlight();
lcd.begin(20, 4);
Serial.begin(9600);
dht.begin();
}
void loop() {
float h, t, f;
t = dht.readTemperature();
f = dht.readTemperature(true);
h = dht.readHumidity();
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
lcdMonitor(h, t, f);
}
void lcdMonitor(float h, float t, float f)
{
lcd.setCursor(0, 0);
lcd.print("Humidity: ");
lcd.print(h);
lcd.setCursor(0, 1);
lcd.print("Temperature: ");
lcd.print(t);
lcd.setCursor(0, 2);
lcd.print("Temp (F): ");
lcd.print(f);
}