#include <LiquidCrystal.h>
#include <DHT.h>
#define DHTPIN 2
#define LED_GREEN 10
#define LED_YELLOW 11
#define LED_RED 12
#define DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
LiquidCrystal lcd (9, 8, 7, 6, 5, 4);
void setup() {
Serial.begin(115200);
Serial.println(F("Tampilan Percobaan DHT22!"));
lcd.begin(16, 2);
dht.begin();
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_YELLOW, OUTPUT);
pinMode(LED_RED, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
float temperature = dht.readTemperature();
float suhu = dht.readTemperature();
float humidity = dht.readHumidity();
delay(1000);
//Menampilkan di LCD
if (suhu<20){
digitalWrite(LED_GREEN,HIGH);
digitalWrite(LED_YELLOW,LOW);
digitalWrite(LED_RED,LOW);
lcd.setCursor(0,0);
lcd.println(F("Suhu="));
lcd.print(temperature);
lcd.println(" C");
lcd.setCursor(0,1);
lcd.println(F("Lembab="));
lcd.print(humidity);
lcd.println(" %");
}
if (suhu<=30 and suhu >=20){
digitalWrite(LED_GREEN,LOW);
digitalWrite(LED_YELLOW,HIGH);
digitalWrite(LED_RED,LOW);
lcd.setCursor(0,0);
lcd.println(F("Suhu="));
lcd.print(temperature);
lcd.println(" C");
lcd.setCursor(0,1);
lcd.println(F("Lembab="));
lcd.print(humidity);
lcd.println(" %");
}
if (suhu>30){
digitalWrite(LED_GREEN,LOW);
digitalWrite(LED_YELLOW,LOW);
digitalWrite(LED_RED,HIGH);
lcd.setCursor(0,0);
lcd.println(F("Suhu="));
lcd.print(temperature);
lcd.println(" C");
lcd.setCursor(0,1);
lcd.println(F("Lembab="));
lcd.print(humidity);
lcd.println(" %");
}
//Menampilkan di serial monitor
Serial.println(F("Suhu = "));
Serial.print(temperature);
Serial.println(" C");
Serial.println(F("Kelembaban = "));
Serial.print(humidity);
Serial.println(" %");
delay(2000);
}