#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define DHTPIN 23 // Pin yang terhubung ke sensor DHT
#define DHTTYPE DHT22 // Jenis sensor yang Anda gunakan (DHT11/DHT22/DS18B20)
// Alamat I2C LCD
const int lcdAddress = 0x27; // Sesuaikan dengan alamat LCD I2C Anda
// Jumlah kolom dan baris pada LCD
const int lcdColumns = 16;
const int lcdRows = 2;
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(lcdAddress, lcdColumns, lcdRows);
void setup() {
Serial.begin(115200);
dht.begin();
// Inisialisasi LCD
lcd.init();
// Hidupkan backlight (opsional)
lcd.backlight();
pinMode(13, OUTPUT);
}
void loop() {
delay(2000); // Tunggu 2 detik sebelum membaca suhu lagi
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
lcd.setCursor(0, 0); // Pindah ke baris pertama
lcd.print(" "); // Menghapus nilai sebelumnya
lcd.setCursor(0, 0); // Kembali ke baris pertama
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print("C");
lcd.setCursor(0, 1); // Pindah ke baris kedua
lcd.print(" "); // Menghapus nilai sebelumnya
lcd.setCursor(0, 1); // Kembali ke baris kedua
lcd.print("Humid: ");
lcd.print(humidity);
lcd.print("%");
if(temperature<35) // Membuat kondisi jika temperature < (suhu yang diatur)
{
digitalWrite(13, HIGH); // Jika kondisi memenuhi maka relay akan nyala
}
else
{
digitalWrite(13, LOW); // Jika kondisi tidak memenuhi maka relay akan mati
}
}