waktu pada counter mikrokontroller dihentikan. Dari catatan waktu yang didapat maka kecepatan bola dapat ditentukan.
330 Ω
LDR1
2 1
4 3
6 5
8 7
10 9
12 11
14 13
27 28
25 26
23 24
21 22
19 20
17 8
15 16
A RD
U IN
O U
N O
RE V
3
330 Ω
LDR2
ADC0 ADC1
ADC2 ADC3
ADC4 ADC5
LASER 1
LASER 2 5V
GND
BOLA
T A
B U
N G
P E
N G
U JI
A N
5V 5V
GND AVCC
VCC
Gambar 3.5 Rangkaian Sensor LDR pada sistem
3.7 PERANCANGAN PROGRAM ARDUINO
Perancangan program Arduino menggunakan Arduino IDE untuk menuliskan program yang disimpan kedalam mikrokontroller pada Arduino Uno Rev.3 dan
menggunakan software Eclipse IDE untuk merancang aplikasi yang akan diinstall kedalam smatphone Android. Kedalam mikrokontroller pada Arduino Uno Rev.3
akan disimpan program berupa program perhitungan waktu dimana menghitung rentang waktu yang dipicu oleh sensor LDR pertama dan sensor LDR kedua.
Sedangkan pada Eclipse IDE merancang program untuk menerima data yang dikirim dari mikrokontroller pada Arduino Uno Rev.3 melalui USB HOST
SHIELD. Program
yang ditulis
untuk merancang
aplikasi android
mengimplementasikan contoh-contoh program yang diterapkan pada Android Development Kit karena sistem yang dimiliki pada Android Development Kit
memiliki kesamaan seperti pada Arduino Board.
Universitas Sumatera Utara
BAB 4
HASIL DAN PEMBAHASAN
4.1 PEMBAHASAN SISTEM KESELURUHAN
Sebagai awal dari pembahasan sistem dan hasil dari penelitian dilakukan pengujian sistem sebagai pengujian operasional terhadap fungsi bagian-bagian
sistem.
4.1.1 Pengujian Modul Arduino Uno Rev.3
Pengujian modul Arduino Uno Rev.3 dilakukan dengan mengirimkan nilai on dan off untuk LED yang terdapat pada pin 13 Arduino Uno Rev.3. Proses
pengiriman tersebut dilakukan melalui program yang dimasukkan ke modul Arduino Uno Rev.3. Jika LED bekerja sesuai dengan program, maka dapat
disimpulkan bahwa modul bekerja dengan baik. Berikut adalah listing program yang digunakan untuk mengedipkan LED :
int led = 13; void setup {
pinModeled, OUTPUT; }
void loop { digitalWriteled, HIGH; LED dinyalakan
delay500; delay selama setengah
detik digitalWriteled, LOW; LED dipadamkan
delay500; delay selama setengah
detik }
Universitas Sumatera Utara
4.1.2 Pengujian Sistem Sensor
Pengujian dilanjutkan dengan menghitung rentang waktu yang dibaca oleh mikrokontroller dan ditampilkan menggunakan serial monitor dari Arduino
IDE pada komputer PC. Program penghitung waktu dimasukkan kedalam mikrokontroller. Kemudian rangkaian sensor LDR dihubungkan ke modul
Arduino Uno Rev.3 yang masing-masing keluaran sensor LDR pertama pada pin A2 dan keluaran sensor LDR kedua pada pin A0 modul Arduino
Uno Rev.3. Laser-laser ditempatkan didepan masing-masing sensor LDR yang sebelumnya sebelumnya sensor LDR diletakkan didalam kotak hitam.
Kotak hitam sebelumnya telah dilobangi sebagai tempat cahaya laser masuk menuju sensor LDR
Setelah sistem diaktifkan, disiapkan stopwatch sebagai pembacaan manual ketika cahaya laser pada masing-masing daerah pendeteksian
dihalangi dengan cara tertentu. Ini ditujukan supaya menguji apakah hasil pembacaan waktu yang ditampilkan pada serial monitor memiliki perbedaan
yang sangat jauh atau tidak terhadap pembacaan stopwatch. Setelah semuanya disiapkan, cahaya laser pada daerah pertama
dihalangi sembari memulai perhitungan waktu pada stopwatch. Setelah beberapa detik daerah pendeteksian pertama dihalangi, daerah pendeteksian
kedua dihalangi sembari menghentikan perhitungan waktu pada stopwatch. Hasil perhitungan waktu yang ditampilkan pada stopwatch dibandingkan
dengan hasil perhitungan waktu yang ditampilkan pada serial monitor. Jika hasil perhitungan waktu yang ditampilkan pada serial monitor hanya
memiliki selisih yang sangat kecil terhadap pembacaan stopwatch, maka sistem dikatakan berhasil dan siap untuk mengukur viskositas dari sampel
cairan yang telah disiapkan.
Universitas Sumatera Utara
4.1.3 Pengujian Pengiriman Data dari Arduino ke Smartphone Android Menggunakan USB HOST SHIELD
Setelah modul Arduino dan sistem sensor berjalan dengan baik, maka dilakukan pengujian pengiriman data dari modul Arduino ke smartphone
Android dengan program sederhana untuk menampilkan pembacaan perubahan tegangan pada sistem sensor LDR terhadap perubahan intensitas
cahaya untuk mengevaluasi apakah komunikasi data antara modul Arduino dan smartphone Android berjalan dengan baik.
Potongan program yang dimasukkan kedalam modul Arduino untuk membaca perubahan tegangan dari sistem sensor LDR adalah
sebagai berikut :
1 potongan listing program 4.1 2 void setup {
3 Serial.begin9600;
4 acc.powerOn;
5 msg[0] = com_ID;
6 msg[1] = targ_ID;
7 }
8 9 void loop {
10 if acc.isConnected {
11 valPinAnalog = analogReadpinAnalog;
12 msg[2] = byte valPinAnalog 24;
13 msg[3] = byte valPinAnalog 16;
14 msg[4] = byte valPinAnalog 8;
15 msg[5] = byte valPinAnalog;
16 acc.writemsg, 6;
17 delay1000;
18 }
19 }
Pada potongan listing program 4.1, modul Arduino akan membaca perubahan tegangan yang masuk dari sistem sensor LDR ke pin analog
mikrokontroller modul Arduino dan mengirimkan hasil pembacaan ke Android. Proses pengiriman akan terus bekerja dengan penundaan waktu
selama 1000 milisekon atau 1 detik.
Universitas Sumatera Utara
Karena komunikasi yang dilakukan antara modul Arduino dan Android adalah komunikasi serial, maka data yang dikirimkan byte-per-byte
dalam satu stream. Ketentuan pengiriman data yang diberikan oleh Google terdiri dari 3 susunan data byte. Byte pertama menunjukkan jenis perintah
yang digunakan dalam pengiriman dan penerimaan data. Ini ditunjukkan pada baris ke-5 dalam listing program 4.1. Byte kedua menunjukkan jenis
target yang digunakan dalam komunikasi data. Ini ditunjukkan pada baris ke-6 dalam listing program 4.1. Byte ketiga dan seterusnya adalah pesan
yang dikirim dalam komunikasi data. Ini ditunjukkan pada baris ke-12 hingga baris ke-15 dalam listing program 4.1. Sehingga dapat disimpulkan
bahwa byte pertama dan byte kedua merupakan identitas dari serangkaian data yang dikirim dan byte ketiga dan seterusnya adalah pesan yang dikirim.
Untuk menerima serangkaian data yang dikirimkan dari modul Arduino, listing program yang ditulis pada program java untuk aplikasi
Android adalah sebagai berikut :
potongan listing program 4.2 1 Runnable commRunnable = new Runnable {
38 Override
38 public void run {
38 int ret = 0;
5 byte[] buffer = new byte[6]; 6 while ret = 0 {
7 try { 8
ret = mInputStream.readbuffer; 9
} catch IOException e { 10
Log.eTAG, “IOException”, e;
11 break;
12 }
13 switch buffer[0] {
14 case comm_ID:
15 if buffer[1] == targ_ID {
16 final int adcVal = buffer[2] 0xFF 17
24 18
+ buffer[3] 0xFF 16 19
+ buffer[4] 0xFF 8 20
+ buffer[5] 0xFF; 21
runOnUiThreadnew Runnable { 22
Override 23
public void run { 24
adcValueProgressBar.setProgressadcVal; 25
adcValueTextView.setTextgetStringR.string.
Universitas Sumatera Utara
26 adc_val_txt, adcVal;
27 }
28 };
29 }
30 break;
31 default:
32 Log.dTAG,
“pesan tidak dikenal: “ + 33
buffer[0]; 34
break; 35
} } } 37
}; 38
}
Dari potongan listing program 4.2, penerimaan data pada aplikasi Android ditunjukkan pada baris ke-14 hingga baris ke-20. Seperti
serangkaian data yang dikirim dari modul Arduino, aplikasi Android akan menerima byte-per-byte yang masuk ke buffer dengan susunan yang
bersesuian pada listing program yang dimasukkan ke modul Arduino.
4.2 PERANCANGAN APLIKASI ANDROID
Setelah pengujian komunikasi pertukaran data antara modul Arduino dan Smartphone android berhasil, maka dirancang aplikasi Android menggunakan
software Eclipse IDE. Aplikasi Android yang dirancang akan menampilkan hasil perhitungan viskositas berdasarkan nilai waktu yang dikirim dari Arduino. Hasil
perhitungan waktu yang dikirim dari Arduino akan dihitung oleh rumus yang ditulis pada program aplikasi Android untuk menghasilkan dan menampilkan nilai
viskositas. Pada aplikasi Android akan disediakan menu setting untuk mengatur
beberapa parameter yang diperlukan dalam perhitungan viskositas sesuai dengan alat yang rancang. Beberapa parameter yang dapat diatur pada menu setting seperti
diameter bola, jarak kedua sensor, diameter tabung, massa jenis cairan dan lain- lain.
Universitas Sumatera Utara
Start
Pengaturan perangkat accessori
Membuka jalur penerimaan data byte openAccessory
Data byte perhitungan waktu diterima
Perhitungan viskositas
ya tidak
Menampilkan hasil perhitungan viskositas
Selesai
Gambar 4.1 Diagram Alir proses kerja aplikasi pada Android
Universitas Sumatera Utara
4.3 PERHITUNGAN VISKOSITAS