Kamu tau gak? Banyak orang masih menyalakan lampu atau kipas secara manual, padahal sebenarnya hal itu bisa dibuat otomatis. Misalnya, lampu hanya menyala saat ruangan gelap dan ada orang, atau kipas hidup saat suhu mulai panas. Hal sederhana seperti ini ternyata bisa meningkatkan kenyamanan sekaligus menghemat energi.
Dengan memanfaatkan teknologi Internet of Things dan mikrokontroler seperti ESP32, kita bisa membuat sistem rumah pintar sederhana yang mampu “berpikir” berdasarkan kondisi lingkungan.
Sistem ini menggunakan tiga sensor utama:
- Sensor PIR untuk mendeteksi keberadaan manusia
- Sensor LDR untuk membaca intensitas cahaya
- Sensor DHT11 untuk mengukur suhu
Ketika ketiga sensor ini bekerja bersama, sistem menjadi lebih cerdas. Lampu tidak hanya menyala saat gelap, tapi juga mempertimbangkan apakah ada orang di ruangan. Begitu juga dengan kipas, yang hanya aktif saat suhu benar-benar tinggi.
Cara Kerja Sistem
Secara sederhana, sistem bekerja seperti ini:
- Jika ruangan gelap + ada orang, maka lampu menyala
- Jika suhu panas, maka kipas menyala
- Jika tidak ada orang, semua perangkat mati
Dengan logika ini, sistem menjadi efisien dan tidak boros listrik.
Alat dan Bahan
Untuk membuat sistem ini, kamu bisa menyiapkan:
- ESP32 DevKit
- Sensor PIR
- Sensor LDR
- Sensor DHT11
- Relay 2 channel
- Lampu (atau LED)
- Kipas DC kecil
- Breadboard & kabel jumper
Rangkaian Singkat
Gunakan konfigurasi berikut:
- PIR → GPIO 5
- LDR → GPIO 34 (Analog)
- DHT11 → GPIO 18
- Relay Lampu → GPIO 22
- Relay Kipas → GPIO 23
Program ESP32
Berikut contoh kode yang bisa langsung kamu gunakan:
#include "DHT.h"
#define DHTPIN 18
#define DHTTYPE DHT11
#define PIR_PIN 5
#define LDR_PIN 34
#define RELAY_LAMP 22
#define RELAY_FAN 23
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
pinMode(PIR_PIN, INPUT);
pinMode(RELAY_LAMP, OUTPUT);
pinMode(RELAY_FAN, OUTPUT);
digitalWrite(RELAY_LAMP, LOW);
digitalWrite(RELAY_FAN, LOW);
dht.begin();
}
void loop() {
int motion = digitalRead(PIR_PIN);
int ldrValue = analogRead(LDR_PIN);
float temp = dht.readTemperature();
Serial.println("====== STATUS ======");
Serial.print("Gerakan: "); Serial.println(motion);
Serial.print("Cahaya: "); Serial.println(ldrValue);
Serial.print("Suhu: "); Serial.println(temp);
// Lampu otomatis
if (motion == 1 && ldrValue < 2000) {
digitalWrite(RELAY_LAMP, HIGH);
Serial.println("Lampu ON");
} else {
digitalWrite(RELAY_LAMP, LOW);
Serial.println("Lampu OFF");
}
// Kipas otomatis
if (temp > 30) {
digitalWrite(RELAY_FAN, HIGH);
Serial.println("Kipas ON");
} else {
digitalWrite(RELAY_FAN, LOW);
Serial.println("Kipas OFF");
}
delay(2000);
}
Cara Uji Sistem
Setelah upload program, lakukan pengujian:
- Tutup LDR → simulasi gelap
- Gerakkan tangan di depan PIR → simulasi ada orang
- Hangatkan DHT11 → simulasi suhu naik
Jika semua berjalan benar:
- Lampu akan menyala saat gelap dan ada gerakan
- Kipas menyala saat suhu tinggi
Simulasi di Wokwi
Untuk simulasi:
- PIR → pakai pushbutton
- LDR → pakai potensiometer
- DHT11 → tersedia langsung di Wokwi
Pengembangan Lanjutan
Sistem ini bisa dikembangkan menjadi:
- Kontrol via smartphone (Blynk)
- Integrasi Google Home / Alexa
- Monitoring suhu via web
- Smart energy saving system
Penutup
Sistem rumah pintar ini adalah contoh sederhana bagaimana teknologi bisa membuat hidup lebih nyaman dan efisien. Dengan memanfaatkan beberapa sensor dan sedikit logika, kita bisa membuat sistem yang bekerja otomatis tanpa perlu dikontrol terus-menerus.
Dan yang paling menarik, project seperti ini bukan hanya untuk belajar, tapi juga bisa dikembangkan menjadi produk nyata.