#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHT_PIN 2
#define LED_BIRU 7 // Pin LED biru
#define LED_MERAH 8 // Pin LED merah
DHT dht(DHT_PIN, DHT22);
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(LED_BIRU, OUTPUT);
pinMode(LED_MERAH, OUTPUT);
Serial.begin(9600);
dht.begin();
lcd.init();
lcd.backlight();
}
void loop() {
float suhu = dht.readTemperature();
float kelembapan = dht.readHumidity();
float temperature = dht.readTemperature();
if(isnan(suhu) || isnan(kelembapan)){
Serial.println("Sensor Rusak");
} else {
Serial.print("Suhu: ");
Serial.print(suhu);
Serial.print(" C\t");
Serial.print("Kelembapan: ");
Serial.print(kelembapan);
Serial.println(" %");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Suhu: ");
lcd.print(suhu);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Kelembapan: ");
lcd.print(kelembapan);
}
// Mengontrol LED berdasarkan suhu
if (temperature < 30) {
digitalWrite(LED_BIRU, HIGH); // LED biru menyala
digitalWrite(LED_MERAH, LOW); // LED merah mati
lcd.setCursor(6, 1);
} else {
digitalWrite(LED_BIRU, LOW); // LED biru mati
digitalWrite(LED_MERAH, HIGH); // LED merah menyala
lcd.setCursor(4, 1);
}
delay(1500);
}