Pada artikel sebelumnya yaitu Mengenal PZEM-004T Modul Elektronik Untuk Alat Pengukuran Listrik kita mengulas terkait dengan Modul PZEM-004T secara umum maupun detail maka pada artikel ini, kita akan mencoba langsung mempelajari bagaimana cara interfacing dan contoh program modul PZEM-004T V2 menggunakan Arduino UNO atau Arduino Mega2560.
Jika menggunakan Arduino UNO maka kita hanya bisa menggunakan Software Serial untuk akses komunikasi dengan PZEM-004T V2. Jika menggunakan Arduino Mega2560 maka kita bisa menggunakan Software Serial maupun Hardware Serial untuk akses komunikasi dengan PZEM-004T V2.
Pada artikel ini, contoh program yang diberikan hanya bisa digunakan untuk interfacing dengan modul PZEM-004T V2. Jika menggunakan modul PZEM-004T V3.0 silahkan buka artikel dibawah :
Contoh Program Interfacing PZEM-004T V3.0 Dengan Menggunakan Arduino
Spesifikasi / Feature PZEM-004T V2.0
Berikut adalah fitur atau spesifikasi dari modul PZEM-004T V2 :
A. Fungsi
- Fungsi pengukuran (voltage / tegangan, current / arus, active power).
- Power button clear / reset Energy
- Power-down data storage function (cumulative power down before saving)
- Komunikasi Serial TTL
- Pengukuran Power / Daya : 0 ~ 9999kW
- Pengukuran Voltage / Tegangan : 80 ~ 260VAC
- Pengukuran Current / Arus : 0 ~ 100A
B. Spesifikasi
- Working voltage: 80 ~ 260VAC
- Rated power: 100A / 22000W
- Working Frequency: 45-65Hz
- Measurement accuracy: 1.0
Hardware Yang Dibutuhkan
- PZEM-004T V2.0
- Arduino UNO atau Arduino Mega2560
- Beberapa kabel jumper M – F / F – F
- Beban / Load bisa menggunakan Lampu TL / Bohlam / Bor Listrik
Rangkaian / Wiring Diagram
1. Koneksi Antara PZEM-004T dengan Arduino
PZEM-004T | Arduino UNO / Mega2560 |
VCC | +5V |
GND | GND |
TX | RX (Software Serial / Hardware Serial) |
RX | TX (Software Serial / Hardware Serial) |
2. Koneksi Antara PZEM-004T dengan Beban / Load
Gambar dibawah menunjukkan wiring atau sambungan kabel antara PZEM-004T dengan MCU / Arduino dan Beban / Load serta Power Source AC 220V
Code Program
Untuk pemrograman PZEM-004T V2, sudah ada library yang bisa kita gunakan yang bisa di download pada link dibawah :
Setelah library PZEM-004T diatas didownload, ekstrak atau unzip kemudian copy ke folder library dari Arduino IDE. Jika sebelumnya Arduino IDE sudah dalam kondisi terbuka, maka tutup dan jalankan lagi Arduino IDE nya.
Selanjutnya, buka contoh program atau example dari library PZEM-004T tadi atau copy paste sketch program dibawah ini.
#include <SoftwareSerial.h> #include <PZEM004T.h> PZEM004T pzem(10,11); // (RX,TX) connect to TX,RX of PZEM IPAddress ip(192,168,1,1); void setup() { Serial.begin(9600); pzem.setAddress(ip); } void loop() { float v = pzem.voltage(ip); if (v < 0.0) v = 0.0; Serial.print(v);Serial.print("V; "); float i = pzem.current(ip); if(i >= 0.0){ Serial.print(i);Serial.print("A; "); } float p = pzem.power(ip); if(p >= 0.0){ Serial.print(p);Serial.print("W; "); } float e = pzem.energy(ip); if(e >= 0.0){ Serial.print(e);Serial.print("Wh; "); } Serial.println(); delay(1000); }
Atau contoh program yang menggunakan Hardware Serial dibawah :
#include <PZEM004T.h> PZEM004T pzem(&Serial1); // Hardware Serial (RX1,TX1) connect to // TX,RX of PZEM IPAddress ip(192,168,1,1); void setup() { Serial.begin(9600); pzem.setAddress(ip); } void loop() { float v = pzem.voltage(ip); if (v < 0.0) v = 0.0; Serial.print(v);Serial.print("V; "); float i = pzem.current(ip); if(i >= 0.0){ Serial.print(i);Serial.print("A; "); } float p = pzem.power(ip); if(p >= 0.0){ Serial.print(p);Serial.print("W; "); } float e = pzem.energy(ip); if(e >= 0.0){ Serial.print(e);Serial.print("Wh; "); } Serial.println(); delay(1000); }
Setelah sketch program diatas diupload ke board Arduino, buka Serial Monitor dan hasil pengukuran dari PZEM-004T akan muncul di Serial Monitor.
++++++++ Semoga Bermanfaat ++++++++
Maaf kak, mau nanya gw sdh coba codingnya yg diatas tapi gk membaca? itu kenapa yah? mohon bantuannya kak
PZEM-004T nya yg Versi brp?
Mas… gunanya IPAddress itu apa ya mas?
Itu dari register chip nya u/ address nya settingnya dlm IP, tujuan nya jika dlm 1 program kita akses byk PZEM-004T mk kita harus setting msg2 IP Address nya dibuat beda2 agar tdk bentrok
Bingung ni gue…Ada networking di modul ini?, Codenya pake IPAddress ip(192,168,1,1)