2.9 Adaptor 12 Volt
2.9.3 Sistem Komunikasi Seluler
Sistem komunikasi seluler merupakan salah satu jenis komunikasi bergerak, yaitu suatu komunikasi antara dua buah terminal dengan salah satu atau kedua terminal berpindah tempat. Dengan adanya perpindahan tempat ini, sistem komunikasi bergerak tidak menggunakan kabel sebagai medium transmisi.
Jangkauan pengiriman sinyal pada sistem komunikasi bergerak selular dapat diterima dengan baik tergantung pada kuatnya sinyal batasan sel para pemakainya. Tetapi, masih terdapat faktor lain yang dapat menjadi kendala untuk sinyal yang dikirim dapat diterima dengan baik. Faktor lain yang dimaksud adalah faktor geografis (alam). Komunikasi seluler dibedakan atas komunikasi konvensional dan seluler modern. Sistem konvensional memiliki karakteristik sebagai berikut.
1. Daerah jangkauan luas.
2. Daya yang digunakan besar.
3. Kapasitsa sistem masih rendah.
4. Modulasi analog berupa Frequency Modulation (FM) sehingga memerlukan bandwidth yang besar.
5. Belum menggunakan handoff.
6. Belum terhubung ke jaringan public service telephone network (PSTN).
7. Untuk suara (voice). Sistem konvensional walaupun secara ekonomi dan teknologi belum menguntungkan, tetapi telah membangkitkan penelitian untuk mengembangkan sistem komunikasi seluler yang lebih baik (sistem modern).
Komunikasi seluler modern memiliki karakteristik sebagai berikut.
1. Alokasi bandwidth kecil.
2. Efisien pemakaian frekuensi tinggi, karena penggunaan frequency reuse.
3. Modulasi digital.
4. Kapasitas sistem besar.
5. Daerah pelayanan dibagi atas daerah–daerah kecil yang disebut sel, sering disebut sistem seluler.
6. Daya yang dipergunakan kecil.
7. Memiliki handoff.
8. Efisiensi kanal tinggi karena menggunakan metode akses jamak (multiple access) seperti Frequency Division Multiple Access (FDMA) dan Code Division Multiple Access (CDMA).
9. Terhubung ke PSTN
BAB III
PERANCANGAN ALAT
Untuk mempermudah dalam mempelajari dan memahami cara kerja alat ini, maka system perancangan dibuat berdasarkan diagram blok dimana tiap blok mempunyai fungsi dan cara kerja tertentu. Adapun diagram blok dari system yang dirancang adalah sebagai berikut:
3.1 Diagram Blok Rangkaian
3.1.1 Fungsi Tiap Blok
1. Blok NodeMCU ESP8266 :Sebagai otak dan pengontrol pada sistem elektronika alat.
2. Blok Sensor PZEM-004T :Sebagai input sensor untuk pembacaan tegangan, arus, dan daya listrik
3. Blok LCD : Sebagai output tampilan nilai pembacaan pembacaan tegangan, arus, dan daya listrik.
4. Blok Supply : Sebagai penyedia sumber arus listrik ke system alat.
5. Jaringan WI-FI :berfungsi media komunikasi antara Android dan
sistem elektronika alat.
6. Android :berfungsi sebagai output tampilan nilai pembacaan
pembacaan tegangan, arus, dan daya listrik.
7. Blynk : Aplikasi yang digunakan untuk tampilan nilai pembacaan tegangan, arus, dan daya listrik pada
smartphone Android.
3.2 Rangkaian NodeMCU ESP8266
Rangkaian NodeMCU ESP8266 ini berfungsi sebagai pusat kendali dari seluruh sistem yang ada.
Gambar 3.2 Rangkaian NodeMCU ESP8266
NodeMCU pada dasarnya adalah pengembangan dari ESP 8266 dengan firmware berbasis e-Lua. Pada NodeMcu dilengkapi dengan micro usb port yang berfungsi untuk pemorgaman maupun power supply. Selain itu juga pada NodeMCU di lengkapi dengan tombol push button yaitu tombol reset dan flash. NodeMCU menggunakan bahasa pemorgamanan Lua yang merupakan package dari esp8266.
Bahasa Lua memiliki logika dan susunan pemorgaman yang sama dengan c hanya berbeda syntax. Jika menggunakan bahasa Lua maka dapat menggunakan tool Lua loader maupun Lua uploder. Selain dengan bahasa Lua NodeMCU juga support dengan sofware Arduino IDE dengan melakukan sedikit perubahan board manager
pada Arduino IDE. Sebelum digunakan Board ini harus di Flash terlebih dahulu agar support terhadap tool yang akan digunakan. Jika menggunakan Arduino IDE menggunakan firmware yang cocok yaitu firmware keluaran dari AiThinker yang support AT Command. Untuk penggunaan tool loader Firmware yang di gunakan adalah firmware NodeMCU.
3.3 Rangkaian Penstabil Tegangan (Regulator)
Rangkaian ini berfungsi untuk memberikan supplay tegangan dari baterai keseluruh rangkaian yang ada. Keluaran rangkaian regulator ini yaitu 5 volt.
Gambar 3.3 Rangkaian Regulator
Pada rangkaian diatas baterai 12 volt terhubung pada capasitor 100 nf, lalu dihubungkan pada tegangan input ic regulator 7805 agar mendapat output 5 volt dc, output 5 volt dc inilah yang akan berfungsi untuk memberi supply pada sistem NodeMCU ESP8266.
3.4 Perancangan Rangkaian LCD (Liquid Crystal Display)
Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display) 16 x 2. Untuk blok ini tidak ada komponen tambahan karena mikrokontroler dapat
memberi data langsung ke LCD, pada LCD Hitachi – M1632 sudah terdapat driver untuk mengubah data ASCII output mikrokontroler rmenjadi tampilan karakter.
Pemasangan potensio sebesar 5 KΩ untuk mengatur kontras karakter yang tampil.
Gambar 3.4 berikut merupakan gambar rangkaian LCD yang dihubungkan ke mikrokontroler.
Gambar 3.4. Rangkaian LCD
Dari gambar 3.4, rangkaian ini terhubungke PD.0... PD7, yang merupakan pin I/O dua arah dan pin fungsi khusus, yaitu sebagai Analog and Digital Converter.
Nilai yang akan tampil pada LCD display akan dapat dikendalikan oleh Mikrokontroller NodeMCU ESP8266.
4. Rangkaian Sensor PZEM-004T Rangkaian ini berfungsi sebagai input pembacaan nilai tegangan, arus dan daya yang dihasilkan oleh alat-alat elektronika yang diukur.
Gambar 3.5. Rangkaian Sensor PZEM-004T 3.6 Flowchart Alat
START
INISIALISASI PROGRAM
SELESAI
SENSOR PZEM MEMBACA NILAI TEGANGAN DAN ARUS PADA
BEBAN LISTRIK
TAMPILKAN NILAI TEGANGAN, ARUS, DAN
DAYA LISTRIK PADA LCD SMARTPHONE
ANDROID KONEKSIKAN ANDROID DENGAN
WIFI NODEMCU ESP8266
Gambar 3.6 Flowchart Sistem
3.6 Pengujian rangkaian dan pengujian hasil sistem 3.6.1 Pengujian Rangkaian IC Regulator 7805
Pengujian rangkaian regulator ini bertujuan untuk mengetahui tegangan yang dikeluarkan oleh rangkaian tersebut, dengan mengukur tegangan keluaran dari output regulator 7805 menggunakan multimeter digital. Setelah dilakukan pengukuran maka diperoleh besarnya tegangan keluaran sebesar 5 volt. Dengan begitu dapat dipastikan apakah terjadi kesalahan terhadap rangkaian atau tidak.
Tabel 3.1 Pengujian Rangkaian IC Regulator 7805
Tegangan Input Tegangan Output
12,10 5.12
Pada pump menggunakan 12 volt, jadi pada pump air ini tidak perlu menggunakan ic regulator karena output dari adaptor sudah 12 volt DC..
3.6.2 Pengujian Mikrokontroler NodeMCU ESP8266
Untuk mengetahui apakah rangkaian mikrokontroler NodeMCU ESP8266 telah bekerja dengan baik, maka dilakukan pengujian dengan melakukan pengukuran tegangan keluaran pada NodeMCU ESP8266.
Tabel 3.2. Pengukuran Pin mikrokontroler NodeMCU ESP8266
No Pin Tegangan keluaran
(Volt)
A0 0,0
G 0,0
VU 5,01
S3 0,0
S2 0,0
S1 0,0
SC 0,0
S0 0,0
SK 3,97
G 0,0
3V 3,02
EN 0,78
RST 0,86
G 0,0
VIN 0,0
3V 3,02
G 0,0
TX 3,95
RX 3,95
D8 3,95
D7 3,94
D6 3,96
D5 3,96
G 0,0
3V 3,02
D4 0,01
D3 0,01
D2 0,01
D1 0,0
D0 4,95
.
Tabel diatas merupakan hasil pengukuran pada mikrokontroler NodeMCU ESP8266, pengukuran dilakukan dengan tujuan untuk mengetahui apakah mikrokontroler NodeMCU ESP8266 bekerja dengan baik atau tidak yaitu dengan membandingkan tegangan terukur dengan program maupun data sheet.
3.6.3 Pengujian Display LCD
Rangkaian LCD dihubungkan ke PD.0….PD6, yang merupakan pin I/O dua arah dan pin fungsi khusus, yaitu sebagai Timer, yaitu sebagai timer/counter, komperator analog dan spimempunyai fungsi khusus sebagai pengerimana data secara serial. Sehingga nilai yang akan tampil pada LCD display akan dapat di kendalikan oleh Mikrokontroller ATMega8535.
Pada bagian ini, mikrokontroller dapat member data langsung ke LCD. Pada LCD Hitachi- M11632 sudah terdapat driver untk mengubah ASCII output mikrokontroller menjadi tampilan karakter.
Tabel 3.3. Pengukuran pin IC LCD
No Pin Tegangan keluaran
(Volt)
1 0,0
2 4,95
3 1,39
4 3,96
5 3,96
6 0,0
7 4,93
8 4,93
9 4,93
10 4,93
11 0,0
12 3,96
13 3,96
14 0,0
15 4,95
16 0,0
Tabel diatas merupakan hasil pengukuran pada Display LCD, pengukurann dilakukan dengan tujuan untuk mengetahui apakah LCD bekerja dengan baik atau tidak yaitu dengan membandingkan tegangan terukur dengan program maupun data sheet.
3.6.4 Pengujian Sensor PZEM-004T
Pengujian sensor Sensor PZEM-004T dilakukan dengan memasukkan program ke dalam mikrokontroller NodeMCU ESP8266, kemudian dilakukan pengujian dengan mengukur daya listrik dari suatu beban listrik hasilnya dapat dilihat pada table dibawah ini: Tabel 3.4. Pengujian Sensor PZEM-004T
Data Uji Tegangan (V) Arus (I) Daya (P)
Setrika 212,1 1,448 307,3
Rice cooker 217,2 0,364 79,1
Blender 215,3 0,715 154
BAB IV
PENGUJIAN ALAT DAN ANALISA RANGKAIAN
4.1 Analisis Hasil Pengukuran dan Pembandingan dengan Hasil Alat Standar Alat ini menguji tegangan, arus dan daya pada sensor PZEM-004T yang dimana memiliki range spesifikasi yang berbeda yaitu range pembaca tegangan 80~260V, range pembacaan arus 0~100A, sedangkan range pembacaan daya 0~23kW. Data pengukuran dapat dilihat pada tabel dibawah:
Data uji V sensor I sensor P sensor V alat I alat P alat
Pengukuran dilakukan dengan metode langsung dengan membandingkan nilai pada alat standard dengan nilai alat yang sudah dibuat. Pengukuran dilakukan agar dapat diperoleh data percobaan sebagai berikut. Pengujian pada sensor PZEM-004T dan alat pembanding tegangan dan arus pada Multimeter dapat dilihat pada tabel dibawah:
DATA UJI BEBAN DAYA PADA SENSOR PZEM- 004T (Watt)
4.3 Pemograman Pada Sistem Alat.
Pemograman sistem alkat dilakukan dengan menggunakan bahasa pemograman arduino, pemograman sistem alat sebagai berikut.
#include <LiquidCrystal.h>
LiquidCrystal lcd(16, 5, 4, 0, 2, 14);
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
IPAddress ip(192,168,1,1);
#include <PZEM004Tv30.h>
PZEM004Tv30 pzem(12, 13); // Software Serial pin 11 (RX) & 12 (TX) // You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "9UIewDaEYHYcfp7kMx6S0UfltzpKVv8_";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Dean";
char pass[] = "15081996";
unsigned long lastMillis = 0;
void setup() {
Serial.begin(115200);
lcd.begin(16, 2);
pzem.setAddress(ip);
Blynk.begin(auth, ssid, pass);
}
void loop() {
Blynk.run();
float voltage = pzem.voltage();
if(voltage != NAN){
Serial.print("Voltage: ");
Serial.print(voltage);
Serial.println("V");
} else {
Serial.println("Error reading voltage");
}
float current = pzem.current();
if(current != NAN){
Serial.print("Current: ");
Serial.print(current);
Serial.println("A");
} else {
Serial.println("Error reading current");
}
float power = pzem.power();
if(current != NAN){
Serial.print("Power: ");
Serial.print(power);
Serial.println("W");
} else {
Serial.println("Error reading power");
}
float energy = pzem.energy();
if(current != NAN){
Serial.print("Energy: ");
Serial.print(energy,3);
Serial.println("kWh");
} else {
Serial.println("Error reading energy");
}
float frequency = pzem.frequency();
if(current != NAN){
Serial.print("Frequency: ");
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(1000);
//Publish data every 10 seconds (10000 milliseconds). Change this value to publish at a different interval.
if (millis() - lastMillis > 10000) { lastMillis = millis();
Blynk.virtualWrite(V1, voltage);
Blynk.virtualWrite(V2, current);
Blynk.virtualWrite(V3, power);
Blynk.virtualWrite(V4, energy);
Blynk.virtualWrite(V5, frequency );
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("V:");
lcd.setCursor(2, 0);
lcd.print(voltage);
lcd.setCursor(9, 0);
lcd.print("I:");
lcd.setCursor(11, 0);
lcd.print(current);
lcd.setCursor(0, 1);
lcd.print("Daya:");
lcd.setCursor(5, 1);
lcd.print(power);}
BAB V PENUTUP
5.1 Kesimpulan
Dari evaluasi hasil kerja alat dapat diambil beberapa kesimpulan dalam tugas akhir ini adalah : untuk membantu masyarakat dalam menghemat pemakaian listrik dirumah, dengan membantu penghuni rumah menggunakan listrik dengan benar dan tepat untuk dinyalakan serta untuk dimatikan. Manfaat alat ini adalah untuk :
1. Mengingatkan penghuni rumah untuk menggunakan listrik seperlunya.
2. Mengurangi terjadinya arus pendek yang menyebabkan kebakaran.
5.2 Saran
Setelah melakukan penulisan ini diperoleh beberapa hal yang dapat dijadikan saran untuk dapat dilakukan perancangan lebih lanjut yaitu:
1. Diperlukan rancangan yang lebih teliti lagi pada alat agar rangkaian ini dapat bekerja lebih sempurna.
2. Agar dilakukan peningkatan kemampuan pada alat ini, sehingga semakin cerdas dengan mengkombinasikan dengan komponen lain, sehingga sistem kerjanya akan lebih baik lagi.
DAFTAR PUSTAKA
1. Jogiyanto Hartono. 1993. Konsep Dasar Pemograman Bahasa C. Andi Yogyakarta. Yogyakarta.
2. Edward, Setyawan. 1994. Pemograman dengan C/C++ dan Aplikasi Numerik.
Erlangga. Jakarta.
3. Widodo Budiharto. 2011. Aneka Proyek Mikrokontroler. Graha Ilmu.
Yogyakarta.
4. Janner Simarmata. 2006. Pengenalan Teknologi Komputer dan Informasi. Andi Yogyakarta. Yogyakarta.
5. Rusman Hakim. 1998. Belajar Sendiri Mengenal Sistem Komputer. Gramedia.
Jakarta.
6. Sudjadi, 2005. Teori dan aplikasi mikrokontroler. Graha Ilmu. Yogyakarta.
7. Syahwil, Muhammad. 2013. Panduan Mudah Simulasi & Praktek Mikrokontroler Arduiono. ANDI OFFSET. Yogyakarta.
8. Situmorang, Marhaposan. 2011. Dasar-dasar Mikrokontroler MCS-5. USU press. Medan.
9. P. Insap Santosa. 1991. Teknik Digital. Andi Yogyakarta. Yogyakarta.
10. R. Harso Adjie. 2013. Merancang USB I/O Board Menggunakan Chip PIC 18F4550. Graha Ilmu. Yogyakarta.
11. Sugiri, Satria. 2008. Belajar Sendiri Merakit Komponen Komputer. Andi Offset.
Yogyakarta.
12. Saludin Muis. 2013. Perancangan Teori & Praktis Power Supply Jenis Switch Mode. Graha Ilmu. Yogyakarta.
13. Siswo, Anggoro. 2015. Pengantar Mikrokontroler dan Aplikasi Pada Arduino.
Teknosain. Yogyakarta.
Lampiran I (Program)
Program
#define BLYNK_PRINT Serial
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
int temp;
int x = 5;
int y;
int value1;
int value2;
float tegangan = 0;
float arus = 0;
float powerx = 0;
float energyx = 0;
float frequencyx = 0;
float pfx = 0;
float datain1;
float datain2;
float datain3;
float datain4;
float datain5;
float datain6;
String dataIn;
String dt[10];
int i;
boolean parsing=false;
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "kjkhjgjhgDSFDSGFgfhghKHKLJHjhjkkgjfjhv";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "hotspotku";
char pass[] = "123456789";
SimpleTimer timer;
// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means // that you define how often to send data to Blynk App.
void sendSensor() {
Blynk.virtualWrite(V2, tegangan);
Blynk.virtualWrite(V3, arus);
Blynk.virtualWrite(V4, powerx);
Blynk.virtualWrite(V5, energyx);
Blynk.virtualWrite(V6, frequencyx);
Blynk.virtualWrite(V7, pfx);
delay(1000);
}
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442);
// Setup a function to be called every second
//kirim data yang telah diterima sebelumnya //Serial.print("data masuk : ");
//pengecekan tiap karakter dengan karakter (#) dan (,) if ((dataIn[i] == '#') || (dataIn[i] == ','))
{
//increment variabel j, digunakan untuk merubah index array penampung j++;
dt[j]=""; //inisialisasi variabel array dt[j]
} else {
//proses tampung data saat pengecekan karakter selesai.
dt[j] = dt[j] + dataIn[i];
} }
datain1 = dt[0].toInt();
tegangan = datain1 / 100.0;
arus = datain2 / 100.0;
powerx = datain3 / 100.0;
energyx = datain4 / 100.0;
frequencyx = datain5 / 100.0;
pfx = datain6 / 100.0;
}
Lampiran II ( Skematik Rangkaian)
Lampiran III ( Gambar Alat)