1 LAPORAN TUGAS AKHIR ROBOT PEMBERSIH LANTAI DENGAN KENDALI NIRKABEL MENGGUNAKAN MODUL BLUETOOTH HC-06 BERBASIS ARDUINO MEGA FLOOR CLEANER ROBOT WITH WIRELESS CONTROL USING BLUETOOTH MODULE HC-06 BASED ARDUINO MEGA
ACHMAD LUQMAN NURHAKIM H 13/355047/SV/04937
PROGRAM STUDI DIPLOMA ELEKTRONIKA DAN INSTRUMENTASI DEPARTEMEN TEKNIK ELEKTRO DAN INFORMATIKA SEKOLAH VOKASI UNIVERSITAS GADJAH MADA YOGYAKARTA 2016
2 LAPORAN TUGAS AKHIR ROBOT PEMBERSIH LANTAI DENGAN KENDALI NIRKABEL MENGGUNAKAN MODUL BLUETOOTH HC-06 BERBASIS ARDUINO MEGA Diajukan untuk memenuhi salah satu syarat memperoleh derajat Ahli Madya Elektronika dan Instrumentasi
ACHMAD LUQMAN NURHAKIM H 13/355047/SV/04937
PROGRAM STUDI DIPLOMA ELEKTRONIKA DAN INSTRUMENTASI DEPARTEMEN TEKNIK ELEKTRO DAN INFORMATIKA SEKOLAH VOKASI UNIVERSITAS GADJAH MADA YOGYAKARTA 2016
3
4
5 PERNYATAAN Yang bertanda tangan dibawah ini saya: Nama
: Achmad Luqman Nurhakim H
NIM
: 13/355047/SV/04937
Prodi
: Elektronika dan Instrumentasi
Fakultas
: Sekolah Vokasi
Judul Tugas Akhir
: ROBOT PEMBERSIH LANTAI DENGAN KENDALI NIRKABEL MODUL BLUETOOTH HC-06 BERBASIS ARDUINO MEGA
menyatakan bahwa Laporan Tugas Akhir ini tidak terdapat karya yang pernah diajukan untuk memperoleh gelar Ahli Madya/kesarjanaan di suatu Perguruan Tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka. Yogyakarta, 4 Januari 2016
Achmad Luqman Nurhakim H
6
HALAMAN MOTTO
“Cukuplah Allah SWT sebagai penolong kami, dan Allah adalah sebaik-baik tempat bersandar” (Q.S. Ali ‘Imran : 173)
“Berlomba-lombalah dalam kebaikan..” (Q.S Al – Baqarah : 148)
“ Barang siapa keluar untuk mencari Ilmu maka dia adalah seperti berperang di jalan Allah SWT ” (HR. Tirmidzi)
“Keridhaan Allah tergantung pada keridhaan orangtua dan kemurkaan Allah tergantung pula pada kemurkaan orangtua” (HR. Thabrani)
“A Great pleasure in life is doing what people say you cannot do” (Walter Bagehot)
7
KATA PENGANTAR Puji syukur kehadirat Allah SWT yang telah mencurahkan rahmat serta ridhoNya yang tiada terkira sehingga penulis mampu menyelesaikan tugas akhir ini yang berjudul “ROBOT PEMBERSIH LANTAI DENGAN KENDALI NIRKABEL MODUL BLUETOOTH HC-06 BERBASIS ARDUINO MEGA” ini dapat terselesaikan dengan baik. Tugas Akhir ini disusun sebagai salah satu syarat untuk memperoleh derajat Ahli Madya Program Studi Diploma III Elektronika dan Instrumentasi Fakultas Sekolah Vokasi Universitas Gadjah Mada Yogyakarta. Terselesaikannya Tugas Akhir ini tidak terlepas dari bantuan dan dukungan dari berbagai pihak. Oleh karena iu, dengan segala hormat dan terima kasih diberikan dengan tulus kepada : 1. Bapak Drs. Panggih Basuki, M.Si selaku kepala program studi Diploma III Elektronika dan Instrumentasi sekaligus selaku dosen pembimbing Tugas Akhir yang telah memberikan saran, masukkan, dan bimbingan dalam proses penyelesaian Tugas Akhir ini. 2. Dosen – dosen Program Studi D3 Elektronika dan Instrumentasi yang tidak dapat disebutkan namanya satu persatu yang telah banyak memberikan ilmu yang sangat bermanfaat. 3. Kedua Orang tua tercinta, Bapak Prih Nurkolis dan Ibu Siti Nining Suningsih, Adik-adikku, serta seluruh keluarga yang selalu memberikan dukungan baik secara moral maupun materi. 4. Sahabat – sahabatku, Iftikar S.E, Khaerul Hidayatullah, Iik Nurul Ikhsan, Subhan Muharram, Thantowi Hibatul Wafi, Amaliah, Gustania Padussi, Rahma Fitriyana, Fadly Fachrul Rozy, Amelia Alfisyahri yang selalu
8 memberikan dorongan semangat, keceriaan, dan motivasi dalam membantu penulis mengerjakan Tugas Akhir. 5. Rahmi Fitriyani yang senantiasa memberikan nasihat, masukkan, dan kebersamaan disela-sela kesibukan. 6. Teman-teman D3 ELINS 2013 yang selalu memberikan dorongan semangat, bantuan, dan pengetahuan selama kuliah 7. Keluarga Mahasiswa Diploma Elektronika dan Instrumentasi yang telah memberikan kesempatan untuk mengembangkan diri selama ini. 8. Semua pihak yang tidak bisa disebutkan satu-persatu yang telah membantu lancarnya penyusunan laporan Tugas Akhir. Dalam penyusunan laporan Tugas Akhir ini, penulis menyadari bahwa masih terdapat kekurangan baik dari materi maupun teknik penyajiannya, mengingat kurangnya pengetahuan dan pengalaman penulis. Oleh karena itu, kritikan dan saran yang bersifat membangun sangat diharapkan untuk kesempurnaan laporan.
Semoga tugas akhir ini bermanfaat bagi pihak-pihak
terkait. Yogyakarta, 4 Januari 2017
Penulis
9
DAFTAR ISI HALAMAN JUDULi HALAMAN PENGESAHANi HALAMAN PERNYATAANiv HALAMAN MOTTOv HALAMAN DEDIKASIvi KATA PENGANTARvii DAFTAR ISIix DAFTAR GAMBARxi DAFTAR TABELxiii INTISARIv ABSTRACTv BAB 1 PENDAHULUAN.......................................................................................... 1.1 Latar Belakang............................................................................................... 1.2 Rumusan Masalah.......................................................................................... 1.3 Tujuan Penelitian............................................................................................ 1.4 Manfaat Penelitian.......................................................................................... 1.5 Batasan Masalah............................................................................................. 1.6 Sistematika Penulisan..................................................................................... BAB 2 LANDASAN TEORI...................................................................................... 2.1 Tinjauan Pustaka............................................................................................ 2.2 Dasar Teori..................................................................................................... 2.2.1 Robot Mobile.......................................................................................... 2.2.2 Komunikasi Wireless............................................................................... 2.2.3 Modul Bluetooth HC-06......................................................................... 2.2.4 Pita Frekuensi 2.4 Ghz.......................................................................... 2.2.5 Arduino Mega....................................................................................... 2.2.6 Motor Servo MG-996R......................................................................... 2.2.7 Sensor Jarak (Ultrasonik HY-SRF05)................................................... 2.2.8 Motor DC.............................................................................................. 2.2.9 Liquid Crystal Display (LCD).............................................................. 2.2.10 Peristaltic Liquid Pump........................................................................ 2.2.11 MIT App Inventor................................................................................. 2.2.12 Standar Deviasi..................................................................................... BAB 3 METODOLOGI PENELITIAN...................................................................
10 3.1 Tempat dan Waktu Penelitian....................................................................... 3.1.1 Tempat Penelitian.................................................................................. 3.1.2 Waktu Penelitian................................................................................... 3.2 Alat Penelitian.............................................................................................. 3.3 Bahan Penelitian........................................................................................... Lanjutan Tabel 3.2................................................................................................... 3.4 Rancangan Alat............................................................................................ 3.5 Perancangan Perangkat Keras...................................................................... 3.5.1 Perancangan Mekanik Sistem Robot.................................................... 3.5.2 Perancangan Desain Robot Pembersih Lantai...................................... 3.6 Perancangan Rangkaian Sistem Elektronis.................................................. 3.6.1 Shield Arduino pada Robot Pembersih Lantai...................................... 3.7 Perancangan Perangkat Lunak..................................................................... 3.7.1 Program Arduino................................................................................... 3.7.2 Program Android................................................................................... 3.7.3 Rangkaian Relay (Breakout)................................................................. 3.8 Implementasi Perangkat Lunak.................................................................... 3.8.1 Arduino IDE.......................................................................................... 3.8.2 MIT App Inventor................................................................................. 3.9 Implementasi Perangkat Keras..................................................................... 3.9.1 Pengambilan data sensor jarak.............................................................. 3.9.2 Pengambilan data jarak komunikasi wireless....................................... 3.9.3 Pengambilan data area oleh robot pembersih lantai............................. BAB 4 HASIL DAN PEMBAHASAN.................................................................... 4.1 Hasil Perancangan Sistem............................................................................ 4.1.1 Robot Pembersih Lantai........................................................................ 4.1.2 Sistem Kendali Pada Handset............................................................... 4.2 Hasil Pengujian............................................................................................ 4.2.1 Pengujian dan pengukuran sensor jarak................................................ 4.2.2 Pengujian dan pengukuran jarak komunikasi nirkabel......................... 4.2.3 Pengujian Robot pada Area yang Dibersihkan..................................... 4.3 Pembahasan.................................................................................................. 4.3.1 Pembahasan sistem secara keseluruhan................................................ BAB 5 PENUTUP.................................................................................................... 5.1 Kesimpulan................................................................................................... 5.2 Saran.............................................................................................................
11 DAFTAR GAMB Gambar 2.1. Mobile robot roda/Wheel robot (Wikipedia, 2016).................................. Gambar 2.2. Differential Drive pada mobile robot (Trisno, 2012)................................ Gambar 2.3 Tricycle drive pada mobile robot (Trsino, 2012)...................................... Gambar 2.4 Synchronous drive pada mobile robot (Trisno, 2012).............................. Gambar 2.5 Holomonic drive pada mobile robot (Trisno, 2012).................................. Gambar 2.6 Modul Bluetooth HC-06 (Luqman, 2016)............................................... Gambar 2.7 Board Arduino Mega (Arduino, 2014).................................................... Gambar 2.8 Motor Servo MG-996R (Tower Pro, 2016)............................................. Gambar 2.9 Pulsa Kendali (Hitec, 2015)..................................................................... Gambar 2.10 Pemberian Pulsa pada Motor Servo (Hitec, 2015)................................ Gambar 2.11 Sensor Ultrasonik HY-SRF05 (Jontas, 2012)........................................ Gambar 2.12 Motor DC (batteryspace, 2016)............................................................. Gambar 2.13 Bentuk fisik LCD 16 x 2 (elektronika-dasar, 2016).............................. Gambar 2.14 Datasheet LCD 16 x 2 (engineersgarage, 2016).................................... Gambar 2.15 Bentuk fisik Peristaltic Liquid Pump (adafruit, 2016)........................... Gambar 2.16 “Clover pattern” pada peristaltic pump (kitairu, 2016)......................... Gambar 3.1 Blok Diagram Sistem............................................................................... Gambar 3.2 Desain Body Bawah Pada Robot Pembersih Lantai................................ Gambar 3.3 Bentuk Desain Bagian Samping Sapu..................................................... Gambar 3.4 Bentuk Desain Bagian Samping Roda..................................................... Gambar 3.5 Layer Pertama Tempat Penyimpanan Rangkaian Elektronis................... Gambar 3.7 Desain Layer 2 Tempat Penyimpanan Battery dan Peristaltic Pump...... Gambar 3.8 Desain Layer 3 Tempat Penyimpanan LCD dan Saklar.......................... Gambar 3.9 Rangkaian Power Distribusi.................................................................... Gambar 3.10 Rangkaian Transceiver pada robot pembersih lantai............................. Gambar 3.11 Rangkaian Relay (Breakout).................................................................. Gambar 3.12 Diagram Alir Program Arduino............................................................. Gambar 3.13 Tampilan Interface kendali robot pada handset..................................... Gambar 3.14 Diagram Aktifitas Koneksi Bluetooth................................................... Gambar 3.15 Inisialisasi Input dan Output.................................................................. Gambar 3.16 Source Code pada Void Loop................................................................ Gambar 3.17 Program Kondisi Gerak Robot Pembersih Lantai................................. Gambar 3.18 Program Sistem Gerak Robot................................................................ Gambar 3.19 Aplikasi Kendali Robot Pada Handset................................................... Gambar 3.20 Rancangan Tampilan Awal Aplikasi...................................................... Gambar 3.21 Tampilan List View dari Bluetooth Device yang tersedia..................... Gambar 3.22 Block Diagram ListPicker..................................................................... Gambar 3.23 Block Diagram Pada Komponen Button............................................... Gambar 4.1 Hasil Perancangan Robot Pembersih Lantai............................................ Gambar 4.2 Rancangan Aplikasi Remote Control pada Handset................................ Gambar 4.3 Tampilan Interface Aplikasi Kendali Robot Pembersih Lantai............... Gambar 4.4 Ilustrasi Gerak Robot Pada Area 10 x 10 cm dengan skala 1 : 10........... Y
12
DAFTAR TABEL Tabel 3.1 Peralatan yang digunakan............................................................................ Tabel 3.2 Bahan penelitian yang digunakan................................................................ Tabel 4.1 Data pengujian sensor jarak......................................................................... Tabel 4.2 Pengujian Pengukuran Jarak Komunikasi Robot Dengan Handset.............
13
INTISARI ROBOT PEMBERSIH LANTAI DENGAN KENDALI NIRKABEL MODUL BLUETOOTH HC-06 BERBASIS ARDUINO MEGA ACHMAD LUQMAN NURHAKIM H 13/355047/SV/04937 Kebutuhan pada penggunaan teknologi modern, mempengaruhi manusia untuk terus menggunakan peralatan yang lebih canggih dan efektif pada setiap pekerjaann. Tidak hanya pada dunia industri, peralatan untuk pekerjaan rumah seperti menyapu dan mengepel terus dikembangkan. Salah satunya adalah penggunaan robot yang digunakan untuk menyelesaikan suatu pekerjaan Penelitian ini mengusulkan sebuah perancangan dan pembuatan robot pembersih lantai dengan kendali nirkabel menggunakan modul bluetooth HC-06 berbasis Arduino Mega. Robot bekerja secara semi-manual, yakni dapat dikendalikan oleh remote control yang dipasang pada suatu perangkat berupa handphone dengan sistem operasi android. Tetapi, robot dapat secara otomatis berhenti ketika jarak yang terdeteksi di hadapan robot 10 cm atau kurang. Sensor jarak yang digunakan pada robot menggunakan sensor ultrasonik HY-SRF05. Alat ini mampu dikendalikan dengan jarak maksimum antar perangkat dan robot sejauh 7 meter. Seluruh sistem yang bekerja pada robot ini diproses oleh mikrokontroller arduino mega Kata kunci : HY-SRF05, modul bluetooth HC-06, arduino mega.
14
ABSTRACT FLOOR CLEANER ROBOT WITH WIRELESS CONTROL USING BLUETOOTH MODULE HC-06 BASED ARDUINO MEGA ACHMAD LUQMAN NURHAKIM 13/355047/SV/04937 Requirements on the use of modern technology, affect the human beings to continues using more sophisticated equipment and effective for their jobs. Not only in the industrialized sector, for some tools household such as sweep and mop continues to be developed. And one of them are using robots for completed their jobs. The research proposed a design and manufacture floor cleaner robot with wireless control using bluetooth module HC-06 based Arduino Mega. The robot can working by semi-manual control, that can be controlled by a remote control that is mounted on device in the form of mobile phone with android operating system. But, there can also automatically stopped when the distance was detected before robot reach 10 cm or less. Proximity sensor used in robot is ultrasonic sensor HY-SRF05. This robot is able to be controlled with a device that uses the android operating system with maximum range 7 meters. A whole system that working on this robot are processed using microcontroller Arduino Mega Keywords: HY-SRF05, modul bluetooth HC-06, arduino mega
15
1
PENDAHULUAN
BAB I PENDAHULUAN 1.1 Latar Belakang Seiring berkembangnya teknologi mikrokontroler yang sangat pesat telah mengantarkan kita pada suatu era teknologi robotika, yang telah membuat kualitas kehidupan manusia semakin tinggi. Berbagai robot canggih, sistem keamanan rumah, telekomunikasi, dan sistem komputer telah banyak menggunakan mikrokontroler sebagai unit pengontrol utama. Tentunya hal ini dimaksudkan untuk mempermudah manusia dalam melakukan pekerjaan atau aktifitasnya sehari-hari. Saat ini perkembangan teknologi robotika sendiri telah banyak digunakan dalam berbagai bidang seperti pertanian, perkantoran, industri, dan lain sebagainya. Dalam bidang industri sendiri teknologi robotika telah mampu meningkatkan kualitas maupun kuantitas produksi berbagai pabrik. Tidak hanya itu, teknologi robotika juga telah merambah dalam bidang pendidikan dan hiburan. Tidak sedikit pula robot yang diciptakan guna membantu kegiatan rumah tangga. Perkembangan teknologi robotika yang sudah pesat seperti sekarang ini, peralatan rumah tangga yang digunakan untuk membersihkan lantai seperti sapu, alat pel, atau vaccum cleaner perlu digantikan dengan alat yang lebih mudah. Adanya pemikiran seperti itu, maka muncul ide untuk membuat suatu teknologi robot yang dapat membersihkan lantai dengan lebih mudah yakni dengan robot pembersih lantai. Robot pembersih lantai merupakan robot yang digunakan untuk membersihkan lantai dengan cara menyapu dan mengepel.
2 Robot pembersih lantai ini dapat digerakkan dengan kendali nirkabel menggunakan modul bluetooth HC-06 yang dipasang pada robot guna mempermudah akses kendali oleh si pengguna. Selain itu terdapat pula sensor ultrasonik untuk mendeteksi adanya objek di hadapannya untuk menghindari benturan. Dengan adanya robot pembersih lantai ini diharapkan dapat mempermudah pekerjaan rumah tangga dalam hal membersihkan lantai. 1.2 Rumusan Masalah Berdasarkan latar belakang diatas, maka dapat diambil rumusan masalah yaitu, bagaimana membuat sebuah robot pembersih lantai yang dapat membantu pekerjaan rumah tangga dalam hal membersihkan lantai dengan dikendalikan menggunakan sebuah handset melalui komunikasi nirkabel menggunakan modul bluetooth HC-06. 1.3 Tujuan Penelitian Tujuan yang ingin dicapai dalam pembuatan tugas akhir ini adalah agar pembaca dapat mengetahui tentang suatu sistem kerja robot pembersih lantai yang dapat
dikendalikan
menggunakan
handset
melalui
komunikasi
nirkabel
menggunakan modul bluetooth HC-06 1.4 Manfaat Penelitian Adapun manfaat yang dapat diambil dari pembuatan robot pembersih lantai dengan remote control menggunakan modul bluetooth HC-06 ini adalah :
Dapat mempermudah aktifitas manusia terutama dalam pekerjaan rumah
tangga seperti menyapu dan mengepel lantai Robot pembersih lantai dapat digunakan untuk menyapu dan mengepel lantai dalam suatu ruangan
Robot dikendalikan secara nirkabel dengan remote control menggunakan komunikasi wireless antara handset dan modul bluetooth HC-06
3 1.5 Batasan Masalah Pada perancangan alat ini diberikan beberapa batasan masalah, antara lain :
Robot pembersih lantai ini hanya dapat mendeteksi benda yang terdapat di
depannya Robot tidak dapat mendeteksi debu yang berada di ruangan Robot dijalankan secara nirkabel menggunakan komunikasi wireless antara handset dan modul bluetooth HC-06 dengan jarak maksimum 7 meter 1.6 Sistematika Penulisan Laporan penelitian tugas akhir ini disusun dengan sistematika penulisan
sebagai berikut :
BAB I : PENDAHULUAN Meliputi latar belakang masalah dan manfaat penelitian, tujuan penelitian,
batasan masalah, dan sistematika penulisan. BAB II : LANDASAN TEORI Memuat informasi tinjauan pustaka dari penelitian sebelumnya dan dasar
teori dalam perancangan robot pembersih lantai ini BAB III : METODOLOGI PENELITIAN Meliputi perincian alat dan bahan, perancangan alat, perancangan perangkat
lunak dan langkah pengambilan data dalam penelitian ini. BAB IV : HASIL DAN ANALISAN PENELITIAN Memuat hasil penelitian, analisa, dan pembahasan mengenai penelitian yang
telah diimplementasikan BAB V : KESIMPULAN DAN SARAN Memuat kesimpulan dari keseluruhan hasil penelitian yang telah sesuai dengan tujuan penelitian serta saran dari penulis untuk penelitian lebih lanjut.
4 BAB 2
LANDASAN TEORI
BAB II LANDASAN TEORI 2.1 Tinjauan Pustaka Berkaitan dengan penelitian yang akan dilakukan, maka dilakukan berbagai pengamatan terhadap penelitian-penelitian yang terkait dengan sistem yang akan dibuat. Dari penelitian yang telah dilakukan Dessy yang dilakukan pada tahun 2010 dengan judul “Perancangan komunikasi wireless antar mikrokontroller pada sistem kendali otomatis“ didapat sistem alat kendali yang dirancang adalah prototype pengendalian 2 motor DC yang terdapat pada masing – masing mikrokontroller. Dengan memanfaatkan gelombang radio dengan pemancar radio frekuensi (RF). Teknologi ini bisa mengendalikan peralatan – peralatan tanpa menggunakan kabel yang rumit. Peneliti melakukan studi komunikasi antar mikrokontroller sebagai pengendali. Dengan deskripsi kerja alat dimana mikrokontroler 1 sebagai master mengirimkan data untuk mengendalikan lama putaran motor DC 2 dan mikrokontroller 2 sebagai slave mengaktifkan motor DC 1, setelah adanya sinyal dari sensor karena mendeteksi cahaya. Penelitian yang telah dilakukan oleh Prabowo tahun 2011 dengan judul “Robot pembersih lantai otomatis berbasis mikrokontroler AT89S51”. Sistem perancangan dan perakitan robot pembersih lantai pada penelitian ini berbasis mikrokontroler AT89S51 dengan dimensi robot memiliki panjang 60 cm, lebar 30 cm, dan tinggi 35 cm, dengan sistem mekanik aktuator penggerak pel dan sapu menggunakan motor dc serta terdapat dua buah sensor pendeteksi dinding yang menggunakan limit switch. Penelitian yang telah dilakukan oleh Fakhruddin pada tahun 2011 dengan judul “Rancang bangun rescue robot dengan kendali wireless”. Penelitian ini menjelaskan bahwa perancangan dan pembuatan robot ini terdapat beberapa bagian yaitu motor starter sebagai aktuator, dan mekanik robot ini terdiri atas besi cord dan roda dibuat menggunakan bahan plastik padat, sementara aktuator dan
5 roda dihubungkan menggunakan rantai dengan proporsional tertentu untuk dapat menggerakkan robot dan memperbesar torsi motor. Bentuk rescue robot yang di desain dan dikembangkan dari sebuah mobile robot berbentuk tank. Rescue robot yang dirancang memiliki roda seperti tank menggunakan belt yang diharapkan dapat melintasi segala medan. Robot ini digerakkan dengan menggunakan perantaraan kontrol wireless yang diharapkan dapat lebih efisien dan jangkauan yang luas. Penelitian yang telah dilakukan oleh Andri pada tahun 2012 dengan judul “Perancangan sistem monitoring ketinggian air dan kendali irigasi berbasis sensor ultrasonik melalui frekuensi Radio half duplex”. Sistem pembacaan atau monitoring kondisi ketinggian air dan status pintu air dikirimkan melalui radio frekuensi YS1100 yang ditampilkan kedalam PC dengan menggunakan rangkaian RS232 sebagai media komunikasi antara alat dengan komputer. Sistem penggerak untuk membuka dan menutup pada pintu air menggunakan motor DC 12 volt serta sensor ultrasonik sebagai pendeteksi kondisi tinggi. Dari penelitian yang telah dilakukan oleh Leonardus pada tahun 2016 dengan judul “Pengendalian Rollbot Menggunakan Android Melalui Bluetooth dan Arduino”. Sistem pengendalian rollbot dilakukan menggunakan komunikasi nirkabel antara modul bluetooth dengan handset android untuk melakukan gerakan maju, mundur, belok kanan, belok kiri, berhenti, dan menambah serta mengurangi kecepatan pada motor dc. Terdapat sensor ultrasonik sebagai pendeteksi adanya halangan yang berada di depan robot. Data hasil pembacaan sensor yang berupa jarak dan waktu dapat dikirim ke handset.
6
Tabel 2.1 Tinjauan Pustaka Nama Dessy
Prabowo
Tahun 2010
2011
Judul Perancangan Komunikasi
Keterangan Menggunakan komunikasi
Wireless antar
Radio Frekuensi antar 2
Mikrokontroller Pada
mikrokontroller untuk
Sistem Kendali Otomatis Robot pembersih lantai
mengendalikan motor DC Perancangan sistem
otomatis berbasis
mekanik robot dengan
mikrokontroler AT89S51
aktuator penggerak pel dan sapu menggunakan motor
Fakhruddi
Andri
2011
2012
Robot Rescue yang
dc Menggunakan perantara
dikendalikan dengan
wireless untuk mengontrol
wireless Perancangan sistem
pergerakan mobile robot Sistem monitoring
monitoring ketinggian air
ketinggian air dikirimkan
dan kendali irigasi
melalui radio frekuensi
berbasis sensor
YS1100
ultrasonik melalui frekuensi Radio half Leonardus
2016
duplex Pengendalian Rollbot
Sistem pengendalian
Menggunakan Android
menggunakan komunikasi
Melalui Bluetooth dan
antara modul bluetooth
Arduino
dan handset dengan sistem operasi android
2.2 Dasar Teori 2.2.1
Robot Mobile
7 Mobile robot adalah robot yang memiliki mekanisme penggerak berupa roda (wheel) atau kaki (leg), untuk dapat berpindah dari tempat satu ke tempat lain. Mobile robot dapat bergerak secara otonomi, memiliki navigasi, dan pergerakannya yang tidak tetap tergantung dari medan jelajah. Berikut dibawah ini pada Gambar 2.1 merupakan salah satu jenis mobile robot roda (wheel robot).
Gambar 2.1 Mobile robot roda/Wheel robot (Wikipedia, 2016) Robot beroda (wheel robot) dapat dibagi menurut sistem penggeraknya, yaitu sistem gerak differential drive, tricycle drive, syncronous drive, dan holonomic drive. Salah satu robot yang dibuat merupakan sistem gerak differential drive. 1. Differential drive Sistem gerak differential drive terdiri dari dua buah roda yang terpasang pada kiri dan kanan robot. Sistem differential drive ini memungkinkan robot berputar di tempat dengan cara memutar motor dengan arah berlawanan. Contoh sistem gerak differential drive ini pada kehidupan sehari-hari adalah pada gardan belakang mobil dan mainan mobil radio control (RC). Gambar 2.2 ini merupakan pergerakan dari differential drive.
8 Gambar 2.2 Differential Drive pada mobile robot (Trisno, 2012)
2. Tricycle drive Tricycle drive merupakan sistem gerak dengan tiga buah roda. Dua buah roda dengan satu poros dihubungkan pada sebuah motor penggerak, sedangkan sebuah roda diberlakukan sebagai kemudi yang dapat berputar, ketika berbelok akan didapatkan radius sepanjang titik pertemuan antara roda depan dengan roda belakang. Contoh dari sistem gerak tricycle drive pada kehidupan sehari-hari adalah alat transportasi becak dan bajaj. Gambar 2.3 dibawah ini merupakan sistem gerak tricycle drive.
Gambar 2.3 Tricycle drive pada mobile robot (Trsino, 2012) 3. Synchronous drive Synchronous drive adalah sistem yang menggunakan semua roda yang terdapat pada robot untuk dapat bergerak. Pada saat robot berjalan pada permukaan yang tidak rata, maka roda yang terpengaruh pada ketidak-rataan permukaan akan didukung oleh roda yang tidak terpengaruh, sehingga robot dapat bergerak dengan arah yang tetap. Gambar 2.4 merupakan sistem gerak synchronous drive.
9
Gambar 2.4 Synchronous drive pada mobile robot (Trisno, 2012) 4. Holomonic drive Holomonic drive adalah sistem gerak yang memungkinkan robot bergerak kesegala arah. Gambar 2.5 merupakan sistem gerak holomonic drive.
Gambar 2.5 Holomonic drive pada mobile robot (Trisno, 2012) 2.2.2
Komunikasi Wireless
Komunikasi wireless atau dalam banyak literatur disebut wireless network (WN) adalah sebuah jaringan yang menghubungkan perangkat-perangkat seperti sensor node, router, dan sink node. Perangkat ini terhubung secara ad-hoc dan mendukung komunikasi multi-hop. Istilah ad-hoc merujuk pada kemampuan perangkat untuk berkomunikasi satu sama lain secara langsung tanpa memerlukan infrastruktur jaringan seperti router atau access point, sedangkan multi-hop yaitu
10 istilah yang merujuk pada komunikasi beberapa perangkat yang melibatkan perangkat intermediate, multi-hop melibatkan perangkat antara lain seperti router untuk meneruskan sebuah paket dari satu node ke node lain dalam jaringan. Dalam penelitian ini perangkat yang terhubung dilakukan secara ad-hoc dengan menggunakan modul bluetooth HC-06. 2.2.3
Modul Bluetooth HC-06
Modul Bluetooth HC-06 merupakan modul komunikasi nirkabel pada frekuensi 2,4 GHz dengan default koneksi hanya sebagai slave. Modul ini dioperasikan melalui perintah AT (AT commands) yang dikirimkan secara serial. Koneksi secara default diatur pada kecepatan 9,600 bps (dapat dikustomisasi dari 1200 bps hingga 1,35 Mbps). Catu daya yang digunakan untuk modul ini sebesaar 3,3 volt dengan arus yang digunakan antara 8 mA (saat komunikasi) hingga 30 mA (saat proses pairing). Gambar 2.6 merupakan tampilan fisik dari modul Bluetooth HC-06
Gambar 2.6 Modul Bluetooth HC-06 (imamtechinovation, 2016) 2.2.4
Pita Frekuensi 2.4 Ghz
Gelombang elektromagnetik dapat dimanfaatkan dalam beberapa hal untuk tujuan komunikasi baik itu berupa data ataupun suara. Penggunaan pita frekuensi 2.4GHz di khususkan dalam ISM (Industrial, Scientific, Medical). Beberapa pita frekuensi diatur ketat dalam penggunaannya seperti spectrum
11 frekuensi
VHF (Very High Frequency)
yang
digunakan
sebagai saluran
broadcasting (televisi dan radio) yang dapat menjadi pemasukan finansial bagi negara. Di Indonesia, berdasarkan KEPMEN Nomor 2/2005, pengunakan frekuensi 2.4GHz dapat dilakukan tanpa perlu lisensi dari pemerintah. 2.2.5 Arduino
Mega
adalah
salah
satu
Arduino Mega contoh
papan
pengembangan
mikrokontroller yang lengkap dan mendukung penggunaan breadboard. Arduino mega diciptakan dengan basis mikrokontroller ATmega 1280. Pada Gambar 2.7 ditunjukkan bentuk perangkat keras dari arduino mega
Gambar 2.7 Board Arduino Mega (Arduino, 2014) 2.2.6
Motor Servo MG-996R
Gambar 2.8 Motor Servo MG-996R (Tower Pro, 2016)
12 Gambar 2.8 merupakan salah satu jenis motor servo dengan tipe MG-996R yang dapat bergerak pada sudut 0 sampai 180°. Motor servo merupakan sejenis motor DC yang terdapat umpan balik pada setiap pergerakan motor servo, dimana posisi putaran motor akan di inputkan sebagai umpan balik melalui potentiometer ke rangkaian kontrol yang terdapat dalam satu kesatuan motor servo. Umpan balik dari potentiometer tersebut akan diolah oleh rangkaian kontrol yang akan mengatur motor ke posisi sesuai dengan posisi yang di inginkan. Motor servo banyak diaplikasikan untuk sistem yang membutuhkan aktuator dengan tingkat presisi tinggi atau sistem yang membutuhkan torsi besar dalam pergerakan aktuator hal tersebut dimungkinkan karena didalam motor servo terdapat gear berpasangan untuk memperbesar torsi. Jenis motor servo tidak banyak digunakan dalam kontrol gerak industri, tetapi mereka membentuk dasar dari servo yang sederhana dan murah yang digunakan untuk radio kontrol model. Motor servo lebih canggih mengukur baik posisi dan juga kecepatan poros output. Mereka juga dapat mengontrol kecepatan motor mereka, daripada selalu berjalan dengan kecepatan penuh. Kedua perangkat tambahan,
biasanya
dalam
kombinasi
dengan
algoritma
kontrol
PID,
memungkinkan motor servo yang akan dibawa ke posisinya memerintahkan lebih cepat dan lebih tepat, dengan overshoot kurang. Motor dipasangkan dengan beberapa jenis encoder untuk memberikan posisi dan kecepatan umpan balik. Dalam kasus yang paling sederhana, hanya posisi yang diukur. Posisi diukur dari output dibandingkan dengan posisi perintah, input eksternal ke kontroler. Jika posisi keluaran berbeda dari yang diperlukan, sinyal error yang dihasilkan yang kemudian menyebabkan motor berputar pada kedua arahm, yang diperlukan untuk membawa poros output ke posisi yang sesuai. Sebagai pendekatan posisi, sinyal error tereduksi menjadi nol dan motor berhenti.
13
Gambar 2.9 Pulsa Kendali (Hitec, 2015) Gambar 2.9 dijelaskan bahwa motor servo akan bekerja secara baik jika pada bagian pin kontrolnya diberikan sinyal PWM dengan frekuensi 50 Hz. Dimana pada saat sinyal dengan frekuensi 50 Hz tersebut dicapai pada kondisi Ton Duty Cycle 1,5 ms, maka rotor dari motor akan berhenti tepat di tengahtengah (sudut 0°/netral). Saat Ton Duty Cycle dari sinyal yang diberikan kurang dari 1.5 ms, maka rotor akan berputar ke arah kiri dengan membentuk sudut yang besarnya linier terhadap besarnya Ton Duty Cycle, dan akan bertahan di posisi tersebut. Dan sebaliknya, jika Ton Duty Cycle dari sinyal yang diberikan lebih dari 1.5 ms, maka rotor akan berputar ke arah kanan dengan membentuk sudut yang linier pula terhadap besarnya Ton Duty Cycle, dan bertahan di posisi tersebut. Lebar pulsa dengan waktu 1,5 ms akan memutar poros motor servo ke posisi sudut 90°. Bila pulsa lebih pendek dari 1.5 ms maka akan berputar ke arah posisi 0° atau ke kiri (berlawanan dengan arah jarum jam), sedeangkan bila pulsa yang diberika lebih lama dari 1.5 ms maka poros motor servo akan berputar ke arah
14 posisi 180° atau ke kanan (searah jarum jam). Gambar 2.10 menunjukkan pemberian pulsa pada motor disaat pulsa minimum, netral, dan pulsa maksimum.
Gambar 2.10 Pemberian Pulsa pada Motor Servo (Hitec, 2015) Adapun yang membedakan motor servo jenis MG-996R ini dengan motor servo standar lainnya terletak pada kinerja gear logam yang dimilikinya (metal gear) dan torsi yang cukup besar hingga 13 kg.cm (batas stall torque pada 7,2 volt). Pada catu daya 4,8 volt motor servo ini dapat beroperasi dengan kecepatan motor mencapai 0,17 detik untuk rotasi 60° (tanpa beban), dengan batas stall torque sebesar 9,4 kg.cm. Batas tegangan maksimum yang diberikan adalah 7,2 volt. Tetapi dianjurkan untuk membatasi tegangan catudaya sebesar 6 VDC. Pada tegangan 6 VDC motor servo ini mampu beroperasi dengan kecepatan 0,14 detik per 60° (konsumsi arus tipikal antara 500 mA – 900 mA) dengan batas stall torque sebesar 11 kg.cm (konsumsi arus maksimum/stall current 2,5 A). 2.2.7
Sensor Jarak (Ultrasonik HYSRF05)
Gambar 2.11 Sensor Ultrasonik HY-SRF05 (Jontas, 2012)
15 Gambar 2.11 merupakan sensor jarak dengan tipe sensor ultrasonik HCSRF05 menggunakan sonar untuk menghitung jarak suatu objek seperti yang dilakukan oleh burung Kalelawar atau Lumba-lumba. Sensor ini menawarkan deteksi jarak tanpa sentuhan langsung dengan akurasi yang tinggi dan pembacaan yang stabil. Pembacaan mulai dari 2 cm sampai 400 cm. Sensor ini beroperasi tidak terpengaruh cahaya matahari atau alat pendeteksi jarak lainnya. Sensor ini sudah tersedia modul transmitter dan receiver gelombang ultrasonik. Sensor ini dapat bekerja baik pada sudut 30°. Untuk memulai perhitungan jarak, pin Trigg pada HY-SRF05 harus menerima tegangan sebesar (5 V) setidaknya selama 10 μs (microseconds), hal ini akan memicu sensor mengirim 8 gelombang siklus ultrasonik pada 40 kHz dan menunggu pantulan gelombang ultrasonik. 2.2.8
Motor DC
Motor DC merupakan motor listrik yang menggunakan suplai tegangan arus searah pada kumparan medan untuk diubah menjadi energi gerak mekanik. Kumparan medan pada motor DC disebut stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor (bagian yang berputar). Motor arus searah, sebagaimana namanya, menggunakan arus langsung yang tidak langsung (directundirectional). Pada motor DC terdapat tiga bagian komponen utama untuk dapat berputar yakni kutub medan, dinamo (current electromagnetic), dan commutator. Gambar 2.12 merupakan salah satu contoh motor DC.
Gambar 2.12 Motor DC (batteryspace, 2016) 2.2.9
Liquid Crystal Display (LCD)
16 Liquid Crystal Display (LCD) merupakan salah satu jenis display elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan cahaya dari back-lit. LCD berfungsi sebagai penampil data baik dalam bentuk karakter, huruf, angka, ataupun grafik. LCD yang digunakan pada tugas akhir ini adalah LCD 16 x 2, yang artinya memiliki 16 jumlah kolom dan 2 buah baris yang digunakan sebagai display pemberitahuan monitoring sensor jarak pada robot pembersih lantai. Pada Gambar 2.13 merupakan bentuk fisik dari LCD 16 x 2, dan Gambar 2.14 merupakan datasheet LCD 16 x 2.
Gambar 2.13 Bentuk fisik LCD 16 x 2 (elektronika-dasar, 2016)
Gambar 2.14 Datasheet LCD 16 x 2 (engineersgarage, 2016) 2.2.10 Peristaltic Liquid Pump
17 Pada dasarnya Peristaltic Liquid Pump bekerja dengan dikendalikan menggunakan motor DC , sehingga memliliki torsi yang cukup besar. Di dalamnya terdapat bentuk pola seperti baling-baling atau “clover leaf ”. Ketika motor berputar, baling-baling tersebut akan menekan selang pada satu sisi yang lewat di dalam tabung untuk dapat mengalirkan air menuju sisi lain selang. Peristaltic pump bekerja dengan catu daya sebesar 12 volt, dengan arus yang dibutuhkan sebesar 200 – 300 mA. Kecepatan aliran yang dihasilkan oleh peristaltic pump sebesar 100 mL/menit. Gambar 2.15 adalah bentuk fisik dari peristaltic pump
Gambar 2.15 Bentuk fisik Peristaltic Liquid Pump (adafruit, 2016) 2.2.11 MIT App Inventor App inventor adalah sebuah aplikasi web sumber terbuka (open source) yang pada awalnya dikembangkan oleh google dan dikembangkan oleh Massachusetts Institute of Technology (MIT). App inventor memungkinkan pengguna baru untuk dapat menciptakan aplikasi perangkat lunak untuk sistem operasi android. App inventor menggunakan antarmuka (interface) grafis yang memungkinkan pengguna untuk men-drag and drop objek visual untuk menciptakan aplikasi yang bisa dijalankan pada perangkat android. 2.2.12 Standar Deviasi Standar deviasi merupakan nilai satistik yang dipakai utuk menentukan sebaran data dalam sampel, serta seberapa dekat titik data individu ke mean (rata-
18 rata) nilai sampel. Suatu deviasi yang lebih besar, maka akan memberikan arti bahwa titik data individu jauh dari nilai rata-rata. Standar deviasi dapat digunakn untuk menentukan volatilitas terkait dengan investasi tertentu serta julah resiko. Nilai standar deviasi dapat ditentukan dengan menggunakan persamaan 2.2, untuk selisih setiap data yang di dapat ditentukan dengan persamaan 2.1 : d n=x i−x n (2.1) x N
1 2 (¿ ¿ i− x´n ) (2.2) N∑ i=1 σ =√ ¿
Dimana
x ¿ ) merupakan data hasil yang didapat dari pengukuran atau data sampel dan ¿ ¿
x´ n adalah nilai rata-rata dari sampel yang didapat.
BAB 3
METODOLOGI PENELITIAN
BAB III METODOLOGI PENELITIAN
19 Dalam bab ini akan dibahas mengenai metodelogi penelitian sistem yang dibuat. Metodologi yang dilakukan dalam penelitian dan penulisan tugas akhir ini adalah sebagai berikut : 3.1 Tempat dan Waktu Penelitian 3.1.1
Tempat Penelitian
Penelitian dilakukan di tempat tinggal pribadi Jalan Monjali Gang Temualawak No. 92 Kecamatan Mlati, Sleman, Yogyakarta. Penelitian dilakukan di lokasi tersebut karena jarak yang berdekatan dengan lokasi Universitas Gadjah Mada Fakultas Sekolah Vokasi sehingga dapat mempermudah proses penelitian. 3.1.2
Waktu Penelitian
Waktu penelitian berlangsung selama kurang lebih 7 bulan, sejak bulan Juni 2016 hingga Desember 2016. 3.2 Alat Penelitian Pada implementasi penelitian ini dibutuhkan beberapa peralatan yang dirancang untuk kegiatan penelitian robot pembersih lantai dengan kendali nirkabel menggunakan modul bluetooth dan arduino. Alat yang dibutuhkan dalam membangun sistem ini yaitu seperti dalam Tabel 3.1 :
Tabel 3.1 Peralatan yang digunakan
20 No 1 2 3 4 5 6 7 8 9 10 11 12
Nama Tang Obeng Lem alteco Multimeter Gunting Mur dan baut Kabel Solder Tenol atau timah solder Pasta solder Attractor Aplikasi Arduino IDE, Eagle, dan CorelDraw X7 3.3 Bahan Penelitian
Dalam penelitian ini bahan yang digunakan untuk membuat robot pembersih lantai dengan kendali nirkabel menggunakan modul bluetooth dan arduino adalah seperti dalam Tabel 3.2 :
Tabel 3.2 Bahan penelitian yang digunakan N
Nama Komponen
Keterangan
Jumlah
o 1
Arduino Mega
Mikrokontroler robot dan
1
21 2
remote Sebagai aktuator untuk
Motor DC
3
penggerak roda pada robot 3
Peristaltic pump
dan sapu Sebagai aktuator untuk
1
menyemprotkan air dari 4
Buck Converter
tempat penyimpanan air Sebagai pengatur untuk
1
menurunkan tegangan DC guna memberikan input 5
6
7 8
Modul bluetooth
pada motor servo Sebagai komunikasi
HC-06
nirkabel antara handset
Sensor jarak
dengan robot Sebagai pendeteksi
(HY-SRF05)
halagan dan jarak benda di
Motor Servo
hadapan robot Sebagai aktuator untuk
1
Resistor
penggerak pel pada robot Sebagai beban untuk
Secukupnya
1
1
penahan arus yang 9
Akrilik 3 mm
mengalir dalam rangkaian Sebagai bahan untuk
10
Regulator
rangka robot Sebagai filter tegangan
Secukupnya 2
yang diinginkan Lanjutan Tabel 3.2 11
Light Emitting
Sebagai indikator pada
1
12
Diode (LED) Liquid Crystal
rangkaian shield Sebagai interface yang
1
Display (LCD) 16 x
menampilkan hasil
2
pembacaan jarak sensor
22 3.4 Rancangan Alat Alat ini dirancang dengan menggunakan sebuah mdikrokontroler yakni arduino mega yang terdapat pada robot yang telah terhubung oleh modul bluetooth HC-06 untuk dapat menerima kendali yang dikirimkan oleh handset melalui aplikasi android. Berikut blok diagram tentang mekanisme perancangan perangkat keras ditunjukkan pada Gambar 3.1.
Gambar 3.1 Blok Diagram Sistem 3.5 Perancangan Perangkat Keras 3.5.1
Perancangan Mekanik Sistem Robot
Perancangan mekanik sistem pada robot dilakukan untuk mendapatkan sistem kerja robot yang sesuai dan optimal, meliputi perancangan sistem gerak pada roda untuk gerak robot, sistem gerak pada pel, dan sistem pengairan yang dilakukan oleh peristaltic pump. Pada rancangan gerak robot, roda dibuat menggunakan bahan akrilik sebesar 3 mm dengan diameter sebesar cm yang dihubungkan langsung pada motor dc. Bagian roda ditutupi oleh ban berbahan karet yang berfungsi untuk meminimalisir gaya gesek antara akrilik terhadap lantai agar tidak terjadi selip. Pada perancangan sistem gerak pel, pergerakan dilakukan searah sumbu horizontal dengan memanfaatkan sistem gerak roda gigi dengan bahan akrilik
23 yang saling bersinggungan. Pada salah satu roda gigi dihubungkan langsung dengan motor servo agar roda gigi dapat berputar dan menarik beban berupa pel, sehingga menghasilkan gerakan seperti maju-mundur dikarenakan putaran servo hanya mencapai 180 dan kembali ke posisi 0 Sistem pengairan robot dirancang dengan memanfaatkan gerakan peristaltic dari peristaltic pump, yakni pompa akan menyedot air yang berada di penampung air melalui salah satu lubang selang kemudian mengalirkannya pada sisi lain dari selang yang diarahkan ke lantai. 3.5.2
Perancangan Desain Robot Pembersih Lantai
Bentuk desain robot pembersih robot dirancang menggunakan aplikasi desain grafis CorelDraw X7 dan dicetak menggunakan bahan akrilik dengan ketebalan sebesar 3 mm. Gambar 3.2 dibawah ini adalah bentuk desain bagian body bawah robot
24 Gambar 3.2 Desain Body Bawah Pada Robot Pembersih Lantai Bagian yang ditunjukkan pada Gambar 3.3 adalah bentuk desain pada bagian samping kanan dan kiri untuk bagian sapu. Pada Gambar 3.4 merupakan bagian samping untuk roda.
Gambar 3.3 Bentuk Desain Bagian Samping Sapu
3.4 Bentuk Desain Bagian Samping Roda
25 Pada tempat penyimpanan rangkaian elektronis terdiri dari beberapa layer atau tingkatan. Gambar 3.5 merupakan layer pertama untuk tempat arduino, driver motor H-bridge, dan rangkaian relay.
Gambar 3.5 Layer Pertama Tempat Penyimpanan Rangkaian Elektronis Gambar 3.6 dibawah merupakan bagian dari layer kedua tempat disimpannya peristaltic pump dan battery.
26
Gambar 3.7 Desain Layer 2 Tempat Penyimpanan Battery dan Peristaltic Pump Pada Gambar 3.8 dibawah ini adalah bagian desain pada layer 3 tempat saklar on-off dan LCD 16 x 2.
27
Gambar 3.8 Desain Layer 3 Tempat Penyimpanan LCD dan Saklar 3.6 Perancangan Rangkaian Sistem Elektronis 3.6.1
Shield Arduino pada Robot Pembersih Lantai
Shield arduino pada robot dihubungkan ke arduino mega sebagai mikrokontrollernya dengan beberapa input dan output pin yang digunakan untuk menyuplai tegangan kepada aktuator yang ada pada robot seperti motor DC, motor servo, peristaltic pump, dan komponen-komponen yang digunakan sebagai indikator seperti LED dan LCD. Shield arduino pada robot digunakan sebagai rangkaian receiver untuk menerima data kendali yang dikirimkan oleh handset. Pada perancangan power supply robot pembersih lantai terdapat 3 buah dioda 1N5400 yang berfungsi sebagai pengaman dari adanya arus balik, 3 buah kapasitor polar sebagai filter tegangan, sebuah IC regulator 7808 yang digunakan untuk menyuplai arduino mega, dan sebuah IC regulator 7805 yang digunakan untuk menyuplai tegangan untuk LCD. Arduino mega diberikan input sebesar 8
28 volt yang berasal dari keluaran regulator 7808 dikarenakan tegangan yang paling optimum sebagai tegangan input arduino mega berada pada range 7-12 volt. Jika kurang dari 7 volt, maka pin arduino 5 volt tidak akan dapat mengeluarkan tegangan sebesar 5 volt. Sedangkan jika diberikan 12 volt, akan berakibat overheating pada regulator yang terdapat di arduino. Untuk sensor ultrasonik dan pin 5 volt pada rangkaian relay (breakout), suplai tegangan berasal dari arduino mega 5 Vdc. Sedangkan suplai aktuator untuk motor DC berasal dari tegangan battery sebesar 12 volt. Untuk motor servo suplai tegangan berasal dari output buck converter sebesar 5-6 volt yang dapat diatur nilai keluarannya. Tegangan sumber yang digunakan yaitu battery 12 Volt 2200mAh 3 cell. Pada Gambar 3.9 merupakan rancangan power supply yang dibuat.
Gambar 3.9 Rangkaian Power Distribusi Pada Gambar 3.10 merupakan rangkaian shield yang terdapat dalam robot pembersih lantai. Pada arduino terdapat beberapa komponen pendukung yaitu sebagai berikut :
Motor DC 1 atau motor DC untuk roda PIN (D4, D5, D6, D7)
29
Motor DC 2 atau motor DC untuk sapu PIN (D8, D9, D10, D11)
Servo pel PIN (D34)
Rangkaian breakout (relay) PIN ( D3)
Ultrasonik 1 PIN (D23, D25)
Ultrasonik 2 PIN (A27, D29)
Modul bluetooth PIN (D0, D1 )
Gambar 3.10 Rangkaian Transceiver pada robot pembersih lantai 3.7 Perancangan Perangkat Lunak Perancangan sistem perangkat lunak robot meliputi pemrograman pada robot dengan memasukkan algoritma tertentu agar dapat dijalankan sesuai dengan perintah yang diberikan. Teridiri dari pembacaan sensor, aktuator, ataupun equipment lainnya. Perangkat lunak yang digunakan yaitu unit pengolahan data mikrokontroler arduino dengan pemrograman bahasa C++, MIT App inventor
30 yang merupakan aplikasi web open source untuk membuat aplikasi pada sistem operasi android, dan Arduino IDE (Integrated Development Enviroment) sebagai compilernya. 3.7.1
Program Arduino
Pemrograman utama unit pengolahan data pada arduino merupakan pusat eksekusi program yang akan mengikuti struktur proses dari arduino, terdiri dari fungsi void setup() dan void loop(). Fungsi void setup() dieksekusi hanya sekali ketika arduino diaktifkan atau setelah reset, digunakan untuk inisialisasi variabel, pinMode, penggunaan library, dan lain-lain. Fungsi void loop() dapat dijalankan secara berulang-ulang ketika arduino diaktifkan hingga arduino dimatikan atau reset. Gambar 3.12 merupakan diagram alur program utama yang terdapat pada robot pembersih lantai
31
32 Gambar 3.12 Diagram Alir Program Arduino 3.7.2
Program Android
Sistem kendali robot dibuat menggunakan aplikasi yang berbasis sistem operasi android. Salah satu aplikasi yang dapat digunakan adalah App Inventor, yaitu sebuah aplikasi web open source dengan bentuk pemrograman menggunakan block diagram. Pada perancangannya, aplikasi kendali robot terdiri dari 11 button yang diletakkan pada screen layout dengan fungsi kendali masingmasing yang telah ditentukan. Pemilihan conectivity yang digunakan pada handset adalah bluetoothclient karena media komunikasi yang digunakan antara handset dan robot adalah bluetooth. Gambar 3.13 merupakan tampilan interface pada program kendali robot pembersih lantai.
Gambar 3.13 Tampilan Interface kendali robot pada handset Saat aplikasi dijalankan, koneksi antara handset dengan HC-06 perlu dihubungkan dengan cara menekan button logo bluetooth pada aplikasi. Sistem kemudian akan menampilkan device list bluetooth yang tersedia untuk dapat terkoneksi. Ketika handset dan robot telah terkoneksi maka kendali robot dapat digunakan untuk mengirimkan perintah-perintah seperti maju, mundur, belok
33 kanan, belok kiri, menyalakan air, pel, dan gerak sapu. Diagram aktivitas koneksi bluetooth ditampilkan pada Gambar 3.14
Gambar 3.14 Diagram Aktifitas Koneksi Bluetooth 3.7.3
Rangkaian Relay (Breakout)
Rangkaian relay atau rangkaian breakout berfungsi untuk mengaktifkan peristaltic pump dengan memberikan input kondisi HIGH pada pin digital yang digunakan oleh pump untuk mengalirkan arus listrik yang tinggi dari tegangan battery 12 volt menggunakan arus listrik yang lebih kecil sebagai trigger untuk menggerakkan coil. Pada rangkaian relay terdiri dari beberapa komponen yaitu, relay 5 volt untuk mengalirkan tegangan dari battery (voltage input) kepada peristaltic pump, transistor BD139 sebagai switching dalam rangkaian, dioda sebagai pengaman agar tidak ada arus balik dalam rangkaian, dan resistor. Gambar 3.11 merupakan rangkaian relay (breakout) yang digunakan pada robot pembersih lantai.
34
Gambar 3.11 Rangkaian Relay (Breakout) 3.8 Implementasi Perangkat Lunak Implementasi perangkat lunak dilakukan untuk menerapkan rancangan sistem yang telah dibuat, meliputi pemrograman sistem gerak robot dan kendali robot menggunakan handset berbasis sistem operasi android. 3.8.1
Arduino IDE
Perangkat lunak utama yang digunakan sebagai pengolah data dan sistem gerak robot adalah Arduino IDE. Berikut merupakan fungsi setup pada program arduino yang ditunjukkan pada Gambar 3.15 1 2 3 4 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#include #include #include #define TRIGGER_PIN 23 #define ECHO_PIN 25 #define MAX_DISTANCE 200 NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); LiquidCrystal lcd(36, 38, 40, 42, 44, 46); char command; String string; Servo pel; int int int int int int
led_connect = 3; pos = 0; dir1 = 7; dir2 = 4; dir3 = 11; pwm1 = 6;
35 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
int pwm2 = 5; int pwm3 = 10; int int int int
kec; kec_skg; putar = 100; air = 3;
void setup() { Serial.begin(9600); pinMode(dir1, pinMode(dir2, pinMode(dir3, pinMode(pwm1, pinMode(pwm2, pinMode(pwm3,
OUTPUT); OUTPUT); OUTPUT); OUTPUT); OUTPUT); OUTPUT);
pinMode(air, OUTPUT); digitalWrite(led_connect, LOW); lcd.begin(16, 2); lcd.setCursor(2, 0); lcd.print("TUGAS AKHIR"); lcd.setCursor(0, 1); lcd.print("ACHMAD LUQMAN NH"); delay(2000); lcd.clear(); }
Gambar 3.15 Inisialisasi Input dan Output Source code tersebut adalah bagian yang digunakan untuk memberikan pengaturan awal (setup) sebelum menjalankan fungsi loop. Program setup hanya dijalankan sekali ketika arduino mulai diaktifkan. Pada bagian header yakni baris 1 sampai 3 terdapat library untuk motor servo, sensor ultrasonik, dan LCD yang digunakan untuk mengakses syntax pada library tersebut. Inisialisasi pin yang terdapat pada sensor ultrasonik terdapat pada baris 5 sampai 7, pin trigger di inisialisasi pada pin digital 23 dan pin echo pada pin digital 25. Sensor ultrasonik di definisikan dengan nama “sonar” pada program, sehingga ketika akan mengakses pembacaan data sensor dapat dilakukan dengan memanggil “sonar” dan nilainya dimasukkan pada sebuah variabel. Baris 14 dan 15 merupakan inisialisasi dari variabel command dan string yang digunakan untuk mode penerimaan data. Data yang dikirimkan dari handset akan dibaca sebagai variabel string untuk memberikan kondisi saat perintah pada
36 button tertentu dijalankan. Pada baris 21 sampai 26 merupakan inisialisasi variabel pada pin driver motor H-bridge dengan pin digital arduino, pin – pin yang telah diinisialisasikan tersebut di definisikan sebagai pin output pada bagian void setup(). Selain itu, terdapat pula led indikator yang digunakan pada robot di definisikan sebagai output. Perintah
lcd.begin(16, 2) digunakan untuk
memberikan pengaturan awal lcd dengan ukuran 2 baris dan 16 kolom. Perintah lcd.print(“TUGAS
AKHIR”)
dan
lcd.print(“ACHMAD
LUQMAN
NH”)
digunakan untuk menampilkan tulisan tersebut pada layar LCD di robot sebelum fungsi void loop() dijalankan. Fungsi void loop() ditujukkan pada Gambar 3.16 dibawah ini 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
void loop() { lcd.clear(); if (Serial.available() > 0) { string = ""; }
digitalWrite(led_connect, HIGH);
while (Serial.available() > 0) { command = ((byte)Serial.read()); if (command == ':') { break; } else { string += command; } delay(1); } int baca = sonar.ping(); int jarak = baca / US_ROUNDTRIP_CM; lcd.setCursor(2, 0); lcd.print("JARAK : "); lcd.setCursor(9, 0); lcd.print(jarak); if (jarak <= 10 ) {
37 36 37
}
stopp();
Gambar 3.16 Source Code pada Void Loop Fungsi void loop() akan dijalankan berulang – ulang hingga arduino dimatikan atau direset. Perintah kondisi if (Serial.available > 0) artinya akan dapat dieksekusi ketika pembacaan data serial yang diterima oleh arduino lebih besar dari 0, dengan kata lain ketika data dari handset dikirimkan pada arduino melalui koneksi bluetooth maka perintah yang terdapat didalam kondisi tersebut akan dijalankan. Pada baris 27 merupakan perintah yang digunakan untuk pembacaan sensor ultrasonik, data pembacaan sensor tersebut dimasukkan kedalam variabel baca. Selanjutnya nilai pembacaan tersebut dirubah agar menjadi centimeter dengan mengonversikan nilai pada variabel baca kedalam variabel jarak dengan menggunakan fungsi “baca/US_ROUNDTRIP_CM” 43 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
if (string == "forward") { maju(); Serial.println("Maju"); } else if (string == "left") { belok_kiri(); Serial.println("Kiri"); } else if (string == "lest") { stopp(); Serial.println("Stop"); } else if (string == "right") { belok_kanan(); Serial.println("Kanan"); } else if (string == "rist") { stopp(); Serial.println("Stop"); } else if (string == "back") { mundur(); Serial.println("Mundur"); } else if (string == "stop") { stopp(); Serial.println("Stop"); } else if (string == "pump") { air(); Serial.println("Air");
38 76 78 79 80 81 82 83 84 85 86 87 88 89 90 10 0 10 1 10 2 10 3 10 4 10 5 10 6 10 7 10 8 10 9 11 0 11 1 11 2 11 3 11 4 11 5 11 6 11 7 11 8 11 9
} else if (string == "pust") { stopp(); Serial.println("Stop"); } else if (string == "servo") { pel(); Serial.println("Pel"); } else if (string == "servst") { stopp(); Serial.println("Stop"); } else if (string == "sapu") { sapu(); Serial.println("Sapu on : "); } else if (string == "pls") { kec_skg = putar += 1; delay(50); kec = kec_skg; constrain(kec, 100, 200); Serial.println("Sapu on : "); } else if (string == "plsup") { kec = kec_skg; Serial.println("Sapu on : "); } else if (string == "min") { kec_skg = putar -= 1; delay(50); kec = kec_skg; constrain(kec, 100, 200); Serial.println("Sapu on : "); } else if (string == "minup") { kec = kec_skg; Serial.println("Sapu on : "); } else { stopp(); }
Serial.println(kec);
Serial.println(kec);
Serial.println(kec);
Serial.println(kec);
Serial.println(kec);
39 12 0 12 1 12 2 12 3 12 4 12 5 12 6 12 7 12 8 12 9 13 0 13 1 13 2
Gambar 3.17 Program Kondisi Gerak Robot Pembersih Lantai Gambar 3.17 diatas terdapat beberapa kondisi perintah berupa data string yang memiliki fungsi perintah masing-masing. Perintah tersebut digunakan sebagai kondisi pada gerakan robot. Nilai kondisi tersebut langsung akan diproses oleh arduino, ketika suatu kondisi tersebut terpenuhi, maka program akan mengeksekusi fungsi yang berada didalam kondisi if tersebut seperti perintah maju(), mundur(), stop(), dan lain-lain. Perintah tersebut merupakan fungsi panggilan untuk mengeksekusi perintah yang terdapat didalamnya seperti yang terdapat pada Gambar 3.18 berikut. 1 2 3 4 5 6 7 8 9 1 0
Void mundur() { analogWrite(pwm1, 100); analogWrite(pwm2, 100); digitalWrite(dir1, LOW); digitalWrite(dir2, LOW); } void maju() { analogWrite(pwm1, 100); analogWrite(pwm2, 100); digitalWrite(dir1, HIGH); digitalWrite(dir2, HIGH);
40 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7
} void belok_kanan() { analogWrite(pwm1, 70); analogWrite(pwm2, 0); digitalWrite(dir1, HIGH); digitalWrite(dir2, LOW); } void belok_kiri() { analogWrite(pwm1, 0); analogWrite(pwm2, 70); digitalWrite(dir1, LOW); digitalWrite(dir2, HIGH); } void stopp() { analogWrite(pwm1, 0); analogWrite(pwm2, 0); digitalWrite(dir1, LOW); digitalWrite(dir2, LOW); analogWrite(pwm3, 0); } void air() { digitalWrite(pinAir, HIGH); } void sapu() { kec = putar; analogWrite(pwm3, kec); } void pel() { for (pos = 0; pos <= 180; pos = +1) { pel.write(pos); delay(10); } for (pos = 180; pos > 0; pos -= 1) { pel.write(pos); delay(10); } }
41 3 8 3 9 4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 5 0
Gambar 3.18 Program Sistem Gerak Robot Sistem gerak robot akan dieksekusi ketika kondisi if pada gerak robot terpenuhi, pada kondisi awal nilai pin pada dir1 dan dir2 bernilai LOW, sedangkan pada pin pwm1, pwm2, dan pwm3 bernilai 0 atau pada kondisi tersebut tidak memenuhi salah satu kondisi yang terdapat pada fungsi if gerak robot, sehingga program akan mengeksekusi perintah stopp(). Saat kondisi gerak robot ada yang terpenuhi robot akan mengeksekusi subprogram yang terdapat di dalam kondisi if tersebut dan nilai pada pwm1, pwm2, dan pwm3 akan diberikan sebesar 100 ketika melakukan gerak maju, mundur, atau mengaktifkan sapu. Akan tetapi, ketika kondisi if yang terpenuhi adalah belok kanan atau belok kiri, nilai pwm1 dan pwm2 akan diatur sebesar 70 . Nilai pwm1 akan diberikan 70 ketika belok kanan dijalankan, sebaliknya pwm2 akan diberikan nilai 70 ketika robot belok kiri. Kondisi stop digunakan untuk menghentikan seluruh gerakan robot. Berdasarkan rancangan sistem yang dibuat, pada gerakan maju dan mundur
42 button pada handset diberikan method sekali tekan untuk dapat memberikan perintah, oleh karena itu stopp() digunakan untuk menghentikan gerakan robot pembersih lantai ketika kondisi if maju dan mundur terpenuhi. 3.8.2
MIT App Inventor
Aplikasi kendali gerak robot yang dibuat untuk handset
hanya dapat
digunakan dengan sistem operasi minimun android 2.3 (gingerbread atau diatasnya). 3.8.2.1 Perancangan Tampilan Interface Pada Handset
Gambar 3.20 Rancangan Tampilan Awal Aplikasi Tampilan awal terdapat 11 buah button seperti yang terdapat pada Gambar 3.20 dengan fungsi perintah masing-masing yang telah diatur. Sebelum aplikasi dapat digunakan, bluetooth pada handset harus terhubung terlebih dahulu dengan modul bluetooth HC-06 yang telah terpasang pada robot dengan menekan button pada aplikasi. Sistem akan menampilkan list view dari semua bluetooth device yang tersedia pada handset, tetapi sebelumnya terlebih dahulu dilakukan pairing manual antara bluetooth handset dengan bluetooth device yang akan dihubungkan sehingga ketika list view terbuka maka bluetooth device yang akan kita hubungkan dapat terlihat. Tampilan list view dapat dilihat pada Gambar 3.21
43
Gambar 3.21 Tampilan List View dari Bluetooth Device yang tersedia 3.8.2.2 Perancangan Block Program Kendali Robot Pemrograman pada aplikasi kendali robot dibuat menggunakan block diagram yang memiliki method dan event tertentu untuk memberikan perintah terhadap komponen-komponen yang terdapat pada layout.
Gambar 3.22 Block Diagram ListPicker Gambar 3.22 merupakan block diagram pada listpicker, terdapat dua keadaan yakni sebelum dan sesudah listpicker dipilih. Ketika listpicker belum
44 dipilih maka program akan menampilkan listview dari bluetooth device yang tersedia pada handset. Saat listpicker telah dipilih maka handset akan dikoneksikan dengan bluetooth device yang telah dipilih dan tulisan pada label1 yang tedapat pada layout akan berubah menjadi connected, namun saat listpicker belum dipilih tulisan yang terdapat pada label1 akan menjadi not connected. Pemrograman pada button terdiri dari beberapa method berbeda yang digunakan, antara perintah maju, mundur, belok kanan, belok kiri, menyalakan air, pel, dan mengaktifkan sapu. Perbedaan tersebut dikarenakan karena pengaturan saat button ditekan memiliki perintah yang berbeda pula. Pada button maju, mundur, dan sapu method yang digunakan adalah “.Click” artinya ketika button tersebut ditekan sekali, maka perintah yang diberikan akan berjalan secara terus menerus. Berbeda dengan button untuk belok kanan, kiri, tombol plus, dan minus, method yang digunakan adalah “.TouchDown” dan “TouchUp”. Artinya perintah akan dikirimkan selama button tersebut masih ditekan, ketika button sudah tidak ditekan makan perintah tidak dapat dikirimkan. Gambar 3.23 merupakan diagram block pada komponen button yang terdapat pada layout.
45
Gambar 3.23 Block Diagram Pada Komponen Button Ketika method pada button telah dijalankan, selanjutnya button akan menjalankan event dengan mengirimkan perintah-perintah berupa data string yang berbeda melalui koneksi bluetooth diantaranya “forward”, “back”, “left”, “right”, “stop”, “pump”, “servo”, “lest”, “rist”, “sapu”, “pust”, “servst”, ”min”, “pls”, ”minup”, “plsup”. Pada button yang menggunakan method “.TouchDown” kondisinya akan dijalankan ketika button ditekan atau sama halnya dengan button bernilai 1, tetapi perlu adanya method untuk mengembalikan kondisi button atau mereset nilai button tersebut menjadi 0 yakni dengan menggunakan method
46 “.TouchUp” artinya perintah yang akan dijalankan ketika button sudah tidak ditekan lagi. Perintah – perintah pada method “.TouchUp” digunakan pada button untuk belok kanan (“rist”), belok kiri (“lest”), mengaktifkan pel (“servst”), air (“pust”), plus (“plsup”), dan minus (“minup”). 3.9 Implementasi Perangkat Keras Implementasi dari perangkat keras meliputi beberapa pengujian terhadap komponen – komponen yang digunakan, yaitu : 3.9.1
Pengambilan data sensor jarak
Pengambilan data sensor jarak maksimum dilakukan dengan cara memberikan halangan didepan sensor hingga sensor tidak dapat membaca jarak sama sekali. Pembacaan sensor jarak ini ditampilkan oleh LCD yang terdapat pada robot dan serial monitor pada software arduino IDE. Proses pengukuran disesuaikan antara hasil data yang terbaca oleh sensor dengan pembacaan alat ukur berupa penggaris. Pengambilan data sensor jarak dilakukan sebanyak 3 kali. 3.9.2
Pengambilan data jarak komunikasi wireless
Pengambilan data jarak komunikasi wireless dilakukan dengan cara menghubungkan antara bluetooth yang terdapat pada handset dengan modul bluetooth yang terdapat pada robot pembersih lantai, kemudian jarak komunikasi wireless di variasikan sebanyak 10 kali dengan cara jarak antara robot dan handset saling dijauhkan hingga robot tidak dapat menerima kendali dari remote control yang terdapat pada handset. Pengambilan data jarak komunikasi wireless dilakukan dua kali pada ruangan tertutup. 3.9.3
Pengambilan data area yang dibersihkan oleh robot pembersih lantai
Pengambilan data area yang dibersihkan oleh robot dilakukan dengan cara robot berjalan dengan menyapu dan mengepel pada area yang telah ditentukan.
47
BAB 4
HASIL DAN PEMBAHASAN
BAB IV HASIL DAN PEMBAHASAN Pada bagian ini akan membahas tentang hasil pengujian Robot Pembersih Lantai dengan Kendali Nirkabel Modul Bluetooth HC-06 Berbasis Arduino. Secara keseluruhan pengujian sistem ini bertujuan untuk memberikan informasi berupa hasil perancangan sistem yang telah dibuat dari segi mekanik dan sistem kendali. 4.1 Hasil Perancangan Sistem 4.1.1
Robot Pembersih Lantai
Gambar 4.1 Hasil Perancangan Robot Pembersih Lantai
48 Gambar 4.1 ditunjukkan hasil perancangan robot pembersih lantai yang sesuai dengan rancangan yang telah dibuat. Robot pembersih lantai dari hasil rancangan ini terdiri dari 3 buah motor dc sebagai aktuator untuk menggerakkan roda dan menggerakan sapu, 1 buah motor servo yang digunakan untuk menggerakkan pel secara horizontal, dan 1 buah peristaltic pump yang digunakan untuk mengeluarkan air. Pemilihan motor servo yang digunakan pada robot pembersih lantai menggunakan torsi dengan beban maksimum 13 kg, dikarenakan berat pel yang terpasang pada robot akan bertambah ketika terkena air. Pada bagian roda, motor dc yang digunakan memiliki beban maksimum 10 kg. Sensor yang digunakan pada robot pembersih lantai adalah sensor jarak HYSRF05. Penggunaan sensor jarak sebagai detektor dan indikasi adanya halangan di hadapan robot sehingga saat halangan terdeteksi data pembacaan sensor tersebut digunakan untuk menggerakkan motor dc pada roda agar berhenti agar tidak terjadi tabrakan. Hasil perancangan ini dibuat menggunakan 1 buah shield dengan arduino mega sebagai mikrokontrolernya. 4.1.2
Sistem Kendali Pada Handset
Remote control yang digunakan sebagai sistem kendali pada robot dibuat menggunakan aplikasi android yang dipasang pada handset. Kendali robot dapat digunakan melalui komunikasi bluetooth antara handset dengan robot menggunakan modul bluetooth seri HC-06. Sistem kendali yang terdapat pada handset terdiri dari komponen yang memiliki perintah-perintah tertentu agar dapat digunakan untuk menjalankan gerak robot secara keseluruhan. Tampilan hasil rancangan aplikasi remote control pada handset dapat dilihat pada Gambar
49
Gambar 4.2 Rancangan Aplikasi Remote Control pada Handset Dibawah ini adalah tampilan interface aplikasi kendali robot dan susunan button yang digunakan untuk mengirimkan perintah.
Gambar 4.3 Tampilan Interface Aplikasi Kendali Robot Pembersih Lantai
50 4.2 Hasil Pengujian 4.2.1
Pengujian dan pengukuran sensor jarak
Hasil uji ketepatan alat pendeteksi pada sensor jarak menggunakan teori deviasi standar. Deviasi standar merupakan cara ampuh untuk menganalisa kesalahan-kesalahan acak secara statistik. Tabel 4.1 merupakan pengujian data jarak.
Tabel 4.1 Data pengujian sensor jarak N
Data Jarak
o 1 2 3 4 5 6 7 8 9 10
20 cm 40 cm 60 cm 80 cm 100 cm 120 cm 140 cm 160 cm 180 cm 200 cm
Hasil Pengujia Pengujia Pengujia n1 21 cm 42 cm 62 cm 80 cm 102 cm 122 cm 141 cm 158 cm 182 cm 198 cm
n2 20 cm 42 cm 61 cm 81 cm 98 cm 121 cm 141 cm 161 cm 179 cm 201 cm
n3 20 cm 41 cm 59 cm 79 cm 99 cm 120 cm 138 cm 160 cm 178 cm 200 cm
51 ´ 110,8 110,5 109,4 Nilai rata-rata (x) Diperoleh nilai rata – rata pada setiap sensor jarak yang dipasang. Berdasarkan 3 kali percobaan diperoleh nilai rata – rata sebesar 110,8; 110,5; dan 109,4. Berdasarkan 3 kali pengujian yang telah dilakukan, didapatkan grafik nilai terhadap 10 variasi jarak. Gambar 4.4 merupakan grafik pada pengujian 1
Pengujian 1 170 120 70 20
1
2
3
4
5
6
7
8
9
10
Pengujian 1
Gambar 4.4 Grafik Pembacaan Sensor Jarak Pada Pengujian 1 Gambar 4.5 adalah grafik pembacaan sensor ultraonik pada pengujian 2
Pengujian 2 200 180 160 140 120 100 80 60 40 20
1
2
3
4
5
6
7
8
9
10
Pengujian 2
Gambar 4.5 Grafik Pembacaan Sensor Ultrasonik Pada Pengujian 2
52 Gambar 4.6 merupakan grafik pembacaan dari sensor ultrasonic pada pengujian 3.
Pengujian 3 200 180 160 140 120 100 80 60 40 20
1
2
3
4
5
6
7
8
9
10
Pengujian 3
Gambar 4.6 Grafik Pembacaan Sensor Ultrasonik Pada Pengujian 3 Untuk nilai penyimpangan (deviasi) dapat ditentukan dengan mencari nilai selisih antara suatu pembacaan terhadap nilai rata-rata dalam kelompok pembacaan. Sebagai contoh dalam perhitungan dari hasil data sensor jarak nomor 6 pada pengujian pertama berdasarkan persamaan 2.1 adalah sebagai berikut : d 6=122−120=2 Maka setelah penyimpangan (deviasi) didapatkan pada setiap 10 data. Deviasi standar dapat ditulis menggunakan persamaan 2.2 dalam bentuk matematis sebagai berikut: σ=
√
12 +22+ 22+ 02+ 22+ 22+12 +(−2)2 +22+(−2)2 =1,73 10 Didapatkan kesalahan-kesalahan acak secara statistik pada pengujian
sensor jarak nomer 6 yaitu 1,73. Maka dari 10 data yang diperoleh memiliki pengeluaran yang hampir sama. 4.2.2
Pengujian dan pengukuran jarak komunikasi nirkabel
53 Dalam uji coba penelitian komunikasi nirkabel menggunakan modul bluetooth HC-06 pada ruangan tertutup dengan penghalang beberapa dinding. Didapat data hasil berupa respon robot terhadap kendali yang diberikan oleh handset pada jarak tertentu seperti yang ditampilkan pada tabel 4.2 Tabel 4.2 Pengujian Pengukuran Jarak Komunikasi Robot Dengan Handset No 1 2 3 4 5 6 7 8 9 10
Jarak (meter) 1 meter 2 meter 3 meter 4 meter 5 meter 6 meter 7 meter 8 meter 9 meter 10 meter
Data Terikirim Terkirim Terkirim Terkirim Terkirim Terkirim Terkirim Putus – putus Tidak Terikirm Tidak Terkirim
Berdasarkan data hasil yang didapat pada tabel tersebut, dapat dilihat bahwa respon yang diberikan oleh robot terhadap kendali pada handset cukup stabil pada jarak 1 – 7 meter dengan delay tidak mencapai 1 second. Karena ketika respon yang diterima oleh robot mencapai 1 second maka akan mempengaruhi kerja sistem pada robot. Setelah kendali jarak dijauhkan sebesar 8 meter dari robot, kendali yang dikirimkan tidak dapat diterima dengan jelas oleh robot atau putusputus. Semakin dijauhkan lagi jarak antara handset dengan robot, pembacaan kendali yang dikirimkan tidak dapat diterima dengan baik oleh robot. Beberapa faktor yang dapat mengakibatkan hal tersebut diantaranya karena adanya tembok yang menghalangi ketika pengambilan data ujicoba dilakukan pada ruangan tertutup dengan luas area sekitar 11 x 7 meter. Faktor yang memungkinkan lainnya adalah kurangnya arus yang mengalir pada modul bluetooth HC-06 karena banyaknya distribusi power yang dialirkan untuk rangkaian – rangkaian lain yang terdapat pada robot yang mengakibatkan arus yang dialirkan terbagi-bagi sehingga respon penerimaan kendali berkurang sekitar 30% dari datasheet jarak maksimum pembacaan modul bluetooth yang seharusnya 10 meter menjadi 7 meter saja.
54 4.2.3
Pengujian Robot pada Area yang Dibersihkan
Berdasarkan hasil ujicoba yang telah dilakukan, pada area lantai keramik berukuran 30 x 30 cm robot dapat dengan mudah bergerak untuk menyapu dan mengepel lantai. Untuk membersihkan 1 buah ubin keramik dengan ukuran 1 x 1 meter robot membutuhkan waktu sebesar 15 second. Robot bergerak dengan dikendalikan secara manual oleh remote control seperti pada Gambar 4.4, dapat dilihat bahwa terdapat beberapa area yang tidak dapat dibersihkan secara keseluruhan dikarenakan pada sensor jarak terdapat kondisi ketika pembacaan kurang dari 10 cm maka robot akan berhenti, artinya pada setiap jarak 10 cm yang berada di hadapan robot tidak dapat dibersihkan sepenuhnya dikarenakan dimensi robot yang akan terhalangi jika kondisi berhenti berada pada jarak yang lebih kecil dari 10 cm. Gambar 4.4 dibawah adalah ilustrasi gerak robot pada area 10 x 10 cm dengan skala 1 : 10.
55 Gambar 4.7 Ilustrasi Gerak Robot Membersihkan Area 10 x 10 cm dengan skala 1 : 10 4.3 Pembahasan 4.3.1
Pembahasan sistem secara keseluruhan
Secara keseluruhan sistem telah bekerja dengan baik, sesuai dengan data hasil yang telah didapat. Pada penelitian ini robot bergerak dengan dikendalikan oleh aplikasi remote control yang terpasang pada handset. Sebelum robot dapat bergerak, handset dan modul bluetooth perlu dihubungkan terlebih dahulu. Akan tetapi, bluetooth device yang akan dihubungkan dengan handset perlu dilakukan pairing secara manual agar bluetooth device tersedia pada list picker. Hal ini dikarenakan modul bluetooth HC-06 tidak dapat melakukan sambungan secara otomatis terhadap device yang akan dihubungkan. Untuk itu, handset perlu melakukan manual pairing device agar dapat mengirimkan kendali sistem gerak robot sesuai yang diinginkan. Robot akan bergerak sesuai dengan perintah yang diterima dari kendali remote control yang terdapat pada handset, seperti gerakan maju, mundur, belok kanan, belok kiri, menyalakan air, menggerakkan pel, dan mengatur kecepatan pada sapu. Beberapa button yang terdapat di dalam aplikasi tersebut di-setting dengan method yang berbeda-beda. Button maju, mundur, dan mengaktifkan sapu menggunakan method “.Click” yang artinya button tersebut akan aktif secara terus menerus ketika button ditekan sekali. Lain halnya dengan button pada gerakan belok kanan, belok kiri, air, pel, plus, dan minus. Button tersebut menggunakan method “.TouchDown” dan “.TouchUp” yang artinya button hanya dapat mengirimkan suatu perintah kendali selama tombol tersebut ditekan terus – menerus. Ketika button dilepas, maka robot akan berhenti. Sensor ultrasonik yang terdapat pada robot berfungsi untuk mendeteksi adanya halangan di hadapan robot, ketika nilai pembacaan sensor lebih kecil dari 10 cm maka robot akan menghentikan gerak motor dc pada roda sehingga dapat
56 menghindari tabrakan dengan benda di hadapannya. Hasil pembacaan jarak sensor ultrasonik dapat dilihat pada tabel 4.1, dari pembacaan tersebut didapatkan nilai deviasi standar sebesar 1,77. Sistem kendali robot yang menggunakan komunikasi nirkabel melalui modul bluetooth HC-06 memiliki jarak optimal agar pengiriman data dapat diterima dengan baik pada robot pembersih lantai. Berdasarkan datasheet yang ada, jarak maksimum koneksi yang dapat terhubung adalah 10 meter. Tetapi, berdasarkan hasil yang telah diujicobakan jarak optimum kendali adalah 7 meter. Beberapa faktor yang dapat mengakibatkan hal tersebut diantaranya adalah objek yang menghalangi ketika pengambilan data dilakukan pada ruangan tertutup dengan luas sekitar 11 x 7 meter seperti tembok atau faktor lain yang berasal dari sistem elektronis pada rangkaian di dalam robot itu sendiri yaitu kurangnya arus yang mengalir pada modul bluetooth HC-06 sehingga daya respon yang dihasilkan oleh modul bluetooth HC-06 terhadap kendali handset pun berkurang. Area yang dijangkau oleh robot saat membersihkan lantai tidak sepenuhnya dapat dibersihkan, dikarenakan terdapat program kondisi ketika pembacaan sensor jarak bernilai kurang dari dan sama dengan 10 cm, robot akan berhenti. Sehingga ketika terdapat kondisi jarak 10 cm antara robot dengan benda yang yang berada dihadapannya, robot akan berhenti secara otomatis. Hal ini dilakukan agar ketika terjadi lose control dari user, robot akan terhindar dari tabrakan dengan benda yang berada dihadapannya. Selain itu, robot pembersih lantai memiliki dimensi yang cukup besar yakni 40 x 27 cm, dengan dimensi yang cukup besar maka maunver yang harus dilakukan robot ketika melakukan belok kanan atau belok kiri harus memiliki batas jarak aman agar robot tidak mengalami kesulitan saat melakukan putaran atau manuver. Jika robot mengalami kesulitan dalam melakukan manuver maka dapat menghambat pula efektifitas waktu yang digunakan untuk membersihkan lantai di dalam suatu ruangan. Jarak 10 cm adalah jarak optimum yang dapat di aplikasikan pada robot, untuk memberikan sedikit space dalam melakukan manuver atau putaran pada robot terhadap objek atau benda yang menghalangi di depannya.
57
BAB 5
PENUTUP
BAB V PENUTUP 5.1 Kesimpulan Dari penelitian yang sudah dilakukan dapat disimpulkan sebagai berikut: 1. Rancangan Robot Pembersih Lantai dengan Kendali Nirkabel Modul Bluetooth HC-06 Berbasis Arduino Mega telah berhasil dibuat dan berjalan dengan baik 2. Jarak maksimum yang dapat dilakukan untuk pengendalian robot pembersih lantai dengan handset adalah 7 meter. 3. Robot Pembersih lantai dapat menghindari benda yang berada di hadapannya dalam batas jarak 10 cm dengan cara berhenti
58 5.2 Saran Penelitian yang telah dilakukan masih terdapat beberapa kekurangan baik dari segi mekanis maupun keefektifannya. Maka dari itu kekurangan ini diharapkan dapat dikembangkan dan disempurnakan pada penelitian-penelitian selanjutnya. Berikut saran penulis sebagai acuan pengembangan: 1. Pemilihan komponen sebagai media komunikasi dengan jarak yang lebih jauh. 2. Rancangan desain robot dan equipment yang digunakan lebih sederhana dan lebih kecil 3. Ditambahkan sensor untuk mendeteksi debu, sehingga area yang kotor dapat dibersihkan dengan efektif. 4. Ditambahkan equipment yang berfungsi agar robot dapat menjangkau area – area yang berada di tempat sempit dan kecil 5. Sistem gerak robot diharapkan dapat dilakukan secara otomatis
DAFTAR PUSTAKA Fakhruddin, 2011,.Rancang Bangun Rescue Robot Dengan Kendali Wireless, Skripsi, Fakultas Teknik Mesin, Universitas Hasanuddin, Makassar. Novita Dessy & Yuhana Acep, 2010, Perancangan Komunikasi Wireless Antar Mikrokontroler Pada Sistem Kendali Otomatis, Konferensi Nasional Sistem dan Informatika, Bali, November 13. Permana Andri Y, 2013, Perancangan Sistem Monitoring Ketinggian Air Dan Kendali Irigasi Berbasis Sensor Ultrasonik Melalui Frekuensi Radio Half Duplex, Skripsi, Fakultas Ilmu Komputer, UNIKOM, Bandung Prabowo Barkah, 2011, Robot Pembersih Lantai Otomatis Berbasis Mikrokontroler AT89S51, Skripsi, Fakultas Ilmu Komputer, Universitas Gunadarma, Jakarta. Wibisono. L.A, 2016, Pengendalian “Rollbot” Menggunakan Android Melalui Bluetoth dan Arduino, Skripsi, Fakultas Sains dan Teknologi, Universitas Sanata Dharma, Yogyakarta Adrian. M, 2012, Perbedaan Bluetooth dan Wifi, https://adrianmuhammad.wordpress.com/2012/04/07/perbedaanbluetooth-dan-wifi/, diakses pada tanggal 27 Juli 2016 Faridz, 2013, WIRELESS COMMUNICATION, http://faridzalkindi.blogspot.co.id/, diakses pada tanggal 27 Juli 2016 Johan, 2011, Prinsip Kerja Motor DC, http://teorick.blogspot.co.id/2012/10/prinsip-kerja-motor-dc.html, diakses pada tanggal 26 Juli 2016 Jontas, 2012, Arduino Ultrasonic Sensor (HC-SR04 or HY-SRF05), http://www.f15ijp.com/2012/09/arduino-ultrasonic-sensor-hc-sr04-or-hysrf05/, diakses pada tanggal 27 Juli 2016 Ririhena. I, 2014, Modul Bluetooth Arduino HC-05 dan HC-06, http://imamtechinovation.blogspot.co.id/2015/12/modul-bluetootharduino-hc-05-dan-hc-06.html, diakses pada tanggal 22 November 2016
9
Trisno, 2012, Sistem Gerak Robot Beroda, http://syeni01.blogspot.co.id/2012/10/sistem-gerak-mobile-robotberoda.html, diakses pada tanggal 26 Juli 2016 Vishay, 2002, 16 x 2 Character LCD, www.vishay.com, diakses pada tanggal 25 Desember 2016
10
LAMPIRAN
1 2 3 4 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20 21
Source code program gerak robot pada arduino #include #include #include #define TRIGGER_PIN 23 #define ECHO_PIN 25 #define MAX_DISTANCE 200 NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); LiquidCrystal lcd(36, 38, 40, 42, 44, 46); char command; String string; Servo pel; int led_connect = 3; int pos = 0; int dir1 = 7;
11
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
int int int int int
dir2 dir3 pwm1 pwm2 pwm3
= = = = =
4; 11; 6; 5; 10;
int int int int
kec; kec_skg; putar = 100; air = 3;
void setup() { Serial.begin(9600); pinMode(dir1, pinMode(dir2, pinMode(dir3, pinMode(pwm1, pinMode(pwm2, pinMode(pwm3,
OUTPUT); OUTPUT); OUTPUT); OUTPUT); OUTPUT); OUTPUT);
pinMode(air, OUTPUT); digitalWrite(led_connect, LOW); lcd.begin(16, 2); lcd.setCursor(2, 0); lcd.print("TUGAS AKHIR"); lcd.setCursor(0, 1); lcd.print("ACHMAD LUQMAN NH"); delay(2000); lcd.clear();
} void loop() { lcd.clear(); if (Serial.available() > 0) { string = ""; }
digitalWrite(led_connect, HIGH);
while (Serial.available() > 0) { command = ((byte)Serial.read()); if (command == ':') { break; } else { string += command; } delay(1);
12
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
} int baca = sonar.ping(); int jarak = baca / US_ROUNDTRIP_CM; lcd.setCursor(2, 0); lcd.print("JARAK : "); lcd.setCursor(9, 0); lcd.print(jarak); if (jarak <= 10 ) { stopp(); } if (string == "forward") { maju(); Serial.println("Maju"); } else if (string == "left") { belok_kiri(); Serial.println("Kiri"); } else if (string == "lest") { stopp(); Serial.println("Stop"); } else if (string == "right") { belok_kanan(); Serial.println("Kanan"); } else if (string == "rist") { stopp(); Serial.println("Stop"); } else if (string == "back") { mundur(); Serial.println("Mundur"); } else if (string == "stop") { stopp(); Serial.println("Stop");
} else if (string == "pump") { air(); Serial.println("Air"); } else if (string == "pust") { stopp(); Serial.println("Stop"); } else if (string == "servo") { pel(); Serial.println("Pel"); }
13
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189
else if (string == "servst") { stopp(); Serial.println("Stop"); } else if (string == "sapu") { sapu(); Serial.println("Sapu on : "); } else if (string == "pls") { kec_skg = putar += 1; delay(50); kec = kec_skg; constrain(kec, 100, 200); Serial.println("Sapu on : "); } else if (string == "plsup") { kec = kec_skg; Serial.println("Sapu on : "); } else if (string == "min") { kec_skg = putar -= 1; delay(50); kec = kec_skg; constrain(kec, 100, 200); Serial.println("Sapu on : "); } else if (string == "minup") { kec = kec_skg; Serial.println("Sapu on : "); } else { stopp(); } Void mundur() { analogWrite(pwm1, 100); analogWrite(pwm2, 100); digitalWrite(dir1, LOW); digitalWrite(dir2, LOW); } void maju() { analogWrite(pwm1, 100); analogWrite(pwm2, 100); digitalWrite(dir1, HIGH); digitalWrite(dir2, HIGH); } void belok_kanan() { analogWrite(pwm1, 70); analogWrite(pwm2, 0); digitalWrite(dir1, HIGH); digitalWrite(dir2, LOW);
14
Serial.println(kec);
Serial.println(kec);
Serial.println(kec);
Serial.println(kec);
Serial.println(kec);
190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222
-
} void belok_kiri() { analogWrite(pwm1, 0); analogWrite(pwm2, 70); digitalWrite(dir1, LOW); digitalWrite(dir2, HIGH); } void stopp() { analogWrite(pwm1, 0); analogWrite(pwm2, 0); digitalWrite(dir1, LOW); digitalWrite(dir2, LOW); analogWrite(pwm3, 0); } void air() { digitalWrite(pinAir, HIGH); } void sapu() { kec = putar; analogWrite(pwm3, kec); } void pel() { for (pos = 0; pos <= 180; pos = +1) { pel.write(pos); delay(10); } for (pos = 180; pos > 0; pos -= 1) { pel.write(pos); delay(10); } }
Technical Specs Arduino Mega Microcontroller Operating Voltage Input voltage (recommended) Input Voltage (limit) Digital I/O Pins Analog Input Pins DC Currents per I/O Pins DC Currents for 3.3 V Pin
15
Atmega2560 5V 7 – 12 V 6 – 20 V 54 16 20 mA 50 mA
16