#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define DHTPIN 8
#define DHTTYPE DHT22
#define ledMerah 3
#define ledBiru 2
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C LCD dapat bervariasi, disesuaikan dengan alamat LCD yang Anda gunakan
void setup() {
lcd.begin(16, 2);
lcd.print("Suhu: ");
lcd.setCursor(0, 1);
lcd.print("Kelembapan: ");
dht.begin();
pinMode(ledMerah, OUTPUT);
}
void loop() {
float suhu = dht.readTemperature(); // Membaca suhu dari sensor DHT22
float kelembaban = dht.readHumidity(); // Membaca kelembaban dari sensor DHT22
// Menampilkan suhu dan kelembaban pada LCD
lcd.setCursor(6, 0);
lcd.print(suhu);
lcd.setCursor(12, 0);
lcd.print("C");
lcd.setCursor(12, 1);
lcd.print("%");
lcd.setCursor(13, 1);
lcd.print(kelembaban);
// Logika Fuzzy untuk pengendalian relay berdasarkan suhu dan kelembaban
if (suhu > 35 && kelembaban <65) {
digitalWrite(ledMerah, HIGH); // Menghidupkan relay kipas angin
}
else if (suhu <35 && kelembaban >65){
digitalWrite(ledBiru, HIGH); // Menghidupkan relay Ac
}
else {
digitalWrite(ledMerah, LOW); // Mematikan relay
digitalWrite(ledBiru, LOW); // Menghidupkan relay
}
delay(2000); // Jeda 2 detik antara pembacaan sensor
}