PERANCANGAN PROGRAM ARDUINO PERANCANGAN APLIKASI ANDROID

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