#include "DHT.h"
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#define hijau 25
#define kuning 26
#define merah 27
#define DHTPIN 18 // Digital pin connected to the DHT sensor
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
DHT dht(DHTPIN, DHTTYPE);
void setup() {
pinMode(hijau,OUTPUT);
pinMode(kuning,OUTPUT);
pinMode(merah,OUTPUT);
lcd.backlight(); lcd.init();
lcd.setCursor(0,0); lcd.print(" SENSOR SUHU ");
Serial.begin(9600);
Serial.println(F("DHTxx test!"));
dht.begin();
}
void loop() {
delay(2000);
int h = dht.readHumidity();
float t = dht.readTemperature();
lcd.setCursor(0,1);
lcd.print("T="); lcd.print(t,1); lcd.write(0xdf); lcd.print("C ");
lcd.print("H="); lcd.print(h); lcd.print("% ");
if(t<25) {
digitalWrite(hijau,HIGH);
digitalWrite(kuning,LOW);
digitalWrite(merah,LOW);
lcd.setCursor(0,0); lcd.print(" SUHU NORMAL ");
}
else if(t>=25 && t<35) {
digitalWrite(hijau,LOW);
digitalWrite(kuning,HIGH);
digitalWrite(merah,LOW);
lcd.setCursor(0,0); lcd.print(" SUHU SEDANG ");
}
else {
digitalWrite(hijau,LOW);
digitalWrite(kuning,LOW);
digitalWrite(merah,HIGH);
lcd.setCursor(0,0); lcd.print(" SUHU PANAS ");
}
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.println(F("°C "));
}