Oleh:
Riza Muhida, Ph.D dan Muhammad Riza, Ph.D
Panduan pada dokumen ini kita akan mengaajarkan cara membuat program untuk robot yang
bisa mengikuti garis maze atau Maze Solving Robot (MSR). Berdasarkan namanya robot ini akan
mengikuti garis Maze yaitu suatu garis berwarna hitam dengan latar belakang putih hingga
sampai di tujuan. Robot ini sudah banyak digunakan dalam indutri terutama dalam transportasi
untuk membawa barang dari suatu tempat ke tempat lainnya di dalam pabrik.
Cara kerja robot ini sebenarnya adalah sederhana yaitu bagaimana menempatkan garis berada
di tengah-tengah sensor. Misi kita adalah membuat autonomous robot yang bisa mengikuti
garis hitam dengan background putih dan melewati berbagi simpangan atau pertemuan dari
berbagai garis.
Maka Urutannya ketika tangan kiri kita kita anggap sebagai robot yang bergerak melewati jalur
maze tersebut.
Dari START
b. ARENA LOMBA :
Arena lomba terdiri dari dua arena berukuran maksimal 2 meter x 2 meter dengan
permukaan berwarna putih dan diberi garis berwarna hitam dengan tebal sekitar 1,5 s.d
3 cm. garis berwarna hitam ini akan membentuk pola lurus, berbelok membentuk kurva
atau melingkar dan mungkin berpotongan satu dengan lain nya. Kedua area ini
dihubungkan dengan jembatan lurus atau berbelok dengan jarak antara kedua area
sepanjang maksimal 1(satu) meter.
Pola garis: garis lurus tegak, mendatar, kurva lingkaran, miring, dan kurva belokan lain
nya.
Bentuk pola Arena lomba ditentukan pada hari pertandingan lomba dilangsungkan,
sehingga peserta harus membuat program pengendalian robot pada hari pelaksanaan
lomba.
Pada beberapa garis diletakkan terowongan yang dapat dilewati oleh robot, berupa
kotak dengan ukuran lebar 20 cm±1 cm, tinggi 10 cm ±1 cm dan panjang 30 cm±2 cm.
Robot harus dapat melewati terowongan ini.
c. ATURAN LOMBA :
1. Setiap tim peserta maksimal terdiri dari 3(tiga) siswa dengan satu guru pembina.
2. Tim Peserta harus membawa semua komponen pembentuk robot atau robot-kit nya
sendiri beserta sebuah komputer atau laptop untuk pemrograman nya.
3. Bentuk pola “Maze” yang dibuat diatas Arena Lomba akan ditentukan pada hari
pelaksanaan lomba.
4. Peserta boleh menggunakan “robot-kit” yang telah ada dipasar, dengan dimodifikasi
sebagian, ataupun boleh membuat sendiri seluruh bagian robot yang akan
dilombakan.
5. Ukuran Robot tidak melebihi 20m x 20cm x 20 cm, dan berat robot tidak melebihi 1
Kg.
6. Peserta dapat memilih sensor, motor secara bebas.
7. Waktu pemograman robot termasuk waktu latihan di arena untuk robot tersebut
maksimal 1(satu) jam.
8. Robot harus dapat bekerja secara otomatis dengan catudaya sendiri berbentuk
batere kering. Dilarang menggunakan catu daya dari bahan yang berbahaya.
Dilarang mengecas (mengcharge) batrei di arena.
Robot ini terdiri dari sensor dan actuator seperti ditunjukkan di gambar 7
7 Arduino Nano
8 Roda kiri
9 Roda Kanan
10 Plug Tegangan 6V
Untuk menghadapi Lomba Maze Solving, kita focus ke bagian sensor dan motor.
Dimana sensor terhubung pada Pin A0, A1, A2 dan A3 yang merupakan Pin analog,
Untuk motor, motor kiri terhubung ke Pin 2, 3 dan 6. Motor kanan terhubung ke Pin 4, 5
dan 6.
a. Sensor Garis
Sensor Garis ini terhubung dengan kabel ke Indikator sensor yang terdapat di Papan Utama
atas.
Apabila di bawah sensor terdapat garis/pita hitam, maka hampir semua cahaya dari LED
akan diserap oleh lantai, sehingga akan menghasilkan tegangan 3 V, lampu Indikator LED
akan padam. Dan memberikan nilai tegangan 3 V atau logic 0 kepada mikrokontroller.
Sebelum anda menjalankan program ini anda harus membaca dahulu indicator dari lampu led
yang ada di papan utama, letakkan robot di atas tape warna hitam, kemudian amati LED mana
yang menyala dan padam pada A0, A1, A2 atau A3, LED yang padam menunjukkan bahwa
sensornya terletak tepat di atas Tape itu.
Anda bisa membuat Maze dari yang sederhana hingga yang Rumit. Contoh Jalur Maze yang
sederhana di Gambar 12. Anda bisa dibuat di Lantai rumah, atau di atas kertas karton atau
papan.
Dengan catatan anda sudah menginstal Driver dan mBlock, yang disediakan di CD dan
amnual cara menginstal driver dan mBlock anda bisa baca di Bab 4 pada buku
panduan.
2. Dari Menu START di Windows, anda click, kemudian akan keluar berbagai program
yang ada, pilih mBlock
3. Atau dari kolom Search program and files, anda bisa mengetik mBlock.
4. Lalu pilih icon mblock , klik dua kali sehingga program mBlock akan
muncul.
5. Anda juga bisa mengklik 2 kali pada icon mBlock yang ada di Desktop.
6. Kemudian hubungkan kabel USB ke Robot dank e Komputer anda, maka lampu di
robot akan hidup.
7. Kemudian pada menu dim Block, anda pilih menu Connect>> Serial Port dan COM
yang tersedia.
12. Klik kanan pada diatas, seperti gambar 19, pilih upload to arduino.
14. Pada Jendela script text kemudian click Edit with Arduino IDE
19. Pilih 1. File robot_ganesha dan 2 pilih Open. File robot_ganesha terdapat di CD/
Flashdisk yang telah didistribusikan.
Maka akan muncul di jendela script ardino sebagai mana ditunjukkan di gambar 26.
Program yang anda tuliskan harus mengacu pada table 1 dan berdasarkan jalur Maze
yang ingin dilalui oleh robot.
Algoritma:
Apabila sensor 3 dan 2
bertemu garis hitam maka
motor berhenti.
Algoritma:
Apabila sensor 3 dan 2
bertemu garis hitam maka
motor berhenti.
Algoritma:
Apabila sensor 3 dan 0
bertemu garis hitam maka
motor berhenti.
Algoritma:
Belok 90 derajat ke kiri
Algoritma:
Belok 90 derajat ke kanan
Algoritma:
Belok 45 derajat ke kiri
Algoritma:
Belok 15 derajat ke kiri
Algoritma:
Belok 45 derajat ke kanan
Algoritma:
Belok 15 derajat ke kanan
Algoritma:
Belok 180 derajat ke kiri
Algoritma:
Stop
Algoritma:
Maju kemudian Stop
Algoritma:
Mundur kemudian Stop
21. Setelah selesai mengetik program lalu anda klik panah untuk memulai
memprogram.
22. Tunggu sampai ada tulisan pada sisi kiri bawah layar. Artinya
semua program yang anda buat sudah dimuat di Chip Arduino yang ada di robot.
23. Setelah itu anda cabut kabel USB yang ada di robot.
24. Kemudian perhatikan apakah batrei pada robot sudah dipasang semua.
25. Lalu letakkan robot di garis START.
26. Kemudian hidupkan switch tekan ON/OFF atau Power di bagian belakang robot.
Hingga Nampak Lampu LED power menyala.
27. Kemudian setelah semua siap, tekan Switch START, di gambar 31.
28. Setelah Switch START ditekan maka secara otomatis robot akan bergerak,
melakukan gerakan seperti yang diperintahkan seperti yang sudah anda tulis
sebelumnya.
29. Setelah selesai melakukan perintah, jangan lupa Switch OFF lagi power nya.
Misalkan rute Maze adalah seperti dalam gambar 32. Dimana pada Rute Maze tersebut
terdapat lingkaran kuning, yang berarti apabila robot melewati nulatan kuning tersebut akan
mendapatkan bonus 10 poin. Robot dapat memilih lingkaran kuning mana yang akan dilewati.
Misalkan yang dipilih adalah sesuai garis merah pada gambar 32, anda bebas memilih lewat
maze yang anda inginkan tapi juga harus memikirkan waktu sessi lomba yang terbatas,
kemampuan batrei dan waktu untuk mencoba yang terbatas, sehingga harus melakukan
optimasi rute yang dipilih.
No Script Program
0-1 line30();
1 left90();
1-2 line10();
2 right90();
2-3 line30();
3 right90();
3-4 line10();
4 left90();
4 left45();
4-5 line32();
5 right45();
5-6 line32();
6 //Dikosongkan karena tidak perlu
6-7 line32();
7 left90();
7-8 line30();
8 // Dikosongkan karena tidak perlu
8-9 line30();
9 left90();
Semua Parameter yang ada di Program ini sudah diukur secara cermat, akan tetapi karena
perbedaan kondisi arena mungkin diperlukan beberapa modifikasi paremeter.
Untuk melkukan modifikai parameter anda perlu mengetes robot berjalan melalui jalur di
arena.
line30();
Lalu amati apakah robot benar benar berhenti di tengah persilangan, apabila perbedaannya
hanya beberapa cm saja, anda tidak perlu melakukan modifikasi parameter.
line30();
right90();
Perhatikan apakah ketika robot melewati persilangan kemudian berbelok 90 derajat, kalau
sudah berbelok tepat mendekati 90 derajat anda tidak perlu melakukan modifikasi.
1. Pada Program Script robot_ganesha and amati bagian atas, ada tulisan:
Lalu uji coba lagi robot tersebut amati, jarak berhenti dan beloknya apakah sesuai
dengan jarak dan sudut yang anda inginkan.
Apabila anda kurang puas hanya dengan merubah parameter param, anda bisa merubah
parameter lainnya:
Int param=250;
int waktu1=param*0.5;//after line
int waktu2=param*1.2;//90 degree
9. Pertanyaan
1. Ketika kita mengupload program ada error apa yang perlu dilakukan.
2. Ketika kita menaruh robot di arena lalu menekan tobol START tapi robot tidak
bergerak.
10. Penutup
Demikianlah Panduan Tips dan Trik Pemograman Robot Maze solving, semoga
bermanfaat, apabila ada pertanyaan silahkan menghubungi saya:
Sampai jumpa di arena lomba, karena mungkin saya yang akan menjadi juri program
yang anda buat.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20