//libraries
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>;
// set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27,20,4);
//define Variables
#define DHTPIN 7 // what pin we're connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE); // Initialize DHT sensor for normal 16mhz Arduino
//define Variables
int chk;
float hum; //used to stores humidity value
float temp; //used to stores temperature value
void setup()
{
Serial.begin(9600); //serial monitor
dht.begin();
}
void loop()
{
delay(2000);
//Read data and store it to variables hum and temp
hum = dht.readHumidity();
temp= dht.readTemperature();
//Print temp and humidity values to serial monitor
lcd.init(); // initialize the lcd
lcd.init();
// Print messages of temperature and humidity value to the LCD.
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Temp: ");
lcd.setCursor(0,1);
lcd.print("Hum:");
lcd.setCursor(6,0);
lcd.print(temp);
lcd.setCursor(7,1);
lcd.print(hum);
lcd.setCursor(10,1);
lcd.print("%");
//estimarte the temperature
if(temp>30.0){
lcd.setCursor(12,0);
lcd.print("hot");
}else if(temp<15.0){
lcd.setCursor(12,0);
lcd.print("cold");
}else{
lcd.setCursor(12,0);
lcd.print("well");
}
// estimate the humidity
if(hum>70.0){
lcd.setCursor(12,1);
lcd.print("damp");
}else if(temp<30.0){
lcd.setCursor(12,1);
lcd.print("dry");
}else{
lcd.setCursor(12,1);
lcd.print("well");
}
}