Translate

Monitor Tegangan dan Arus AC 220 Volt dan Notif SMS

Monitor Tegangan dan Arus AC 220 Volt dan Notif SMS


         Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana membuat sebuah alat yang dapat memonitor tegangan atau arus drop dengan notifikasi sms, jadi alat ini selain memiliki fitur sms dia juga dapat memonitor tegangan dan arus secara rael time dengan menggunakan sensor PZEM-004t. untuk lebih jelasnya berikut adalah koding dan skemanya.


a. Skema 




  
b. Program Arduino IDE

#include "Wire.h"
#include "SIM900.h"
#include <SoftwareSerial.h>
#include <Wire.h>
#include <PZEM004Tv30.h>
#include <LiquidCrystal_I2C.h>
#include "sms.h"
SMSGSM sms;

PZEM004Tv30 pzem(11, 12);
LiquidCrystal_I2C lcd(0x27,16,2);

int vin = 0;
int iin = 0;
int vout;
float kal;

int a = 0;
int zero = 1;
int kondisi = 0;
int dataadc;

char string[160];
int numdata;
boolean started=false;
char smsbuffer[160];
char n[20];
unsigned long values[100];
float tegangan;
float arus;

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

  Serial.println("GSM Shield testing.");
     if (gsm.begin(2400)) {
          Serial.println("\nstatus=READY");
          started=true;
     } else Serial.println("\nstatus=IDLE");

     if(started) {
           if (sms.SendSMS("081234567890", "Alat Ready"))
          Serial.println("\nSMS sent OK");
     }    
}

void loop() {

  tegangan = pzem.voltage();
  arus = pzem.current();

  lcd.setCursor(0,0);
  lcd.print("V: ");
  lcd.print(tegangan);
  lcd.print("   ");
  
  lcd.setCursor(0,1);
  lcd.print("I: ");
  lcd.print(arus);
  lcd.print("   ");

 if((arus >= 0.1)&&(kondisi == 0)){
    Serial.println("GSM Shield testing.");
     if (gsm.begin(2400)) {
          Serial.println("\nstatus=READY");
          started=true;
     } else Serial.println("\nstatus=IDLE");
     
      if (sms.SendSMS("081234567890", "telah terjadi arus bocor atau melebihi 300 mA"))
      Serial.println("\nSMS sent OK");
      kondisi = 1;
      delay(1000);
   }
 
 if((arus < 0.1)&&(kondisi == 1)){
      kondisi = 0;
      delay(3000);
   }
     
delay(200);
}



c. VIDEO HASILNYA



 

No comments:

Post a Comment