Cara Menggunakan Sensor Ampere Voltage PZEM-004T dengan Arduino Uno

Cara Menggunakan Sensor Ampere Voltage PZEM-004T dengan Arduino Uno

Sensor PZEM-004T adalah modul yang digunakan untuk mengukur parameter listrik seperti tegangan (V), arus (A), daya (W), energi (kWh), frekuensi (Hz), dan faktor daya (PF).

Spesifikasi Utama:

  • Tegangan operasi: 80–260V AC
  • Pengukuran arus: hingga 100A (dengan CT eksternal)
  • Parameter yang terbaca: Voltage, Current, Power, Energy, Frequency, Power Factor
  • Komunikasi: TTL Serial
  • Akurasi: ±0.5%

Karena fiturnya yang lengkap, sensor ini sering dipakai untuk monitoring listrik rumah, panel surya, dan manajemen daya IoT.

Alat dan Bahan

NoAlat & BahanJumlah
1Arduino Uno R31 unit
2Sensor PZEM-004T1 unit
3Kabel jumperBeberapa
4Breadboard (opsional)1 unit
5Kabel USB Arduino1 unit

Wiring Diagram PZEM-004T ke Arduino Uno

PZEM-004T PinArduino Uno Pin
VCC5V
GNDGND
TXPin 11
RXPin 10

Program Arduino Membaca Data PZEM-004T

#include <Arduino.h>
#include <SoftwareSerial.h>
#include <PZEM004Tv30.h>

// Definisi pin sesuai wiring di foto
#define PZEM_RX_PIN 10
#define PZEM_TX_PIN 11

SoftwareSerial pzemSWSerial(PZEM_RX_PIN, PZEM_TX_PIN);
PZEM004Tv30 pzem(pzemSWSerial);

float voltage = 0; 
float current = 0;
float power = 0;
float energy = 0;
float frequency = 0;
float pf = 0;

void get_sensor_PZEM(){
    voltage = pzem.voltage();
    current = pzem.current();
    power = pzem.power();
    energy = pzem.energy();
    frequency = pzem.frequency();
    pf = pzem.pf();

    if(isnan(voltage) || isnan(current) || isnan(power) || isnan(energy) || isnan(frequency) || isnan(pf)) {
        Serial.println("Error: Gagal membaca data sensor");
    } else {
        Serial.print("Voltage: ");   Serial.print(voltage);   Serial.println(" V");
        Serial.print("Current: ");   Serial.print(current);   Serial.println(" A");
        Serial.print("Power: ");     Serial.print(power);     Serial.println(" W");
        Serial.print("Energy: ");    Serial.print(energy,3);  Serial.println(" kWh");
        Serial.print("Frequency: "); Serial.print(frequency); Serial.println(" Hz");
        Serial.print("Power Factor: "); Serial.println(pf);
    }
}

void setup(){
    Serial.begin(9600);
    pzemSWSerial.begin(9600);
}

void loop(){
    get_sensor_PZEM();
    delay(1000);
}

Penjelasan Kode Program

Agar lebih mudah dipahami, berikut penjelasan setiap bagian:

  • Library PZEM004Tv30.h
    Digunakan untuk komunikasi dengan sensor PZEM-004T.
  • Deklarasi variabel sensor
    Menyimpan nilai tegangan, arus, daya, energi, frekuensi, dan faktor daya.
  • Fungsi get_sensor_PZEM()
    Membaca semua parameter listrik dari sensor dan menampilkannya di Serial Monitor.
  • Fungsi setup()
    Memulai komunikasi serial dengan baud rate 9600.
  • Fungsi loop()
    Memanggil fungsi pembacaan setiap 500 ms.

Langkah Pengujian Sensor

  1. Hubungkan Arduino Uno ke komputer menggunakan kabel USB.
  2. Upload program di atas menggunakan Arduino IDE.
  3. Buka Serial Monitor pada baud rate 9600.
  4. Pastikan sensor PZEM-004T sudah terhubung ke beban listrik sesuai instruksi.
  5. Amati nilai tegangan, arus, daya, energi, frekuensi, dan faktor daya yang muncul di Serial Monitor.

Tips Pengujian:

  • Gunakan beban listrik nyata (misalnya lampu) untuk melihat hasil pengukuran.
  • Selalu hati-hati saat menghubungkan ke listrik AC karena berbahaya.
  • Pastikan kabel tidak longgar agar pembacaan stabil.

Kesimpulan

Sensor PZEM-004T memudahkan pembacaan parameter listrik seperti tegangan, arus, dan daya dengan Arduino Uno. Dengan wiring yang tepat dan kode sederhana, Anda bisa membuat sistem monitoring listrik untuk rumah atau proyek IoT.

Dengan sensor ini, Anda tidak perlu modul terpisah untuk membaca tegangan dan arus, karena semua sudah tersedia dalam satu perangkat yang praktis dan akurat.

Diskusi lebih lanjut kontak di bawah :

Media sosial lainnya :

Baca juga :

Cara Menggunakan Sensor Jarak Laser TOF10120 dengan Arduino Uno

Cara Menggunakan Sensor Suhu DS18B20 dengan Arduino Uno