#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 10
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHT22);
#define LED_MERAH 11
#define LED_HIJAU 12
LiquidCrystal_I2C lcd(0x27,20,4);
int chk;
float hum;
float temp;
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(LED_MERAH, OUTPUT);
pinMode(LED_HIJAU, OUTPUT);
}
void loop() {
hum = dht.readHumidity();
temp = dht.readTemperature();
lcd.init();
lcd.backlight();
lcd.setCursor(3,0);
lcd.print("Papan Informasi");
//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("%");
if ( isnan(temp&&hum)) {
Serial.println("Gagal membaca data dari sensor DHT!");
lcd.setCursor(0,0);
lcd.print("Sensor Error");
}
else if(temp>=37) {
digitalWrite(LED_MERAH, HIGH);
digitalWrite(LED_HIJAU, LOW);
Serial.println("SUHU PANAS");
lcd.setCursor(0,1);
lcd.print("SUHU PANAS ");
} else if (temp>=30) {
digitalWrite(LED_HIJAU, HIGH);
digitalWrite(LED_MERAH, LOW);
Serial.println("SUHU NORMAL");
lcd.setCursor(0,1);
lcd.print("SUHU NORMAL ");
}else if (temp>=1) {
digitalWrite(LED_HIJAU, HIGH);
digitalWrite(LED_MERAH, LOW);
Serial.println("SUHU DINGIN");
lcd.setCursor(0,1);
lcd.print("SUHU DINGIN ");
}
delay(500);
//delay(500);
//lcd.clear();
}