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 » HLW8012 dengan ESP32: Cara Mengukur Listrik

HLW8012 dengan ESP32: Cara Mengukur Listrik

Diposting pada 27 August 2026 oleh indo maker / Dilihat: 7 kali / Kategori:

Cara Menggunakan HLW8012 dengan ESP32 untuk Mengukur Tegangan, Arus, dan Daya

HLW8012 dengan ESP32 bisa menjadi kombinasi yang menarik untuk kamu yang ingin membuat sistem monitoring listrik. Dengan menggunakan HLW8012, kita bisa membaca parameter seperti tegangan, arus, dan daya listrik, kemudian ESP32 dapat mengolah data tersebut dan menampilkan hasilnya.

Misalnya, sebuah perangkat sedang menggunakan listrik PLN 220 V dengan arus sekitar 0,5 A. Dari mana alat tersebut bisa mengetahui angka tersebut?

Salah satu IC yang bisa digunakan untuk melakukan pengukuran listrik seperti ini adalah HLW8012.

HLW8012 cukup sering digunakan pada perangkat smart plug, energy meter, dan berbagai perangkat monitoring konsumsi listrik. IC ini bisa membantu mikrokontroler seperti ESP32 atau Arduino mendapatkan informasi mengenai arus dan daya listrik yang sedang digunakan.

Di artikel ini, kita akan membahas HLW8012 dari dasar, mulai dari apa itu HLW8012, bagaimana cara kerjanya, fungsi setiap pin, sampai cara menghubungkannya dengan ESP32.

Apa Itu HLW8012?

HLW8012 dengan ESP32 bisa menjadi kombinasi yang menarik untuk membuat sistem monitoring listrik. HLW8012 merupakan IC pengukuran listrik satu fase yang dapat digunakan untuk mendapatkan informasi seperti tegangan, arus, dan daya. Data hasil pengukuran tersebut kemudian dapat dibaca dan diolah menggunakan mikrokontroler seperti ESP32.

Cara kerja HLW8012 cukup sederhana untuk dipahami. IC ini menerima sinyal dari rangkaian pengukuran tegangan dan arus, kemudian mengubah hasil pengukurannya menjadi sinyal pulsa. Pulsa tersebut nantinya dibaca oleh ESP32 untuk mendapatkan data listrik yang sedang diukur.

Untuk mengetahui spesifikasi, karakteristik, konfigurasi pin, dan cara kerja IC secara lebih lengkap, kamu bisa melihat datasheet HLW8012 sebelum mulai membuat rangkaiannya. Datasheet ini juga bisa menjadi acuan ketika menentukan konfigurasi rangkaian dan proses kalibrasi.

HLW8012 Biasanya Digunakan untuk Apa?

HLW8012 bisa ditemukan pada berbagai perangkat yang membutuhkan fungsi monitoring konsumsi listrik.

Contohnya:

  • Smart plug
  • Smart switch
  • Energy meter
  • Watt meter
  • Sistem monitoring listrik berbasis IoT
  • Perangkat rumah pintar
  • Monitoring konsumsi listrik suatu peralatan

Misalnya kita ingin membuat sistem IoT yang bisa mengetahui konsumsi listrik sebuah kipas.

Dengan HLW8012, sistem bisa membaca kondisi listrik yang digunakan kipas tersebut. Data dari HLW8012 kemudian dapat diproses oleh ESP32 dan dikirim ke dashboard atau aplikasi.

Kurang lebih alurnya seperti ini:

Beban listrik → Sensor tegangan & arus → HLW8012 → ESP32 → Dashboard

Jadi HLW8012 berada di bagian pengukuran, sedangkan ESP32 bertugas mengolah dan mengirimkan datanya.

Bagaimana Cara Kerja HLW8012?

Sebelum masuk ke rangkaian, kita perlu memahami satu hal penting.

HLW8012 sebenarnya tidak langsung “melihat” listrik 220 V seperti manusia melihat angka pada multimeter.

IC ini mendapatkan input dari rangkaian pengukuran yang sudah dibuat sebelumnya.

Untuk mengukur tegangan, biasanya digunakan rangkaian pembagi tegangan.

Sedangkan untuk mengukur arus, digunakan komponen seperti shunt resistor.

Sinyal dari kedua pengukuran tersebut kemudian masuk ke HLW8012.

Setelah diproses, HLW8012 mengeluarkan sinyal pulsa melalui pin tertentu.

ESP32 kemudian membaca frekuensi pulsa tersebut.

Semakin besar nilai listrik yang terukur, frekuensi pulsa yang dihasilkan juga berubah. Dari hubungan antara frekuensi pulsa dan nilai listrik inilah mikrokontroler dapat menghitung nilai pengukuran.

Jadi secara sederhana:

Listrik AC → Pengukuran tegangan & arus → HLW8012 → Pulsa → ESP32 → Nilai listrik

Pin-Pin HLW8012

HLW8012 memiliki beberapa pin yang perlu dipahami sebelum digunakan.

Beberapa pin yang penting antara lain:

VCC

Pin VCC digunakan sebagai sumber tegangan untuk IC HLW8012.

Tegangan suplai harus mengikuti spesifikasi IC dan rangkaian yang digunakan.

GND

GND merupakan ground atau referensi tegangan rangkaian.

CF

CF adalah salah satu output pulsa dari HLW8012.

Output ini berkaitan dengan daya aktif yang sedang diukur.

ESP32 dapat membaca frekuensi pulsa pada pin CF untuk menghitung daya.

CF1

CF1 juga merupakan output pulsa.

Pin ini digunakan untuk mendapatkan informasi dari pengukuran arus atau tegangan, tergantung kondisi pemilihan melalui pin SEL.

SEL

SEL digunakan untuk menentukan parameter mana yang akan dikeluarkan melalui CF1.

Dengan kata lain, CF1 bisa digunakan untuk membaca lebih dari satu parameter secara bergantian.

Konsepnya kira-kira seperti ini:

SEL → memilih parameter → CF1 → mengeluarkan pulsa parameter tersebut

Apa Bedanya CF dan CF1?

Bagian ini sering membuat pemula bingung.

Secara sederhana, kita bisa menganggap:

  • CF digunakan untuk membaca daya aktif.
  • CF1 digunakan untuk membaca parameter yang dipilih melalui SEL.

Dengan mengubah kondisi SEL, CF1 dapat digunakan untuk membaca parameter yang berbeda.

Jadi kalau kamu melihat rangkaian HLW8012 dan menemukan dua output pulsa bernama CF dan CF1, jangan menganggap keduanya memiliki fungsi yang sama.

Keduanya memang sama-sama menghasilkan pulsa, tetapi digunakan untuk informasi pengukuran yang berbeda.

Menghubungkan HLW8012 dengan ESP32

Setelah memahami pin dasarnya, kita bisa menghubungkan HLW8012 dengan ESP32.

Contoh sederhananya:

HLW8012 ESP32
VCC 3.3 V / sesuai rangkaian
GND GND
CF GPIO input
CF1 GPIO input
SEL GPIO output

Nomor GPIO sebenarnya bebas dipilih selama pin ESP32 tersebut bisa digunakan untuk fungsi input/output yang diperlukan.

Contohnya:

  • CF → GPIO 25
  • CF1 → GPIO 26
  • SEL → GPIO 27

Namun, nomor GPIO tersebut hanya contoh. Kamu bisa menggunakan pin lain sesuai kebutuhan rangkaian.

Bagaimana ESP32 Membaca HLW8012?

Nah, bagian ini cukup menarik.

HLW8012 tidak mengirimkan angka seperti:

220 V

atau:

100 W

secara langsung ke ESP32.

Yang diberikan adalah sinyal pulsa.

Bayangkan seperti sebuah sensor yang mengatakan:

“Saya menghasilkan 10.000 pulsa per detik.”

ESP32 kemudian mengukur frekuensi pulsa tersebut.

Setelah itu, frekuensi tersebut dikonversi menjadi nilai listrik berdasarkan karakteristik dan kalibrasi rangkaian.

Misalnya secara konsep:

Frekuensi pulsa → Perhitungan → Daya

atau:

Frekuensi pulsa → Perhitungan → Tegangan/Arus

Karena itu, program ESP32 perlu mengetahui hubungan antara frekuensi pulsa dengan nilai sebenarnya.

Kenapa Perlu Kalibrasi?

Ini adalah salah satu bagian yang sangat penting.

Jangan berharap setelah memasang HLW8012, ESP32 langsung menampilkan angka yang sangat akurat.

Setiap rangkaian bisa memiliki karakteristik yang berbeda.

Nilai resistor, shunt resistor, toleransi komponen, layout PCB, dan faktor lainnya dapat memengaruhi hasil pengukuran.

Karena itu, biasanya diperlukan proses kalibrasi.

Misalnya setelah rangkaian dibuat, kita membandingkan hasil pembacaan dengan multimeter atau watt meter yang sudah dipercaya.

Misalnya alat referensi menunjukkan:

220,5 V

sedangkan sistem kita membaca:

215 V

Berarti konstanta perhitungan perlu disesuaikan agar hasil pembacaan lebih mendekati nilai sebenarnya.

Hal yang sama juga dilakukan pada pengukuran arus dan daya.

Contoh Konsep Program ESP32

Untuk membaca HLW8012, ESP32 perlu mengukur waktu atau frekuensi pulsa yang masuk.

Secara sederhana, program akan melakukan beberapa hal:

  1. Membaca pulsa dari CF.
  2. Menghitung frekuensinya.
  3. Mengubah frekuensi menjadi nilai daya.
  4. Membaca CF1.
  5. Mengatur SEL untuk memilih parameter.
  6. Menghitung parameter yang dipilih.
  7. Menampilkan hasilnya.

Konsep programnya kurang lebih seperti ini:

#define CF_PIN   25
#define CF1_PIN  26
#define SEL_PIN  27

volatile unsigned long cfPulseCount = 0;
volatile unsigned long cf1PulseCount = 0;

void IRAM_ATTR cfInterrupt() {
  cfPulseCount++;
}

void IRAM_ATTR cf1Interrupt() {
  cf1PulseCount++;
}

void setup() {
  Serial.begin(115200);

  pinMode(CF_PIN, INPUT);
  pinMode(CF1_PIN, INPUT);
  pinMode(SEL_PIN, OUTPUT);

  attachInterrupt(
    digitalPinToInterrupt(CF_PIN),
    cfInterrupt,
    RISING
  );

  attachInterrupt(
    digitalPinToInterrupt(CF1_PIN),
    cf1Interrupt,
    RISING
  );

  Serial.println("HLW8012 + ESP32");
}

void loop() {

  // Reset penghitung pulsa
  cfPulseCount = 0;
  cf1PulseCount = 0;

  // Mengukur selama 1 detik
  delay(1000);

  // Membaca jumlah pulsa
  unsigned long cf = cfPulseCount;
  unsigned long cf1 = cf1PulseCount;

  Serial.println("----------------------");

  Serial.print("CF Pulse  : ");
  Serial.println(cf);

  Serial.print("CF1 Pulse : ");
  Serial.println(cf1);

  // Memilih mode CF1
  digitalWrite(SEL_PIN, LOW);

  delay(1000);

  Serial.println("CF1 mode selected");

  delay(500);
}

Kode di atas belum menghitung watt, volt, dan ampere.

Program tersebut hanya menunjukkan konsep dasar bagaimana ESP32 menghitung jumlah pulsa yang dihasilkan HLW8012.

Setelah itu, jumlah atau frekuensi pulsa perlu dikonversi menggunakan konstanta yang sesuai dengan rangkaian dan hasil kalibrasi.

Kenapa Tidak Langsung Menggunakan Rumus Sederhana?

Ini juga penting.

Kita mungkin berpikir:

“Kalau sudah tahu frekuensi pulsa, tinggal dikalikan dengan satu angka untuk mendapatkan watt.”

Secara konsep memang seperti itu, tetapi nilai konstanta tersebut tidak boleh asal dibuat.

HLW8012 memiliki karakteristik transfer tertentu. Selain itu, rangkaian eksternal seperti resistor pembagi tegangan dan shunt resistor juga menentukan hubungan antara sinyal listrik dengan output pulsa.

Jadi rumus akhirnya bergantung pada:

  • Karakteristik HLW8012
  • Nilai resistor pembagi tegangan
  • Nilai shunt resistor
  • Tegangan referensi
  • Konfigurasi rangkaian
  • Hasil kalibrasi

Karena itu, datasheet dan rangkaian yang digunakan harus menjadi acuan utama ketika menentukan rumus konversinya.

Apakah HLW8012 Bisa Mengukur Tegangan dan Arus Sekaligus?

Bisa, tetapi cara pembacaannya perlu dipahami.

HLW8012 memiliki jalur pengukuran tegangan dan arus. Output pulsa digunakan untuk menyampaikan hasil pengukuran tersebut ke mikrokontroler.

Salah satu output dapat digunakan untuk daya aktif, sementara output lainnya dapat digunakan untuk parameter pengukuran yang dipilih melalui SEL.

Dengan mekanisme tersebut, satu IC dapat digunakan untuk membangun sistem monitoring listrik yang cukup lengkap.

Hal yang Harus Diperhatikan Saat Membuat Rangkaian HLW8012

Ada satu hal yang jauh lebih penting daripada kode program.

HLW8012 dapat digunakan pada sistem yang terhubung dengan listrik AC berbahaya seperti listrik PLN.

Bagian input listrik tidak boleh dianggap sama seperti rangkaian sensor 3,3 V biasa.

Jika rangkaian menggunakan listrik PLN 220 V, terdapat risiko sengatan listrik dan kebakaran jika desain atau pemasangannya salah.

Karena itu, perhatikan beberapa hal berikut:

  • Gunakan isolasi yang sesuai.
  • Perhatikan creepage dan clearance pada PCB.
  • Gunakan komponen yang memiliki rating tegangan sesuai.
  • Jangan menyentuh bagian rangkaian yang terhubung langsung ke PLN.
  • Pastikan jalur tegangan tinggi dan tegangan rendah dirancang dengan benar.
  • Gunakan fuse atau proteksi yang sesuai.
  • Lakukan pengujian dengan prosedur keselamatan yang tepat.

Untuk pemula, sebaiknya jangan langsung mencoba rangkaian PLN tanpa memahami terlebih dahulu bagian keselamatan listrik AC.

Kesalahan yang Sering Terjadi

Ada beberapa kesalahan yang cukup umum ketika pertama kali menggunakan HLW8012.

1. Menganggap CF adalah output tegangan

CF bukan pin yang langsung mengeluarkan tegangan seperti:

0–3,3 V = 0–220 V

CF menghasilkan pulsa dengan frekuensi tertentu.

2. Mengabaikan kalibrasi

Hasil pembacaan bisa berbeda dengan multimeter atau watt meter jika konstanta kalibrasinya belum sesuai.

3. Salah memahami CF1

CF1 bukan sekadar “output kedua”.

Parameter yang dibaca melalui CF1 berkaitan dengan kondisi SEL.

4. Menggunakan rangkaian referensi tanpa memahami komponennya

Dua rangkaian yang sama-sama menggunakan HLW8012 belum tentu memiliki konstanta pengukuran yang sama.

Nilai resistor dan shunt resistor sangat berpengaruh.

5. Tidak memperhatikan keselamatan listrik

Ini yang paling berbahaya.

HLW8012 sering digunakan untuk monitoring listrik AC, sehingga bagian rangkaiannya bisa terhubung langsung dengan tegangan tinggi.

Jangan menganggap karena ada ESP32 maka seluruh rangkaian otomatis aman disentuh.

HLW8012 vs Sensor Arus Biasa

Kalau hanya ingin mengukur arus, sebenarnya ada banyak pilihan sensor lain.

Contohnya sensor arus berbasis Hall effect.

Namun HLW8012 memiliki kelebihan ketika kita ingin membuat energy monitoring karena IC ini memang dirancang untuk pengukuran parameter listrik dan menghasilkan output yang bisa diproses mikrokontroler.

Karena itu, HLW8012 cocok untuk proyek seperti:

ESP32 + HLW8012 + Wi-Fi + Dashboard

Misalnya hasil pengukuran dikirim ke server setiap beberapa detik.

Pengguna kemudian bisa melihat konsumsi listrik melalui smartphone atau komputer.

Contoh Pengembangan dengan ESP32

Setelah sistem HLW8012 berhasil membaca listrik, proyeknya sebenarnya masih bisa dikembangkan lebih jauh.

Misalnya:

HLW8012 → ESP32 → MQTT → Home Assistant

atau:

HLW8012 → ESP32 → Database → Dashboard

Dengan cara tersebut, kita tidak hanya melihat nilai listrik secara lokal.

Kita juga bisa membuat sistem monitoring yang menyimpan histori konsumsi listrik.

Misalnya:

Waktu Tegangan Arus Daya
08:00 220 V 0,45 A 98 W
09:00 221 V 0,48 A 105 W
10:00 220 V 0,52 A 114 W

Dari data tersebut kita bisa melihat kapan konsumsi listrik meningkat atau menurun.

Kesimpulan

HLW8012 adalah IC yang menarik untuk digunakan ketika kita ingin membuat sistem monitoring listrik AC.

IC ini bekerja dengan memproses sinyal dari rangkaian pengukuran tegangan dan arus, kemudian menghasilkan output berupa pulsa yang dapat dibaca oleh mikrokontroler seperti ESP32.

Beberapa bagian penting yang perlu dipahami adalah CF, CF1, dan SEL. CF digunakan untuk output pulsa yang berkaitan dengan daya aktif, sedangkan CF1 digunakan untuk parameter yang dipilih melalui SEL.

Namun, bagian yang tidak boleh dilupakan adalah kalibrasi dan keselamatan.

Pembacaan HLW8012 sangat bergantung pada rangkaian yang digunakan, sehingga konstanta perhitungan sebaiknya ditentukan berdasarkan konfigurasi rangkaian dan hasil pengujian.

Sementara itu, jika rangkaian terhubung dengan listrik PLN, keselamatan harus menjadi prioritas utama.

Kalau sudah memahami konsep dasarnya, kombinasi HLW8012 + ESP32 bisa menjadi dasar untuk membuat berbagai proyek seperti smart plug, watt meter, energy monitor, sampai sistem monitoring listrik berbasis IoT.

Tags: , , , , , ,

Bagikan ke

HLW8012 dengan ESP32: Cara Mengukur Listrik

Saat ini belum tersedia komentar.

Silahkan tulis komentar Anda

HLW8012 dengan ESP32: Cara Mengukur Listrik

Produk yang sangat tepat, pilihan bagus..!

Berhasil ditambahkan ke keranjang belanja
Lanjut Belanja
Checkout
Produk Quick Order

Pemesanan dapat langsung menghubungi kontak dibawah: