Sunteți pe pagina 1din 7

48

DAFTAR PUSTAKA

[1] Temy Nusa, Sherwin R.U.A. Sompie, ST.,MT. Dr.Eng Meita Rumbayan, ST.,MT.
“Sistem Monitoring Konsumsi Energi Listrik Secara Real Time Berbasis
Mikrokontroller”, Jurnal Teknik Elektro dan Komputer, Vol. 4, No.5,(2015).
[2] Muhammad Rivai. dkk, 2012. “Sistem Monitoring Arus Listrik Jala-Jala
Menggunakan Power Line Carrier”, Journal Teknik ITS Vol. 1, No. 1 (Sept.2012)
[3] B G Melipurbowo,Staf Pengajar Teknik Elektro Politeknik Negeri Semarang
“Pengukuran Daya Listrik Real Time Dengan Menggunakan Sensor Arus ACS.712”,
Orbith Vol.12,No.1Maret 2016
[4] Afrizal Fitriandi. Dkk, “Rancang Bangun Alat Monitoring Arus dan Tegangan
Berbasis Mikrokontroller Dengan SMS Gateway”, Jurnal Rekayasa dan Teknologi
Elektro, Vol.10.No.2, Mei 2016
[5] Haitao Yan ,Yongchang Zhang, Nong Zhang, Paul D, Walker and Jihao Gao, 2016,
”A Voltage Sensorless Finite Control Set-Model Prediktive Control For Three-Phase
Voltage Source PWM Rectifiers” Chinese Journal Of Electrical
Engineering,Vol.2,No.2.Corresponding Author,E-Mail : yozhang@ieee.Org.
[6] Angelos K. Marnerides, Member, IEEE, Paul Smith, Member, IEEE, Alberto
Schaeffer-Filho, Member, IEEE,and Andreas Mauthe, 2015 “Power Consumption
Profiling Using Energy Time-Frequency Distributions In Smart Grids” IEEE
COMMUNICATIONS LETTERS, VOL. 19, NO. 1 : 1089-7798.
[7] Branislav Djokic, 2015 “Traceable Calibrations Of Rogowski Coils At High AC
Currents” IEEE Instrumentation & Measurement Magazine, 1094-
6969/15/$25.00©2015IEEE.
[8] Meikang Qiu, Huazhong University of Science and Technology and University of
Kentucky,Hai Su, University of Kentucky,Min Chen, Huazhong University of
Science and Technology and St. Francis Xavier University,Zhong Ming, Shenzhen
University,Laurence T. Yang, Huazhong University of Science and Technology and
St. Francis Xavier University, 2012 “Balance Of Security Strength And Energy For
A PMU Monitoring System In Smart Grid” IEEE Communications Magazine, 0163-
6804/12/$25.00 © 2012 IEEE.
49

LAMPIRAN

/*****************************************************

Perancangan Monitoring Daya Listrik Berbasis Teknologi Internet Of

Thing Dengan Menggunakan Microcontroller Wemos Dan Aplikasi

Android Blynk

Usriyanto

41412120038

*****************************************************/

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

#include <SimpleTimer.h>

#define sensorpin A0

#define relaypin D0

#define lampu1 D4

#define lampu2 D5

char auth[] = "79997d1c221b42d8897ee529986b59e5";

// the timer object

SimpleTimer timer;

float tegangan, amplitude_current, arus, daya;

int nilaisensor, maling, kabelputus;


50

const int numReadings = 20;

int kalibrasisensorarus = 750;

int readings[numReadings]; // the readings from the analog input

int readIndex = 0; // the index of the current reading

int total = 0; // the running total

int average = 0; // the average

void sendUptime()

// You can send any value at any time.

// Please don't send more that 10 values per second.

Blynk.virtualWrite(1, tegangan); // virtual pin 10

Blynk.virtualWrite(2, arus); // virtual pin 10

Blynk.virtualWrite(3, daya); // virtual pin 10

Blynk.virtualWrite(5, tegangan); // virtual pin 10

Blynk.virtualWrite(4, arus); // virtual pin 10

void setup()

Serial.begin(9600);

pinMode(lampu1, OUTPUT);

pinMode(lampu2, OUTPUT);

pinMode(relaypin, OUTPUT);

// Setup access point

Blynk.begin(auth, "Mi Phone", "bondet70"); //insert here your SSID and password
51

// Setup a function to be called every second

timer.setInterval(1000, sendUptime);

for (int thisReading = 0; thisReading < numReadings; thisReading++)

readings[thisReading] = 0;

void loop()

Blynk.run();// Initiates Blynk

timer.run(); // Initiates SimpleTimer

bacaarus();

bacategangandaya();

kontrollampu();

Serial.println();

Serial.println();

void bacaarus()

//tdma 1 detik untuk ukur arus

digitalWrite(relaypin, HIGH);

delay(1000);

int nilaisensor = analogRead(sensorpin);

Serial.print("Baca Sensor = ");

Serial.println(nilaisensor);
52

// pengukuran rata-rata untuk arus

//subtract the last reading:

total = total - readings[readIndex];

// read from the sensor:

readings[readIndex] = nilaisensor;

// add the reading to the total:

total = total + readings[readIndex];

// advance to the next position in the array:

readIndex = readIndex + 1;

// if we're at the end of the array...

if (readIndex >= numReadings)

{ // ...wrap around to the beginning:

readIndex = 0;

// calculate the average:

average = total / numReadings;

Serial.print("Baca Nilai Sensor Rata-rata = ");

Serial.println(average);

delay(10); // delay in between reads for stability

//the VCC on the Grove interface of the sensor is 5v

amplitude_current=(float)(average - kalibrasisensorarus)/1024*2.49/100*1000000;

arus = amplitude_current/1414;
53

//minimum_current=1/1024*5/185*1000000/1.414=18.7(mA)

//Only for sinusoidal alternating current

Serial.print("Arus Terukur = ");

Serial.print(arus,2);

Serial.println(" Ampere ");

void bacategangandaya()

//tdma 1 detik untuk ukur tegangan

digitalWrite(relaypin, LOW);

delay(1000);

nilaisensor = analogRead(sensorpin);

tegangan = nilaisensor * 0.49 * 0.4386;

Serial.print("Tegangan Terukur = ");

Serial.print(tegangan);

Serial.println(" Volt");

//Hitung daya

daya = tegangan * arus;

Serial.print("Daya Terukur = ");

Serial.print(daya);

Serial.println(" Watt");

Blynk.email("usriyanto.cbm@gmail.com", daya);

void kontrollampu()
54

if (lampu1 == daya > 100){

digitalWrite(lampu2, HIGH);

} else {

digitalWrite(lampu1, LOW);

delay(10);

if (lampu2 == daya > 100){

digitalWrite(lampu1, HIGH);

} else {

digitalWrite(lampu2, LOW);

delay(10);

S-ar putea să vă placă și