Buka Senin - Jumat jam 08.30 s/d jam 16.30 , Sabtu Jam 8.30 s/d jam 13.00 , Minggu tutup
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Beranda » Blog » Bikin Alat Monitoring Konsumsi Listrik Rumah Secara Real-Time Berbasis ESP32

Bikin Alat Monitoring Konsumsi Listrik Rumah Secara Real-Time Berbasis ESP32

Diposting pada 6 November 2026 oleh indo maker / Dilihat: 30 kali / Kategori:

Sering kaget pas lihat tagihan listrik di akhir bulan mendadak membengkak? Masalah utamanya ada di kWh meter konvensional rumah kita. Alat tersebut cuma bisa menghitung total akumulasi penggunaan tanpa memberi tahu berapa watt daya yang sedang dipakai secara real-time, apalagi buat memutus arus secara otomatis dari jarak jauh. Nah, solusinya adalah membuat sendiri alat monitoring konsumsi listrik pintar berbasis IoT! Menggunakan kombinasi ESP32, modul sensor PZEM-004T, dan aplikasi Blynk, kita bisa memantau tegangan, arus, daya, hingga estimasi biaya listrik langsung dari smartphone secara real-time.

1. Kenapa ESP32 dan PZEM-004T Jadi Kombinasi Terbaik

Buat kamu yang pernah coba bikin pengukur listrik pakai kombinasi sensor arus ACS712 dan sensor tegangan ZMPT101B, pasti paham betapa rumitnya proses kalibrasi manualnya. Sensor sederhana seperti ACS712 dan ZMPT101B sangat rentan terhadap noise sinyal dan kurang stabil saat mengukur beban berdaya rendah.

Di sinilah modul PZEM-004T hadir sebagai solusi jauh lebih superior. Sensor ini sudah terkalibrasi langsung dari pabrik dan sanggup mengukur 6 parameter listrik AC sekaligus dengan sangat presisi, yaitu tegangan (Voltage), arus (Current), daya aktif (Power), total energi (kWh), frekuensi (Frequency), hingga faktor daya (Power Factor). Tingkat persentase error pengukurannya berada jauh di bawah batas toleransi ±5%, dengan tingkat error maksimum tercatat hanya sekitar 4,3%.

Kombinasi ini makin mantap saat disandingkan dengan mikrokontroler ESP32. Dibekali prosesor Xtensa dual-core yang kencang serta modul Wi-Fi dan Bluetooth bawaan, ESP32 sangat siap mengolah data sensor secara cepat lalu mengirimkannya langsung ke platform cloud IoT.

2. Alat dan Bahan

Berikut adalah daftar komponen hardware dan software yang kita butuhkan untuk merakit sistem monitoring daya listrik ini.

Komponen Jumlah Keterangan
Modul ESP32 (ESP-WROOM-32) 1 unit Mikrokontroler utama dengan Wi-Fi untuk pemrosesan data
Sensor PZEM-004T 100A 1 unit Sensor pengukur tegangan, arus, daya, kWh, frekuensi, dan Power Factor
Transformatir Arus (CT Sensor Coil) 1 unit Ring CT bawaan PZEM-004T untuk mendeteksi arus beban
Layar LCD 16×2 dengan Modul I2C 1 unit Tampilan lokal parameter listrik (SDA di GPIO21, SCL di GPIO22)
Expansion Board ESP32 / Breadboard 1 unit Memudahkan wiring koneksi antar komponen
Modul Relay 5V DC 1 unit Sakelar otomatis untuk pemutus beban saat batas energi tercapai
Kabel Jumper Female-to-Female Secukupnya Koneksi antarmodul
Terminal & Steker Listrik AC 1 set Jalur input daya AC dan soket beban (Load)

3. Skematik Rangkaian

Proses perakitan komponen harus dilakukan secara teliti. Berikut panduan langkah demi langkah koneksi antar pin komponen.

Koneksi Layar LCD 16×2 I2C ke ESP32

  • Pin VCC LCD -> Pin 5V pada Expansion Board / ESP32
  • Pin GND LCD -> Pin GND ESP32
  • Pin SDA LCD -> Pin GPIO21 (D21) ESP32
  • Pin SCL LCD -> Pin GPIO22 (D22) ESP32

Koneksi Modul PZEM-004T ke ESP32

  • Pin VCC PZEM -> Pin 5V ESP32
  • Pin GND PZEM -> Pin GND ESP32
  • Pin RX PZEM -> Pin TX2 / GPIO17 (D17) ESP32
  • Pin TX PZEM -> Pin RX2 / GPIO16 (D16) ESP32

Koneksi Modul Relay 5V DC ke ESP32

  • Pin VCC Relay -> Pin 5V ESP32 / Expansion Board
  • Pin GND Relay -> Pin GND ESP32
  • Pin IN Relay -> Pin GPIO4 (D4) ESP32

Koneksi Listrik AC dan CT Sensor Coil

  1. Lewatkan salah satu kabel fasa (warna merah) dari steker menuju soket beban menembus bagian dalam lubang ring CT Sensor.
  2. Hubungkan kabel fasa ke terminal nomor 3 dan kabel netral ke terminal nomor 4 pada modul PZEM-004T agar sensor dapat mendeteksi tegangan AC jaringan listrik rumah.

Hindari Crash Guru Meditation Error Saat memrogram komunikasi serial pada ESP32, jangan sekali-kali menggunakan pin bawaan Serial1 (GPIO9 dan GPIO10). Berdasarkan dokumentasi resmi Espressif, pin GPIO9 dan GPIO10 terhubung langsung secara internal ke memori SPI Flash milik ESP32. Jika kita memaksakan penggunaan Serial1 pada pin tersebut, mikrokontroler akan langsung crash dan mengalami pengulangan reset berupa Guru Meditation Error (IllegalInstruction).

Sebagai solusinya, gunakan port UART2 (GPIO16/RX2 dan GPIO17/TX2) atau lakukan remapping pin ke GPIO aman seperti GPIO22 dan GPIO23. Jika kamu juga menggunakan layar SPI TFT dalam proyek ini, pastikan pin Chip Select (TFT_CS) dipindahkan dari GPIO17 ke GPIO14 agar tidak bentrok dengan jalur komunikasi UART.

4. Konfigurasi Dashboard Blynk dan Pemrograman

Untuk memantau data secara jarak jauh, kita memanfaatkan platform Blynk IoT. Langkah awalnya, buka platform Blynk di browser, masuk ke Developer Zone, lalu buat Template baru memilih device ESP32 dengan tipe koneksi Wi-Fi.

Selanjutnya, buat beberapa Datastream menggunakan Virtual Pin berikut:

  • V0: Voltage / Tegangan (Volt)
  • V1: Current / Arus (Ampere)
  • V2: Power / Daya (Watt)
  • V3: Total Energy / Energi (kWh)
  • V4: Total Cost / Estimasi Biaya (Rupiah)
  • V5: Frequency / Frekuensi (Hz)
  • V6: Power Factor / Faktor Daya (cos φ)
  • V10: Reset Data (Button Widget)

Selain memantau penggunaan daya secara real-time, proyek berbasis IoT seperti ini membuka peluang pengembangan sistem smart home yang lebih luas. Sobat bisa dengan mudah mengintegrasikannya dengan proyek otomasi lain, seperti bikin sistem keamanan pintu berbasis RFID dengan notifikasi Telegram untuk meningkatkan proteksi dan kenyamanan rumah pintar kamu.

Berikut adalah kode berbasis Arduino C++ yang sudah dilengkapi perhitungan estimasi biaya (V4) serta fungsi tombol reset energi (V10) untuk dikirim ke dashboard Blynk:

#define BLYNK_TEMPLATE_ID "YOUR_TEMPLATE_ID"
#define BLYNK_TEMPLATE_NAME "Smart Energy Meter"
#define BLYNK_AUTH_TOKEN "YOUR_AUTH_TOKEN"

#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <PZEM004Tv30.h>

// Konfigurasi koneksi Blynk dan WiFi
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "NamaWiFiKamu";
char pass[] = "PasswordWiFiKamu";

// Definisi pin relay
#define RELAY_PIN 4

// Tarif listrik per kWh (dapat disesuaikan)
float costPerKWh = 1444.70;

// Inisialisasi sensor PZEM004T V3.0 menggunakan UART2
// GPIO16 sebagai RX2 dan GPIO17 sebagai TX2
PZEM004Tv30 pzem(Serial2, 16, 17);

// Inisialisasi timer Blynk
BlynkTimer timer;

// Fungsi untuk membaca sensor dan mengirim data ke Blynk
void sendSensorData() {
  float voltage = pzem.voltage();
  float current = pzem.current();
  float power = pzem.power();
  float energy = pzem.energy();
  float frequency = pzem.frequency();
  float pf = pzem.pf();

  // Periksa apakah pembacaan tegangan valid
  if (!isnan(voltage)) {
    float totalCost = energy * costPerKWh;

    // Kirim data sensor ke Virtual Pin Blynk
    Blynk.virtualWrite(V0, voltage);
    Blynk.virtualWrite(V1, current);
    Blynk.virtualWrite(V2, power);
    Blynk.virtualWrite(V3, energy);
    Blynk.virtualWrite(V4, totalCost);
    Blynk.virtualWrite(V5, frequency);
    Blynk.virtualWrite(V6, pf);
  }
}

// Callback tombol reset energi melalui Virtual Pin V10
BLYNK_WRITE(V10) {
  int pinValue = param.asInt();

  if (pinValue == 1) {
    pzem.resetEnergy();
    Serial.println("Data energi kWh berhasil di-reset ke Nol!");
  }
}

// Fungsi inisialisasi sistem
void setup() {
  Serial.begin(115200);

  // Konfigurasi relay
  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN, HIGH); // Relay aktif secara default

  // Hubungkan ESP32 ke Blynk dan jaringan WiFi
  Blynk.begin(auth, ssid, pass);

  // Kirim data sensor setiap 2 detik
  timer.setInterval(2000L, sendSensorData);
}

// Fungsi utama yang berjalan berulang
void loop() {
  Blynk.run();
  timer.run();
}

 


5. Pengujian Akurasi dan Troubleshooting

Setelah perakitan hardware dan pengunggahan kode selesai, kita bisa melakukan pengujian menggunakan berbagai beban listrik rumah tangga, seperti lampu LED, kipas angin, charger laptop, hingga magic com (rice cooker).

Membaca Indikator LED PZEM-004T Modul PZEM-004T dilengkapi dua indikator LED status untuk memudahkan pengujian:

  • LED Atas: Akan berkedip secara kontinu saat modul berhasil mendeteksi adanya tegangan AC dari jaringan listrik.
  • LED Bawah: Akan berkedip dengan cepat saat terjadi transmisi data UART aktif antara PZEM-004T dan ESP32. Jika LED bawah ini sama sekali tidak berkedip, segera periksa kembali pemasangan kabel jumper RX dan TX kamu karena kemungkinan posisinya tertukar.

Analisis Respon Relay dan Efisiensi Daya Dengan fitur Energy Limit pada sistem ini, kita dapat menentukan batas harian konsumsi kWh melalui Blynk. Saat batas energi tercapai, ESP32 akan memerintahkan modul relay 5V untuk memutus aliran listrik ke beban.

Secara mekanis, relay Songle 5V memiliki operate time sekitar 10 ms dan release time 5 ms. Namun, hasil pengujian sistem IoT secara keseluruhan menunjukkan rentang waktu respon pemutusan sebesar 0,2 hingga 1,3 detik (paling lambat sekitar 1,396 detik pada pengujian energy limit). Waktu tunda ini bukan disebabkan oleh kelemahan mekanis sakelar, melainkan akumulasi dari jeda pemrosesan data oleh ESP32 serta latensi lalu lintas jaringan Wi-Fi ke platform IoT. Karena itu, ketersediaan sinyal Wi-Fi yang stabil sangat memengaruhi kecepatan eksekusi pemutusan beban.

Pengujian membuktikan bahwa penerapan pembatasan energi ini sangat efektif dalam mengendalikan pemborosan daya, berhasil meningkatkan efisiensi penggunaan listrik hingga 31,01% pada beban lampu LED dan 30,83% pada beban kipas angin.

Bagi kamu yang membutuhkan acuan detail teknis mengenai spesifikasi pinout mikrokontroler, kamu bisa membaca lembar panduan resmi di Espressif ESP32 Datasheet.

6. Kesimpulan

Membangun alat monitoring konsumsi listrik berbasis ESP32 dan sensor PZEM-004T terbukti memberikan tingkat akurasi pengukuran parameter listrik yang sangat presisi dengan persentase error di bawah 5%. Lewat integrasi platform Blynk IoT, kita tidak hanya bisa memantau konsumsi daya rumah secara real-time dari mana saja, tetapi juga mampu mengendalikan penggunaan listrik secara aktif untuk menghemat biaya harian secara efektif. Selamat mencoba perakitan proyek DIY kamu sendiri di rumah!

Bagikan ke

Bikin Alat Monitoring Konsumsi Listrik Rumah Secara Real-Time Berbasis ESP32

Saat ini belum tersedia komentar.

Silahkan tulis komentar Anda

Bikin Alat Monitoring Konsumsi Listrik Rumah Secara Real-Time Berbasis ESP32

Produk yang sangat tepat, pilihan bagus..!

Berhasil ditambahkan ke keranjang belanja
Lanjut Belanja
Checkout
Produk Quick Order

Pemesanan dapat langsung menghubungi kontak dibawah: