#include "DHT.h"
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define DHTPIN 2
#define DHTTYPE DHT22
#define led1 13
#define led2 12
#define led3 11
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
lcd.init();
lcd.backlight();
Serial.begin(9600);
lcd.setCursor(0,0);
lcd.print("Temperature &");
lcd.setCursor (8,1);
lcd.print("Humidity");
delay(2000);
lcd.clear();
dht.begin();
}
void loop() {
delay(1000);
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t) ) {
Serial.println("Failed to read from DHT sensor!");
return;
}
if (t > 40)
{
lcd.clear();
digitalWrite(led3, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led1, LOW);
lcd.print("Temp : ");
lcd.print(t);
lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Hum : ");
lcd.print(h);
lcd.print("%");
lcd.setCursor(0,2);
}
if(t <= 40)
{
lcd.clear();
digitalWrite(led3, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led1, LOW);
lcd.print("Temp : ");
lcd.print(t);
lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Hum : ");
lcd.print(h);
lcd.print("%");
lcd.setCursor(0,2);
}
if (t <= 25)
{
lcd.clear();
digitalWrite(led3, LOW);
digitalWrite(led2, LOW);
digitalWrite(led1, HIGH);
lcd.print("Temp : ");
lcd.print(t);
lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Hum : ");
lcd.print(h);
lcd.print("%");
lcd.setCursor(0,2);
}
Serial.print("Temperature: ");
Serial.print(t );
Serial.print(" C\t");
Serial.print("Humidity: ");
Serial.print(h);
Serial.println(" %");
}