#include <LiquidCrystal.h>
#include "DHT.h"
// LCD setup: (RS, EN, D4, D5, D6, D7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// DHT22 sensor setup
#define DHTPIN 7
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
lcd.begin(16, 2); // initialize LCD
lcd.print("Temp Logger");
delay(2000);
lcd.clear();
}
void loop() {
float temp = dht.readTemperature();
float hum = dht.readHumidity();
if (isnan(temp) || isnan(hum)) {
Serial.println("Sensor Error!");
lcd.setCursor(0,0);
lcd.print("Sensor Error! ");
delay(2000);
return;
}
// Serial output
Serial.print("Temp: ");
Serial.print(temp);
Serial.print(" °C, Hum: ");
Serial.print(hum);
Serial.println(" %");
// LCD output
lcd.setCursor(0,0);
lcd.print("Temp: ");
lcd.print(temp);
lcd.print((char)223); // Degree symbol
lcd.print("C ");
lcd.setCursor(0,1);
lcd.print("Hum: ");
lcd.print(hum);
lcd.print("% ");
delay(2000);
}