1. Latar Belakang & Latar Masalah
Pemilik rumah sering menghadapi masalah pemborosan listrik akibat lupa mematikan lampu saat bepergian atau ingin menyalakan lampu teras dari jarak jauh demi alasan keamanan saat malam hari.
Solusi: Membangun sistem Smart Light Switch berbasis ESP32 yang terhubung ke jaringan Wi-Fi rumah. Sistem ini memungkinkan pengguna memantau dan mengontrol status lampu dari smartphone secara real-time dari mana saja melalui platform Blynk IoT.
2. Kebutuhan Komponen (Bill of Materials)
| Komponen | Spesifikasi / Fungsi | Estimasi Biaya (IDR) |
| ESP32 DevKit V1 | Mikrokontroler utama dengan Wi-Fi + Bluetooth | Rp 55.000 |
| Modul Relay 2 Channel (5V) | Sakelar elektronik untuk memutus/menyambung arus listrik AC 220V | Rp 15.000 |
| Lampu LED & Fitting | Beban utama (Listrik PLN 220V) | Rp 30.000 |
| Adaptor 5V / Kabel Micro-USB | Catu daya untuk ESP32 | Rp 20.000 |
| Kabel Jumper & Breadboard | Penghubung rangkaian sinyal kontrol | Rp 15.000 |
| Aplikasi Blynk IoT (Android/iOS) | Antarmuka pengguna (Dashboard Dashboard/App) | Gratis |
3. Skema Rangkaian & Perkabelan
Sistem dibagi menjadi dua blok tegangan: Tegangan Rendah (DC 5V/3.3V) untuk komunikasi ESP32 dengan Relay, dan Tegangan Tinggi (AC 220V) untuk daya lampu.
Tabel Koneksi Pin (Wiring List)
-
Sisi Sinyal Rendah (ESP32 ke Modul Relay):
-
VCC Relay $\rightarrow$ Pin VIN / 5V pada ESP32 (Memberi daya coil relay)
-
GND Relay $\rightarrow$ Pin GND pada ESP32
-
IN1 Relay $\rightarrow$ Pin GPIO 26 pada ESP32 (Sinyal kontrol Lampu 1)
-
IN2 Relay $\rightarrow$ Pin GPIO 27 pada ESP32 (Sinyal kontrol Lampu 2)
-
-
Sisi Tegangan Tinggi (Modul Relay ke Lampu 220V AC):
-
Kabel Fasa (Live) dari stopkontak PLN $\rightarrow$ Masuk ke pin COM (Common) pada Relay.
-
Pin NO (Normally Open) pada Relay $\rightarrow$ Dioperkan ke salah satu terminal Fitting Lampu.
-
Kabel Netral dari PLN $\rightarrow$ Langsung terhubung ke terminal Fitting Lampu satunya.
-
Peringatan Keselamatan: Saat merakit sisi AC 220V, pastikan colokan PLN tidak terhubung ke sumber listrik. Bungkus sambungan kabel dengan isolasi listrik yang aman.
4. Kode Program (Arduino C++)
Unggah kode program berikut melalui Arduino IDE setelah menginstal library Blynk (BlynkSimpleEsp32).
#define BLYNK_TEMPLATE_ID "TMPLxxxxxx" // Dapatkan dari Dashboard Blynk
#define BLYNK_TEMPLATE_NAME "Smart Home Lamp"
#define BLYNK_AUTH_TOKEN "YourAuthTokenHere"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
// Informasi Wi-Fi Rumah
char ssid[] = "NamaWiFiRumah";
char pass[] = "PasswordWiFiRumah";
// Definisi Pin GPIO
#define RELAY_PIN_1 26 // GPIO 26 untuk Lampu 1
#define RELAY_PIN_2 27 // GPIO 27 untuk Lampu 2
// Fungsi kontrol dari Tombol Virtual Blynk V1
BLYNK_WRITE(V1) {
int pinValue = param.asInt(); // Membaca status tombol di aplikasi (0 atau 1)
// Modul relay umumnya Active LOW (LOW = ON, HIGH = OFF)
digitalWrite(RELAY_PIN_1, pinValue == 1 ? LOW : HIGH);
}
// Fungsi kontrol dari Tombol Virtual Blynk V2
BLYNK_WRITE(V2) {
int pinValue = param.asInt();
digitalWrite(RELAY_PIN_2, pinValue == 1 ? LOW : HIGH);
}
void setup() {
Serial.begin(115200);
// Inisialisasi Pin Relay sebagai Output
pinMode(RELAY_PIN_1, OUTPUT);
pinMode(RELAY_PIN_2, OUTPUT);
// Kondisi Awal: Lampu Mati (Relay Active LOW diset HIGH)
digitalWrite(RELAY_PIN_1, HIGH);
digitalWrite(RELAY_PIN_2, HIGH);
// Hubungkan ke Blynk Server
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
}
void loop() {
Blynk.run(); // Menjalankan proses latar belakang Blynk
}