#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHTesp.h>
#define RELAY_PIN 2 // Pin yang terhubung ke relay
#define DHTPIN 12 // Pin yang terhubung ke sensor DHT22
#define DHTTYPE DHTesp::DHT22 // Tipe sensor DHT (DHT22)
#define LCD_ADDRESS 0x27 // Alamat I2C LCD
#define LCD_COLS 16 // Jumlah kolom LCD
#define LCD_ROWS 2 // Jumlah baris LCD
DHTesp dht;
LiquidCrystal_I2C lcd(LCD_ADDRESS, LCD_COLS, LCD_ROWS);
void setup() {
pinMode(RELAY_PIN, OUTPUT); // Mengatur pin sebagai output
digitalWrite(RELAY_PIN, LOW); // Pastikan relay dimatikan saat booting
lcd.init(); // Inisialisasi LCD
lcd.backlight(); // Nyalakan backlight LCD
dht.setup(DHTPIN, DHTTYPE);
}
void loop() {
// Baca data suhu dan kelembapan
float humidity = dht.getHumidity();
float temperature = dht.getTemperature();
// Tampilkan data di LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Suhu: ");
lcd.print(temperature);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Kelembapan: ");
lcd.print(humidity);
lcd.print("%");
// Hidupkan lampu
digitalWrite(RELAY_PIN, HIGH);
delay(2000); // Tunggu 2 detik
// Matikan lampu
digitalWrite(RELAY_PIN, LOW);
delay(2000); // Tunggu 5 detik
}
Loading
esp32-devkit-v1
esp32-devkit-v1