#include <LiquidCrystal_I2C.h>
#include <DHT.h>;
LiquidCrystal_I2C lcd(0x27,16,2);
const int pinDHT = 2;
#define tipeDHT DHT22
DHT dht(pinDHT, tipeDHT);
int chk;
float kelembaban;
float suhu;
float suhuF;
float suhuR;
float suhuK;
const int merah = 3;
const int hijau = 4;
const int biru = 5;
void setup()
{
Serial.begin(9600);
dht.begin();
pinMode(merah, OUTPUT);
pinMode(hijau, OUTPUT);
pinMode(biru, OUTPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(3,0);
lcd.print("Termometer");
lcd.setCursor(4,1);
lcd.print("Digital");
lcd.clear();
}
void loop()
{
kelembaban = dht.readHumidity();
suhu = dht.readTemperature();
lcd.clear();
lcd.setCursor(0,0);
lcd.print(suhu);
lcd.print("C");
suhuF = (1.8 * suhu) + 32;
lcd.setCursor(8,0);
lcd.print(suhuF);
lcd.print("F");
suhuR = (0.8 * suhu);
lcd.setCursor(0,1);
lcd.print(suhuR);
lcd.print("R");
suhuK = (suhu + 273);
lcd.setCursor(8,1);
lcd.print(suhuK);
lcd.print("K");
if(suhu > 60)//panas
{
digitalWrite (merah,HIGH);
digitalWrite (hijau,LOW);
digitalWrite (biru,LOW);
delay(1000);
}
else if(suhu > 30 && suhu < 60)//hangat
{
digitalWrite (merah,HIGH);
digitalWrite (hijau,HIGH);
digitalWrite (biru,LOW);
delay(1000);
}
else if(suhu < 30)//dingin
{
digitalWrite (merah,LOW);
digitalWrite (hijau,LOW);
digitalWrite (biru,HIGH);
delay(1000);
}
}