IMPLEMENTASI
DAN PENGUJIAN
Pada
bab ini akan dibahas tentang pengujian berdasarkan perancangan dari sistem yang
telah dibuat.
Pengujian ini dilakukan untuk mengetahui kemampuan dari sistem dan untuk
mengetahui apakah sistem sudah berjalan dengan perencanaan.
4.1 Kebutuhan Sistem
Adapun beberapa
peralatan yang digunakan dalam penelitian ini adalah sebagai berikut :
1. Perangkat Keras
a. Laptop atau Personal
Computer (PC)
b. Arduino
Uno 1.6.5
c. Modem GSM SIM900A.
d.
Kabel
Data untuk Arduino
e.
LCD
Karakter 16x2
f.
Mur
dan Baut
g.
Kabel
Pelangi
2. Perangkat Lunak
a.
Arduino
IDE 1.6.5
b.
Proteus
Versi 8.1
4.2 Implementasi Sistem
Setelah semua kebutuhan sistem yang telah disiapkan sudah
terpenuhi, maka tahapan selanjutnya adalah menerapkan dan membangun sistem yang
akan dibuat.
4.2.1 Rangkaian Arduino Uno 1.6.5
Arduino
Uno
1.6.5 pada perancangan alat ini merupakan bagian utama
sebagai sistem kendali keseluruhan input dan output yang terhubung ke Arduino.
Gambar 4.20 Rangkaian Arduino Uno 1.6.5
Pada Gambar 4.20 terlihat bahwa sistem minimum Arduino Uno terhubung dengan bagian-bagian yang lain seperti LCD
16x2, rangkaian transistor sebagai driver lampu LED dan GSM modul. Pada sistem minimum Arduino
Uno, terdapat lampu indikator yang difungsikan untuk mengetahui apakah rangkaian
sedang bekerja atau tidak.
4.2.2Rangkaian
LCD Karakter 16x2
Rangkaian
LCD pada pembuatan alat ini digunakan untuk menampilkan data input bluetooth dan SMS Gateway yang dikirim oleh smartphone androidyang kemudian
diproses oleh rangkaian Arduino uno 1.6.5
Gambar 4.21 Rangkaian LCD
Karakter 16x2
4.2.3 Rangkaian Modem GSM SIM900A
Rangkaian GSM pada alat ini berfungsi untuk komunikasi antara
Smartphone dengan alat yaitu melalui media komunikasi SMS. GSM dapat mengirim
dan menerima pesan SMS melalui Sim Card.
Gambar 4.22
Rangkaian Modem GSM SIM900A
4.3 Pengujian Rangkaian
Pengujian dilakukan untuk mengetahui
fungsi dan kinerja dari keseluruhan sistem. Program pengujian disimulasikan di
suatu sistem yang sesuai. Pengujian ini dilaksanakan untuk mengetahui
kehandalan dari sistem dan untuk mengetahui apakah sudah sesuai dengan
perencanaan atau belum. Pengujian pertama-tama dilakukan secara terpisah, dan
kemudian dilakukan ke dalam sistem yang telah terintegrasi.
Pengujian yang dilakukan pada bab ini
antara lain:
1. Pengujian
Minimum Sistem Arduino Uno
1.6.5 dengan LCD.
2. Pengujian Rangkaian Sistem Arduino Uno
1.6.5 dengan GSM
900A
3. Pengujian
Alat secara keseluruhan.
4.3.1 Pengujian Minimum Sistem Arduino Uno dengan
LCD
Rangkaian LCD pada penelitian ini berfungsi untuk
menampilkan informasi berupa tulisan yang dikirimkan oleh aplikasi pada
smartphone android. Untuk mengetahui apakah rangkaian LCD yang telah dibuat
dapat bekerja sesuai yang diinginkan maka dilakukan pengujian rangkaian LCD
yang dihubungkan dengan minimum sistem Arduino Uno 1.6.5.
Peralatan
yang dibutuhkan untuk melakukan pengujian ini yaitu :
1.
Minimum
Sistem Arduino Uno 1.6.5.
2.
Kabel
data Arduino Uno 1.6.5.
3.
Rangkaian
LCD 16 x 2.
4.
Software
Arduino IDE.
Blok
diagram pengujian rangkaian LCD dengan Arduino
Gambar 4.4
:
Gambar
4.23 Blok Diagram Pengujian Rangkaian LCD dengan Arduino Uno
Langkah-langkah melakukan pengujian rangkaian LCD :
1.
Buka
aplikasi Arduino IDE
2.
Selanjutnya
akan muncul tampilan awal “sketch_xxxxxx” secara otomatis seperti pada langkah
sebelumnya.
3.
Mengetikkan
listing program untuk pengujian rangkaian LCD seperti pada gambar 4.24.
Gambar 4.24 Listing
Program Pengujian LCD
4.
Klik Sketchà Verify.
Kemudian akan muncul kotak dialog untuk menyimpanfile project yang baru dibuat. Dapat dilihat pada Gambar 4.25.
Gambar 4.25 Kotak
Dialog menyimpan Program
5.
Kalau sudah tidak ada error, maka klik ikon à Upload
atau Ctrl + U. Dapat dilihat pada
gambar 4.26
di bawah :
Gambar
4.26 Proses
Uploading Program Dari Komputer Ke Arduino
4.3.2
Pengujian Rangkaian
modul GSM SIM900A
Hasil pengujian
modul GSM SIM900A dilakukan dengan mengirim pesan singkat kepada pemilik pompa
air bahwa penampungan air sudah penuh. Pemilik akan menghidupkan pompa air
kembali dengan menghidupkan dengan mengirim pesan #POMPA ON@. Proses pengiriman
dan menerima pesan dapat digambarkan sebagai berikut:
4.3.3
Hasil
Pengujian Rangkaian Relay
hasil pengujian
rangkaian Relay dilakukan dengan memutus aliran listrik pada mesin pompa air.
4.3.4
Hasil
Pengujian Rangkaian Sensor Gerak
Hasil pengujian
rangkaian sensor gerak dilakukan dengan mengitung nilai pembacaan sensor gerak
yang telah dikaliberasi dengan nilai referensi internal
yang disediakan oleh board Arduino uno. Pengukuran nilai
gerak akan dipampilkan di LCD 16x2.
Digambarkan sebagai berikut:
4.3.5 Pengujian
Alat Secara Keseluruhan
Pengujian
alat secara keseluruhan ini merupakan gabungan dari pengujian-pengujian tiap
bagian input dan output yang telah dilakukan sebelumnya. Peralatan yang
dibutuhkan untuk melakukan pengujian ini yaitu :
1.
Minimum
Sistem Arduino Uno 1.6.5.
2.
Kabel
data Arduino Uno IDE.
3.
GSM
SIM900A
4.
Rangkaian
LCD.
5.
Software Arduino IDE.
Blok diagram pengujian Alat secara Keseluruhan seperti
ditunjukkan pada Gambar 4.30 berikut ini:
Gambar
4.30 Blok
Diagram Pengujian Rangkaian Keseluruhan
Langkah-langkah melakukan pengujian Alat secara Keseluruhan :
1.
Buka
aplikasi Arduino IDE
2.
Selanjutnya
akan muncul tampilan awal “sketch_xxxxxx” secara otomatis seperti pada langkah
sebelumnya.
3.
Mengetikkan
listing program untuk pengujian rangkaian Keseluruhan.
4.
Klik Sketchà Verify.
Kemudian akan muncul kotak dialog untuk menyimpan file project yang baru dibuat. Dapat dilihat pada Gambar 4.12 di bawah ini.
Gambar 4.31 Kotak
Dialog menyimpan Program
5.
Kalau sudah tidak ada error, maka klik ikon à Upload
atau Ctrl + U. Dapat dilihat pada
gambar 4.32
di bawah ini :
Gambar
4.32 Proses
Uploading Program Dari Komputer Ke Arduino
#include <Wire.h>
#include
<LiquidCrystal_I2C.h>
#include <GSM.h>
#define PINNUMBER
""
// initialize the
library instance
GSM gsmAccess;
GSM_SMS sms;
LiquidCrystal_I2C
lcd(0x3F,16,2); // set the LCD address
to 0x27 for a 20 chars and 4 line display
#define level_1 A3
#define level_2 A2
#define level_3 A1
#define level_4 A0
#define buzzer 12
#define selenoid 6
#define pompa 7.
int i,j;
char isi_SMS[13],c;
char senderNumber[20];
char
pompa_on[13]="#POMPA ON@";
int level1, level2,
level3, level4;
boolean
flag_sms,flag_level1,flag_level4,pump_on;
void setup() {
lcd.backlight(); lcd.init();
Serial.begin(9600);
// put your setup code here, to run once:
pinMode(level_1,INPUT);
digitalWrite(level_1,HIGH);
pinMode(level_2,INPUT);
digitalWrite(level_2,HIGH);
pinMode(level_3,INPUT);
digitalWrite(level_3,HIGH);
pinMode(level_4,INPUT);
digitalWrite(level_4,HIGH);
pinMode(buzzer,OUTPUT);
pinMode(pompa,OUTPUT);
digitalWrite(pompa,HIGH);
pinMode(selenoid,OUTPUT);
digitalWrite(selenoid,HIGH);
lcd.setCursor(0,0); lcd.print("READING
GSM ");
boolean notConnected = true;
while (notConnected)
{ if (gsmAccess.begin(PINNUMBER) ==
GSM_READY)
notConnected = false;
else
{ lcd.setCursor(0,0); lcd.print("GSM
Not READY ");
Serial.println("GSM Not
connected");
delay(1000);
}
}
lcd.setCursor(0,0); lcd.print("GSM
READY..... ");
Serial.println("GSM initialized");
delay(2000);
lcd.setCursor(0,0); lcd.print("
PRESENTED By : ");
lcd.setCursor(0,1); lcd.print("--LUNGGUK
A.S.--");
delay(2000); lcd.clear();
}
void baca_sensor() {
level1=analogRead(level_1);
level2=analogRead(level_2);
level3=analogRead(level_3);
level4=analogRead(level_4);
}
void loop() {
// put your main code here, to run
repeatedly:
if(sms.available())
{ //Serial.println("Message received
from:");
sms.remoteNumber(senderNumber, 20);
lcd.setCursor(0,0);
lcd.print(senderNumber);
i=0;
while (c = sms.read()) {
isi_SMS[i]=c;
if(isi_SMS[i]=='@') goto lompat;
//Serial.print(c);
i++;
if(i>120) {sms.flush(); goto selesai;}
}
lompat:
lcd.setCursor(0,1); lcd.print(isi_SMS);
sms.flush();
delay(100);
pump_on=0;
for(j=0;j<i;j++)
{
if(pompa_on[j]!=isi_SMS[j])
pump_on=1; }
i=0;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("PERINTAH-->");
if(pump_on==0) {
digitalWrite(selenoid,LOW);
digitalWrite(pompa,LOW);
lcd.setCursor(0,0); lcd.print("SMS
DIVERIFIKASI");
lcd.setCursor(0,1);
lcd.print("-POMPA AIR AKTIF-");
delay(3000);
}
else{lcd.setCursor(0,1);
lcd.print("Format SMS SALAH"); kirim_sms_salah(); delay(3000); }
selesai:
for(j=0;j<12;j++) { isi_SMS[j]=' '; }
//'''''''''''''''''''''''''''''''''''''''''''''
sms.flush();
delay(100);
//("\nEND OF MESSAGE");
sms.flush(); // Delete message from modem
memory
}
baca_sensor();
if(level1>700 && level2>700
&& level3>700 && level4>700) {
lcd.setCursor(0,0); lcd.print("--Level
Air 0--");
if(flag_level1==0) { flag_level1=1;
kirim_SMS_Level_1(); }
}
else if(level1<700 &&
level2>700 && level3>700 && level4>700) { lcd.setCursor(0,0);
lcd.print("--Level Air 1--");
flag_level4=0; }
else if(level1<700 &&
level2<700 && level3>700 && level4>700) {
lcd.setCursor(0,0); lcd.print("--Level Air
2--"); flag_level1=0; flag_level4=0; }
else if(level1<700 &&
level2<700 && level3<700 && level4>700) {
lcd.setCursor(0,0); lcd.print("--Level Air
3--"); flag_level1=0; }
else if(level1<700 &&
level2<700 && level3<700 && level4<700) {
lcd.setCursor(0,0); lcd.print("--Level
Air 4--");
flag_level1=0;
digitalWrite(selenoid,HIGH);
digitalWrite(pompa,HIGH);
digitalWrite(buzzer,HIGH); delay(100);
digitalWrite(buzzer,LOW); delay(100);
if(flag_level4==0) { flag_level4=1;
kirim_SMS_Level_4(); }
}
}
void
kirim_SMS_Level_1() {
// send the message
sms.beginSMS("082304063142");
sms.print("Bak Air Kosong. Balas
\"#POMPA ON@\" Untuk Mengisi Bak Air...");
sms.endSMS();
lcd.setCursor(0,1);
lcd.print("--MENGIRIM SMS--");
delay(2000);
}
void
kirim_SMS_Level_4() {
// send the message
sms.beginSMS("082304063142");
sms.print("Bak Air Sudah Penuh. Proses
Pengisian Air Selesai...");
sms.endSMS();
}
void kirim_sms_salah()
{
// send the message
sms.beginSMS("082304063142");
sms.print("Format SMS Salah
Booos");
sms.endSMS();
}
0 komentar:
Post a Comment