hwthinker icon

PZEM-004T Arduino Uno and Mega

hwthinker | PRO | 09/29/19 02:39:35 AM UTC | 0 ⭐ | 2122 👁️ | Never ⏰ | []
Arduino |

1.71 KB

|

None

|

0 👍

/

0 👎

//PZEM untuk Arduino Uno dan Arduino Mega
// library https://github.com/mandulaj/PZEM-004T-v30
// modified by HwThinker
 
#include <SoftwareSerial.h> 
#include <PZEM004Tv30.h>
 
//PZEM004Tv30 pzem(10,11);   /// Software Serial pin 10 (RX) & 11 (TX) for arduino uno
PZEM004Tv30 pzem(&Serial2);  // (RX)PZEM004Tv30 -> Tx2Arduino ; (TX)PZEM004Tv30 -> Rx2ArduinoMega for arduio mega2560
 
void setup() {
  Serial.begin(115200);
}
 
void loop() {
    float voltage = pzem.voltage();
    if(voltage != NAN){
        Serial.print("Tegangan: "); Serial.print(voltage); Serial.println("V");
    } else {
        Serial.println("Error reading voltage");
    }
 
    float current = pzem.current();
    if(current != NAN){
        Serial.print("Arus: "); Serial.print(current); Serial.println("A");
    } else {
        Serial.println("Error reading current");
    }
 
    float power = pzem.power();
    if(current != NAN){
        Serial.print("Daya: "); Serial.print(power); Serial.println("W");
    } else {
        Serial.println("Error reading power");
    }
 
    float energy = pzem.energy();
    if(current != NAN){
        Serial.print("Energi: "); Serial.print(energy,3); Serial.println("kWh");
    } else {
        Serial.println("Error reading energy");
    }
 
    float frequency = pzem.frequency();
    if(current != NAN){
        Serial.print("Frekuensi: "); Serial.print(frequency, 1); Serial.println("Hz");
    } else {
        Serial.println("Error reading frequency");
    }
 
    float pf = pzem.pf();
    if(current != NAN){
        Serial.print("PF: "); Serial.println(pf);
    } else {
        Serial.println("Error reading power factor");
    }
 
    Serial.println();
    delay(2000);
}

Comments