Pembuatan Aplikasi Pengontrol Robot Berbasis Android
Alpha Immanuel
Komp. Nusa Persada I/17, Cimahi
transwortel@gmail.com
Abstract
The controlling system was implemented to give an alternative ways to human being to control a system from far. Wheeled robot is an example of robots that can be controlled. The application that was made used Java and XML program language for Android.
One of the controller is a cellular phone. With the technology development of cellular phone, its not just used to SMS and make a call but can be used to control a robot. The phone controller that used is the phone that use Android as Operating system. The connection between the two different platforms can be connected with Bluetooth.
The wheeled robot controller, the application that was build just can send instructions to move manually such as: move forward, backward, turn left, turn right and the automatically with the ultrasonic sensors as the parameters to move.
With this application, that can be expected to make the user easier to control the robot manually and automatically.
Keywords: wheeled robot, Android, Bluetooth
Abstrak
Sistem pengontrol diimplementasikan untuk memberikan alternatif lain bagi manusia untuk menggerakkan atau mengendalikan suatu sistem dari jarak jauh. Robot beroda merupakan salah satu contoh robot yang dapat dikendalikan. Aplikasi yang dibangun menggunakan pemograman Java dan XML untuk Android.
Salah satu jenis pengontrol adalah telepon seluler. Dengan berkembangnya teknologi, telepon seluler bukan hanya sebatas digunakan untuk sms atau telepon saja, tapi dapat digunakan untuk mengendalikan sebuah robot. Jenis telepon seluler yang digunakan menggunakan operating sistem Android. Koneksi antara dua platform yang berbeda dapat dikoneksikan menggunakan media Bluetooth.
Dalam pengontrolan robot beroda ini, aplikasi yang dibangun hanya mengirimkan perintah untuk bergerak secara manual yaitu : maju, mundur, kiri, kanan;, dan perintah untuk berjalan otomatis menggunakan sensor ultrasonik sebagai parameternya.
Dengan adanya aplikasi ini diharapkan dapat memudahkan pengguna dalam mengontrol robot secara manual dan otomatis.
Kata Kunci : Robot Beroda, Android, Bluetooth 1. Pendahuluan
1.1 Latar Belakang
Dengan kemajuan teknologi saat ini sangat mudah dalam pengambilan suatu informasi. Tetapi perlu adanya pengontrolan terhadap informasi yang diperoleh, sehingga dapat diolah menjadi keluaran yang lebih baik.
Salah satu teknologi yang berkembang sekarang adalah Android. Android merupakan salah satu dari operating system pada ponsel yang berbasis Java dan XML. Umumnya untuk ponsel yang menggunakan Android mempunyai fungsi lebih luas.
Robotik secara umum adalah suatu sistem yang diatur oleh mikrokontroler untuk mengerjakan tugas tertentu. Umumnya dalam suatu robot dengan sistem kompleks diperlukan juga sebuah prosesor untuk mengatur kinerja dari mikrokontroler. Dalam hal ini penulis menggunakan Android sebagai otak pemrosesannya, karena lebih memudahkan dalam hal mobilitas dibanding menggunakan PC.
Oleh karena itu disini penulis akan membuat sebuah robot yang dapat mengikuti jalur yang disiapkan dan membuat aplikasi Android yang dapat mengatur sebuah robot, robot yang dikontrol
menggunakan teknologi Bluetooth untuk berkomunikasi.
1.2 Rumusan Masalah
Dari latar belakang di atas terdapat perumusan masalah yang akan dibahas adalah bagaimana membuat aplikasi android untuk mengontrol robot? 1.3 Tujuan
Tujuan utama dari pembuatan proyek akhir ini adalah pembuatan aplikasi android yang dapat mengontrol robot.
1.4 Batasan Masalah
Ada banyak masalah yang mencakup tentang pembuatan aplikasi pengontrol robot berbasis android. Disini penulis membatasi masalah-masalah yang akan dibahas, yaitu :
1. Bahasa pemograman yang dipakai menggunakan Java, XML, dan C
2. Robot dapat dikontrol secara manual dan otomatis
3. Robot yang digunakan adalah robot beroda dengan mikrokontroler ATmega 8535. 4. Tidak membahas arsitektur dan kinerja
5. Media yang digunakan untuk mengkoneksikan antara android dan robot adalah media
Bluetooth.
5.1 Definisi Operasional
Robot Beroda adalah robot dengan roda sebagai penggeraknya. Robot meteor yang digunakan dalam proyek ini menggunaka dua roda dan satu freewheel.
Android adalah sistem operasi yang berbasis Linux untuk telepon seluler. Sistem operasi ini menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri
Bluetooth adalah sebuah teknologi komunikasi tanpa kabel yang digunakan untuk transfer data antara robot dan aplikasi pada proyek ini.
6.1 Metode Pengerjaan
Pada saat ini terdapat banyak metodologi dalam pembangunan perangkat lunak. Salah satu metode pengerjaan yang digunakan dalam kasus ini adalah SDLC (system development Life Cycle) pada model
waterfall. Secara umum dalam pembangunan
perangkat lunak pada model waterfall terdapat tahapan-tahapan sebagai berikut:
Gambar 1.1 Model waterfall Keterangan:
1) Analisis Kebutuhan
Pada tahap ini dilakukan pengumpulan semua kebutuhan pengguna yang berkaitan dengan perangkat lunak yang akan dibangun. Menganalisa semua kebutuhan yang diperlukan untuk membangun aplikasi yang dapat mengontrol robot.
2) Desain
Pada tahapan ini programmer menterjemahkan keinginan pengguna menjadi desain teknis yang siap diimplementasikan. Programmer merancang desain dan antar muka aplikasi yang mudah dimengerti oleh pengguna.
3) Pembuatan Kode
Pada tahap ini, programmer bekerja berdasarkan desai yang telah dibuat pada tahap sebelumnya dan menterjemahkannya kedalam bahasa pemrograman Java dan XML untuk android.
4) Pengujian
5) Pengujian terhadap program dilaksanakan setelah sebuah program aplikasi selesai dibuat. Pengujian diarahkan untuk menemukan kesalahan dan memastikan bahwa masukan yang diberikan menghasilkan keluaran yang sesuai.
6) Dokumentasi dan Penyusunan Laporan Tahap ini dilakukan untuk memenuhi kebutuhan dalam proses pengerjaan proyek akhir. Di tahap ini dilakukan pengumpulan hasil kerja menjadi suatu dokumen untuk menjelaskan dari awal pembuatan aplikasi hingga menjadi aplikasi yang layak digunakan.
2. Tinjauan Pustaka 2.1 Android
Android adalah sebuah toolkit software yang baru untuk perangkat bergerak yang dibuat oleh Google dan Open Handset Alliance. Dalam beberapa tahun, android diharapkan dapat ditemukan dalam jutaan ponsel dan berbagai perangkat bergerak, membuat Android menjadi platform utama untuk pengembang aplikasi.
Sudah ada banyak platform mobile di pasar saat ini, termasuk Symbian, iPhone, Windows Mobile, BlackBerry, Java Mobile Edition, Linux Mobile (LiMo), dan banyak lagi. Meskipun beberapa fitur-fiturnya telah muncul sebelumnya, Android adalah platform pertama yang menggabungkan beberapa hal berikut:
1. Android merupakan sebuah platform yang berbasis Linux dan open source. Pembuat
handset menyukai hal ini karena mereka dapat
menggunakan dan menyesuaikan platform tanpa membayar royalti.
2. Sebuah arsitektur berbasis komponen. Bagian dari aplikasi android dapat digunakan sebagai bahan lain yang bahkan tidak dibayangkan oleh
developer. Kita dapat menggantikan built-in
komponen aplikasi Android dengan versi pengembangan sendiri.
3. Banyak built-in service yang tidak biasa. Servis berdasarkan lokasi menggunakan GPS atau cell
tower triangulation yang membuat pengalaman
pemakai terjadi bergantung lokasi.
Android menyediakan jalur yang segar dalam aplikasi mobile berinteraksi dengan pemakai, bersama dengan teknik yang mendasar untuk membuatnya mungkin. Tetapi hal yang paling
menarik dalam Android adalah kita dapat menulis sendiri aplikasinya (Burnette, 2008, p. 12). 2.2 Java
Java adalah bahasa pemograman serbaguna. Java dapat digunakan untuk membuat suatu program seperti bahasa Pascal dan C++. Yang lebih menarik, Java juga mendukung sumber daya Internet yang saat ini popular, yaitu World Wide Web atau yang lebih dikenal dengan Web saja. Java juga mendukung aplikasi klien/server, baik dalam jaringan local (LAN) maupoun jarungan berskala luas (WAN) (Hermawan, 2004) .
2.3 XML
XML (eXtensible Markup Language)
merupakan bahasa web turunan dari SGML
(Standart Generalized Markup Language) yang ada
sebelumnya. XML hampir sama dengan HTML, dimana keduanya sama-sama turunan dari SGML. Teknologi XML dikembangkan mulai tahun 1966 dan mendapatkan pengakuan dari W3C (World
Wide Web Consortium) pada bulan Februari 1998.
Sedangkan SGML sendiri telah dikembangkan pada awal tahun 1980-an. Pada saat HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling penting SGML dan dengan berpedoman pada pengembangan HTML menghasilkan bahasa markup yang tidak kalah hebatnya dengan SGML(E. Simpson, 2002). 2.4 Robotik
Perkembangan teknologi saat ini mulai bergeser kearah otomatisasi robot yang memiliki kecerdasan tinggi dengan campur tangan manusia yang semakin kecil. Untuk dapat bekerja secara otomatis maka suatu robot harus mempunyai 3 buah komponen yaitu input (data masukan yang akan diolah), kecerdasan (suatu algoritma yang menangani pengambilan keputusan yang didasarkan pada masukan) dan output (keputusan yang yang diambil )(K.S. Fu, 1988).
2.5 Bluetooth
Bluetooth adalah Sebuah teknologi wireless yang mampu menyediakan layanan komunikasi data dan suara dengan jarak jangkauan yang terbatas.
Bluetooth adalah sebuah teknologi komunikasi
wireless (tanpa kabel) yang beroperasi dalam pita frekuensi 2,4 GHz unlicensed ISM (Industrial, Scientific and Medical) dengan menggunakan sebuah frequency hopping tranceiver yang mampu menyediakan layanan komunikasi data dan suara secara real-time antara host-host Bluetooth dengan jarak jangkauan layanan yang terbatas(Anharku, 2009).
3. Analisis dan Perancangan 3.1 Analisis Kebutuhan Sistem 3.1.1 Kebutuhan sistem aplikasi
Aplikasi yang dibuat diharapkan memiliki kemampuan untuk mengontrol sebuah robot beroda secara manual dan otomatis.
Gambar 3.1.1 usecase diagram sistem Deskripsi usecase diagram sistem
Tabel 3.1.1 Tabel usecase diagram sistem Usecase Deskripsi
User
Seseorang yang menggunakan aplikasi untuk mengontrol robot beroda
Scanning
Mencari koneksi dari perangkat Bluetooth yang menyala
Otomatis
Memberi perintah robot untuk berjalan secara otomatis dengan mengandalkan sensor-sensor
Manual
Menggerakan robot dengan menekan tombol perintah yaitu maju, mundur, kiri, kanan.
Flowchart robot bila bergerak secara otomatis adalah sebagai berikut:
Gambar 3.1.2 flowchart robot otomatis
Adapun flowchart sistem yang akan diimplementasikan adalah sebagai berikut :
Gambar 3.1.1 flowchart scanning Gambar 3.1.2 flowchart manual Gambar 3.1.3 flowchart otomatis
3.1.2 Kebutuhan sistem robot
Robot yang dibuat diharapkan dapat bekerja sesuai perintah yang diberikan untuk bergerak secara manual dan secara otomatis.
Gambar 3.1.4 Blok diagram robot Keterangan blok diagram robot:
1) Mikrokontroler : merupakan pusat pengontrol robot
2) Ultrasonik : merupakan modul sensor yang dapat mengukur jarak
3) Bluetooth modul : perangkat yang dapat menerima dan mengirim sinyal Bluetooth 4) Motor servo : merupakan alat penggerak yang
bergerak sesuai perintah mikrokontroler 5) LCD : merupakan sebuah perangkat yang
dapat memunculkan karakter
Robot yang dibuat memiliki beberapa fungsionalitas :
1) Menggunakan dua servo yang disambungkan ke roda
2) Menggunakan tiga buah sensor ultrasonic yang memungkinkan robot untuk mendeteksi jarak di depan, kiri dan kanan.
3) Menggunakan modul Bluetooth untuk berkomunikasi
4) Menggunakan satu buah LCD untuk menampilkan pesan.
3.2 Kebutuhan Perangkat Keras dan Perangkat Lunak
3.2.1 Pembuatan Sistem
Kebutuhan perangkat keras dan perangkat lunak untuk pembuatan sistem adalah sebagai berikut :
a) Rencana Kebutuhan Perangkat Lunak - Eclipse
- Android Emulator - Code Vision AVR
b) Rencana Kebutuhan Perangkat Keras 1 buah PC :
- Processor : Genuine Intel Core2duo @ 2.00GHz
- Hard disk (Space) : 320GB
- Memory (RAM) : 1 GB - Layar :
Standard Resolution
3.2.2 Rancangan implementasi Sistem
Kebutuhan aplikasi dan robot untuk sistem yang akan diimplementasikan adalah sebagai berikut:
1) Kebutuhan aplikasi
- 1 buah telepon seluler berbasis Android
Minimal SDK 2.2 (API 8) 2) Kebutuhan robot
- Mikrokontroler ATMega 8535 :1 buah Pusat pengendali yang digunakan pada robot meteor.
- Servo continous :2 buah Penggerak robot yang ujungnya di hubungkan dengan roda berada pada pin D2 dan D3.
- Bluetooth modul :1 buah Penerima sinyal Bluetooth berada pada pin D0 dan D1.
- LCD 2x16 :1 buah
Memunculkan karakter yang diinginkan berada pada pin C0, C1, C2, C4, C5, C6, C7.
- Ultrasonik ping Parallax :3 buah Mengukur jarak di depan sensor berada pada pin D5, D6, D7.
- Freewheel :1 buah Roda tambahan yang dapat bergerak bebas, ditempatkan pada bagian bawah robot.
3.3 Perancangan pengujian 3.3.1 Pengujian aplikasi
Tabel 3.3.1
tabel perancangan pengujian aplikasi No. Perintah Parameter
1 Maju Mengirim satu karakter ‘w’
2 Mundur Mengirim satu karakter ‘s’ 3 Kiri Mengirim satu karakter ‘a’
4 Kanan Mengirim satu karakter ‘d’ 5 Otomatis Mengirim satu karakter ‘r’
Tabel 3.3.2 tabel rancangan pengujian robot No. Perintah Parameter
1 Maju Bergerak ke depan sejauh 24 cm
2 Mundur Bergerak mundur sejauh 25,5 cm
3 Kiri Berputar ke arah kiri 90⁰
4 Kanan Berputar ke arah kanan 90⁰ 5 Otomatis Bergerak sendiri
mengandalkan sensor
Skenario pengujian untuk mengukur parameter adalah dengan menggunakan meteran untuk gerakan maju dan mundur, dan busur untuk belok kiri dan kanan. Bentuk sekenario adalah sebagai berikut:
1) Pasang meteran dan letakkan ujung depan robot pada batas 0 cm.
2) Jalankan robot dan hitung hasil akhir ujung depan robot ketika berhenti.
3) Untuk berjalan mundur, letakan ujung belakang robot pada batas 0 cm.
4) Jalankan robot dan hitung hasil akhir di ujung belakang robot ketika berhenti.
5) Letakan busur pada bagian kiri roda robot bila berbelok ke kanan, dan bagian kanan robot bila berbelok ke kiri.
Jalankan robot lalu ukur besar perubahan sudut ketika berhenti.
4. Pengujian dan Implementasi 4.1 Implementasi
Aplikasi yang dibuat memiliki beberapa fungsi : 1) Scanning Bluetooth, mencari perangkat
Bluetooth yang sedang aktif di sekitar perangkat.
2) Manual, mengontrol robot secara manual dengan member perintah, seperti maju, mundur, kiri, kanan.
3) Otomatis, member perintah kepada robot untuk berjalan secara otomatis dengan mengandalkan sensor-sensor yang dipasang. Aplikasi yang dibuat di pasang pada telepon seluler yang berbasis Android dalam kasus ini menggunakan Samsung. Aplikasi yang dibuat dapat berkomunikasi dengan robot menggunakan koneksi Bluetooth. Robot yang dikontrol adalah robot
beroda dengan freewheel di belakangnya. Menggunakan Bluetooth modul, robot dapat berkomunikasi dengan aplikasi melalui Bluetooth di telepon seluler berbasis Android. Aplikasi akan mengirim informasi dengan tipe data
char, lalu akan ditangkap oleh robot dan akan
masuk ke dalam alur proses yang menentukan pergerakan robot.
Gambar 4.1 Koneksi Aplikasi dengan Robot Langkah-langkah implementasi Tugas Akhir adalah sebagai berikut :
1) Mengkompile source code Java dan XML pada Android dalam Eclipse
Gambar 4.2
Compile source code
2) Membuat file paket untuk diinstal (.apk)
Gambar 4.3 Pembuatan file .apk
3) File instalan (.apk) di instal pada telepon seluler berbasis Android
Gambar 4.4 File instalan .apk
4) Aplikasi yang terinstal akan bernama Meteor.
Gambar 4.5 Penginstalan aplikasi meteor
Gambar 4.6
Aplikasi meteor yang sudah terinstal
5) Memulai scanning perangkat Bluetooth
Gambar 4.7
Scanning Bluetooth meteor
6) Memberi perintah secara manual
Gambar 4.8 Menu perintah manual
7) Memberikan perintah untuk bergerak dengan menekan tombol.
Gambar 4.9 Menu perintah otomatis
4.2 Pengujian
Tujuan dari pengujian ini adalah proses komunikasi data antara aplikasi dengan robot mobil yang dikendalikan. Bentuk aturan pada mikrokontroler hanya berupa lama waktu pergerakan roda, sehingga keluaran di atur dari diameter roda, ukuran roda yang digunakan adalah berdiameter 10 cm. Adapun parameter yang hendak diuji pada aplikasi yang dibangun berupa proses pengiriman perintah gerak terhadap robot mobil. Hasil pengujian dilakukan adalah sebagai berikut :
Table 4.1
hasil pengujian yang diberikan No. Perintah Keberhasilan
aplikasi
Keberhasilan robot 1 Maju Berhasil Berhasil 2 Mundur Berhasil Berhasil 3 Belok kiri Berhasil Berhasil 4 Belok
kanan
Berhasil Berhasil 5 otomatis Berhasil Berhasil
Hasil pengukuran yang harapkan adalah aplikasi dan robot menghasilkan keluaran yang sesuai dengan rancangan yang dibuat.
Tabel 4.1
Pengujian pengiriman perintah dari aplikasi No. Perintah yang diberikan Jumlah percobaan Jumlah berhasil Persentasi keberhasilan 1 Maju (sejauh 24 cm) 10 10 100% 2 Mundur (sejauh 25,5 cm) 10 10 100% 3 Belok Kiri ( berputar - 90˚) 10 10 100% 4 Belok Kanan (berputar 90˚) 10 10 100% 5 Otomatis 10 10 100%
Hasil pengukuran yang didapatkan adalah robot berhasil mengikuti perintah yang diberikan dari aplikasi, baik secara manual (maju, mundur, kiri dan kanan), dan otomatis. Kesimpulan dari hasil pengujian adalah semua perintah yang aplikasi berikan pada robot berjalan dengan baik.
5. Penutup 5.1 Kesimpulan
Berdasarkan implementasi dan pengujian dapat disimpulkan bahwa :
1) Aplikasi pengontrol berbasis android dapat mengendalikan gerak robot.
2) Aplikasi dapat berkomunikasi dengan robot beroda melalui jaringan Bluetooth sebagai media pengirim perintah kendali terhadap robot.
5.2 Saran
Terdapat beberapa saran dari penulis untuk pengembangan aplikasi selanjutnya :
1) Aplikasi diharapkan dapat menampilkan masukan dari sensor lain seperti infra merah, kompas digital, kamera, dll.
2) Aplikasi diharapkan dapat dikembangkan menggunakan interrupt.
3) Robot diharapkan dapat dikembangkan menjadi wall follower dan line follower Robot diharapkan dapat dikembangkan untuk dibuat menjadi robot penjinak bom.
5.3 Daftar Pustaka
[1] Andrianto, H. (2008). Pemrograman Mikrokontroler AVR ATMEGA 16 Menggunakan Bahasa C (CodeVision AVR).
Bandung: Informatika.
[2] Anharku. (2009). Bluetooth. Bluetooth . [3] Burnette, E. (2008). Hello, Android. North
Carolina Dallas, Texas: Raleigh.
[4] E. Simpson, J. (2002). Just XML. Yogyakarta: ANDI.
[5] Hermawan, B. (2004). Menguasai Java 2 dan
Object Oriented Programing. Yogyakarta:
ANDI.
[6] K.S. Fu, R. G. (1988). Robotics : Control,
Sensing, Vision, and Intelligenc. Singapore:
McGraw-Hill Book Co.
[7] Kadir, A. (2005). Dasar Pemograman Java. Yogyakarta.ANDI.
[8] Winoto, Ardi. (2008). Mikrokontroler AVR
ATmega8/32/16/8535 dan Pemrogramannya
dengan Bahasa C pada