#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHT22);
#define Pemanas 6
#define Pendingin 5
#define Relay 7
#define Normal 2
LiquidCrystal_I2C lcd(0x27,20,4);
float hum;
float temp;
void setup() {
Serial.begin(9600);
dht.begin();
lcd.init();
lcd.backlight();
lcd.setCursor(2,1);
lcd.print("Informasi Kondisi");
lcd.setCursor(2,2);
lcd.print("Suhu & Kelembaban");
lcd.setCursor(8,2);
pinMode(Pemanas, OUTPUT);
pinMode(Pendingin, OUTPUT);
pinMode(Relay, OUTPUT);
pinMode(Normal, OUTPUT);
}
void loop() {
{
hum = dht.readHumidity();
temp = dht.readTemperature();
lcd.init();
lcd.backlight();
lcd.setCursor(2,0);
lcd.print("Informasi Kondisi");
//suhu
lcd.setCursor(0,2);
lcd.print("Suhu :");
lcd.setCursor(13,2);
lcd.print(temp);
lcd.setCursor(19,2);
lcd.print("C");
//kelembaban
lcd.setCursor(0,3);
lcd.print("Kelembaban :");
lcd.setCursor(13,3);
lcd.print(hum);
lcd.setCursor(19,3);
lcd.print("%");
//delay(500);
//lcd.clear();
}
{if (temp > 28 )
{lcd.setCursor(0,1);
lcd.print ("Kondisi Suhu Panas");
digitalWrite(Relay, HIGH);
digitalWrite(Pendingin, HIGH);
digitalWrite(Pemanas, LOW);
digitalWrite(Normal, LOW);
//delay(10000);
}
}
{if (temp < 23 )
{lcd.setCursor(0,1);
lcd.print ("Kondisi Suhu Dingin");
digitalWrite(Relay, HIGH);
digitalWrite(Pemanas, HIGH);
digitalWrite(Pendingin, LOW);
digitalWrite(Normal, LOW);
//delay(10000);
}}
if (temp >= 23.1 &&temp <= 28.1 )
{lcd.setCursor(0,1);
lcd.print ("Kondisi Suhu Normal");
digitalWrite(Relay, LOW);
digitalWrite(Pemanas, LOW);
digitalWrite(Pendingin, LOW);
digitalWrite(Normal, HIGH);
}}