cara mudah menghubungkan Sensor Ampere Voltage PZEM-004T dengan esp32

cara mudah menghubungkan Sensor Ampere Voltage PZEM-004T dengan esp32

Sensor PZEM-004T adalah alat praktis untuk mengukur arus, tegangan, dan daya. Dalam tutorial ini, kami akan menunjukkan cara menghubungkan sensor ini dengan ESP32 secara mudah. Anda akan mendapatkan panduan singkat tentang koneksi dan contoh kode untuk memulai proyek pemantauan energi Anda

Berikut Merupakan Codingan Yang Telah Kami Sediakan, Telah Diuji Untuk Memastikan Keakuratan Serta Kestabilannya.

#include <Arduino.h>

#include <PZEM004Tv30.h>

//sensor ini menggunakan pin hardware serial (pin RX dan TX asli)
#if !defined(PZEM_RX_PIN) && !defined(PZEM_TX_PIN)
#define PZEM_RX_PIN 34
#define PZEM_TX_PIN 22
#endif
 
#if !defined(PZEM_SERIAL)
#define PZEM_SERIAL Serial2
#endif
#if defined(ESP32)
PZEM004Tv30 pzem(PZEM_SERIAL, PZEM_RX_PIN, PZEM_TX_PIN);
#elif defined(ESP8266)
#else
PZEM004Tv30 pzem(PZEM_SERIAL);
#endif
 
 // Read the data from the sensor
    float voltage = 0; 
    float current = 0;
    float power =  0;
    float energy = 0;
    float frequency = 0;
    float pf = 0;
 
 


void get_sensor_PZEM(){
 // Print the custom address of the PZEM
    Serial.print("Custom Address:");
    Serial.println(pzem.readAddress(), HEX);
 
    // Read the data from the sensor
    voltage = pzem.voltage();
    current = pzem.current();
    power = pzem.power();
    energy = pzem.energy();
    frequency = pzem.frequency();
    pf = pzem.pf();
 
    // Check if the data is valid
    if(isnan(voltage)){
        Serial.println("Error reading voltage");
    } else if (isnan(current)) {
        Serial.println("Error reading current");
    } else if (isnan(power)) {
        Serial.println("Error reading power");
    } else if (isnan(energy)) {
        Serial.println("Error reading energy");
    } else if (isnan(frequency)) {
        Serial.println("Error reading frequency");
    } else if (isnan(pf)) {
        Serial.println("Error reading power factor");
    } else {
 
        // Print the values to the Serial console
        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, 1); Serial.println("Hz");
        Serial.print("PF: ");           Serial.println(pf);
 
    }
}


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

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


}


untuk skematik, kamu bisa menggunakan gambar berikut:

PZEM-004T PinESP32 Pin
VCC5V
GNDGND
TXGPIO 22
RXGPIO 34

Selamat mencoba! Semoga sukses dengan proyekmu. Jadikan setiap langkah sebagai pengalaman berharga. Salam dari Labrobotika, tempat inovasi dan kreativitas!

Jika anda berminat menggunakan jasa labrobotika, silahkan hubungi admin: WHATSAPP