Sensor PZEM-004t
Sensor PZEM-004T adalah sensor yang dapat mengukur Arus, Tegangan, Power dan Energy dari listrik AC. Sensor ini mengeluarkan output dengan komunikasi serial. Jika kita ingin menghubungkan dengan Arduino maka komunikasi yang di gunakan adalah komunikasi serial.
Artikel ini menggunakan pzem-004v2.0
jika ingin menggunakan pzem-004v3.0 cukup clik link berikut ini. https://mikroavr.com/sensor-pzem-004-v3-dengan-esp32/
Sensor ini cukup mudah di gunakan, karena output nya langsung bisa di baca, baik berupa arus, tegangan, power maupun energy, tapi sayang nya, sensor ini tidak mampu membaca arus AC dengan ketelitian mili Ampere. Jadi kalo teman-teman ingin membaca sensor ini untuk Arus orde mili Ampere, maka tidak di sarankan menggunakan sensor ini.
Spesifikasi PZEM-004t
Adapun spesifikasi sensor ini adalah sebagai berikut,
AC Digital Multifunction Meter Watt Power Volt Amp TTL Current Test Module PZEM-004T With Coil 0-100A 80-260V AC For Arduino
ITEM SPECIFICS
Brand Name : diymore
Model Number : PZEM-004T Module
Type : Voltage Regulator
Dissipation Power : 1
Operating Temperature : 1
Application : Computer
Supply Voltage : 80-260V
match 1 : pzem-004t module
match 2 : pzem-004t test module
match 3 : AC digital meter
Max Operating Current : 100A – 119A
match 5 : diy
match 6 : dvk512 expansion module
Rated Voltage : 220V
Display Type : Digital Only
Power Supply : AC
Membaca Sensor dengan nodeMcu
Software Serial
Untuk Membaca sensor PZEM-004T ini dengan node MCU, memiliki perbedaan sedikit dengan Arduino keluarga AVR, seperti Arduino Uno, Mega mau pun Nano.
Perbedaan nya terletak pada Software Serial nya, kita contoh configurasi program di bawah ini
#include "SoftwareSerial.h" SoftwareSerial mySerial(12, 14)
jika kita compile program di atas untuk Arduino Uno, maka PIN 12 berfungsi sebagai RX sementara PIN 14 sebagai TX. Namun akan menjadi berbeda jika kita compile untuk NodeMCU, PIN RX akan menjadi PIN D6, dan PIN TX akan menjadi PIN D5.
Kenapa demikian? karena pada NodeMCU config SoftwareSerial(12,14) maksudnya adalah 12 adan GPIO12 dan 14 adalah GPIO14, bisa check configurasi pin NodeMCU pada gambar di bawah ini
Wiring nodeMCU dengan PZEM-004T
wiring nya cukup mudah, bisa di lihat pada tabel di bawah ini
NodeMCU | PZEM-004t |
5V | VDD |
D6 | RX |
D5 | TX |
GND | GND |
Instalasi sensor nya bisa di lihat pada gambar di bawah ini
Sketch Arduino untuk NodeMCU
Setelah kita pastikan semua konfigurasi di atas sudah benar, dan tepat, maka selanjut nya adalah add library PZEM-004t ke Arduino IDE teman-teman, bisa download di link berikut,
upload sketch ini ke nodeMCU nya. Program nya sebagai berikut.
#include "SoftwareSerial.h" // Arduino IDE &amp;lt;1.6.6 #include "PZEM004T.h" PZEM004T pzem(12,14); // D6, D5, (RX,TX) connect to TX,RX of PZEM IPAddress ip(192,168,1,1); float arus, tegangan, daya, kwh; void setup() { Serial.begin(9600); pzem.setAddress(ip); } void loop() { tegangan = pzem.voltage(ip); if (tegangan <= 0.0) tegangan = 0.0; Serial.print(tegangan);Serial.print("V; "); arus = pzem.current(ip); if(arus <= 0.0){ Serial.print(arus);Serial.print("A; "); } daya = pzem.power(ip); if(daya <= 0.0){ Serial.print(daya);Serial.print("W; "); } kwh = pzem.energy(ip); if(kwh <= 0.0){ Serial.print(kwh);Serial.print("Wh; "); } Serial.println(); delay(1000); }
Sekarang buka serial monitor, dan lihat hasil nya. Program di atas bisa di kembangkan untuk monitoring menggunakan Blynk, web hosting, atau layanan IOT lain nya,
Semoga bermanfaat, Thanks