A. Penjelasan
Robot arduino basic adalah robot yang dapat diprogram menggunakan komputer. Robot
arduino basic menggunakan arduino NANO sebagai otaknya. Untuk softwarenya kita
menggunakan aplikasi Mblock yang berbentuk bahasa pemrograman visual agar mudah
dipahami oleh orang yang baru belajar pemrograman robotik. Robot ini memiliki fungsi
yang luas sesuai dengan program yang kita masukkan.
B. Bagian-Bagian Robot
Hardware Robot
A. Penjelasan
Dalam dunia pemrograman terdapat istilah “Hello World!” yang merepresentasikan
perkenalan awal kita terhadap suatu bahasa pemrograman. Istilah ini biasanya digunakan
untuk suatu program sederhana yang kita gunakan saat pertama kali belajar
pemrograman. Pada bagian ini kita akan mencoba membuat program “Hello World!”
pada robot Arduino Basic. Pada pemrograman robot terdapat dua jenis eksekusi program
yang pertama yang dijalankan sekali dan yang kedua yang dijalankan secara terus
menerus.
B. Percobaan
Program yang kita buat akan menggunakan komponen buzzer (pin D13) sebagai
outputnya. Secara sederhana program yang kita buat akan menyalakan (HIGH) dan
mematikan (LOW) buzzer secara terus menerus dengan jeda. Buat blok program seperti
gambar berikut.
Tantangan:
A. Penjelasan
Secara sederhana buzzer hanya bisa menyala atau mati saja akan tetapi di arduino
terdapat fungsi yaitu tone() yang berfungsi untuk memberikan output frekuensi pada
buzzer sehingga bisa menghasilkan irama sesuai not lagu.
Berikut penjelasannya.
1. C/D/E/F/G/A/B pada dropdown menu note merepresentasikan nama not yaitu
Do/Re/Mi/Fa/So/La/Si. Angka dibelakangnya melambangkan pitch atau tinggi
nadanya, C4 standar C, and C5 oktaf tinggi and C3 oktaf rendah.
2. Dropdown menu dengan nilai Half, Full, Double dst. menandakan panjang nadanya.
B. Percobaan
Buat program seperti berikut
Tantangan:
1. Buat program lagu ini
CCGGAAG-FFEEDDC-GGFFEED-GGFFEED-CCGGAAG-FFEEDDC
A. Penjelasan
Motor pada robot arduino basic difungsikan sebagai penggerak robot. Terdapat dua motor
pada robot arduino basic dan keduanya dikontrol oleh driver motor L293.
Pada robot arduino basic konfigurasi pin driver motor dan arduino ditunjukkan pada tabel
dibawah.
Berikut merupakan tabel kebenaran dari driver motor L293. Untuk mengatur kecepatan
pin Enable bisa diganti dengan nilai angka analog.
A. Penjelasan
Sesuai dengan konfigurasi pin dan tabel kebenaran driver motor L293 pada bab
sebelumnya kita akan mencoba memprogram jalannya motor pada robot.
B. Percobaan
Buat program seperti berikut upload ke robot, jalankan dan tuliskan hasilnya.
Motor Kiri
2 D3 – 255
D4 – HIGH
D2 – LOW
3 D3 – 255
D4 – LOW
D2 – LOW
4 D3 – 255
D4 – HIGH
D2 – HIGH
5 D3 – 0
D4 – FREE
D2 – FREE
2 D5 – 255
D7 – HIGH
D8 – LOW
3 D5 – 255
D7 – LOW
D8 – LOW
4 D5 – 255
D7 – HIGH
D8 – HIGH
5 D5 – 0
D7 – FREE
D8 – FREE
A. Penjelasan
Beberapa blok program dapat dijadikan satu untuk menjadi fungsi tertentu agar
memudahkan jika kita membutuhkan lagi. Pada mBlock untuk membuat fungsi kita dapat
memilih “Make a Block” pada menu “Data&Blocks”.
Setelah itu kita tinggal memberi nama fungsinya dan bisa juga kita menambahkan
parameter pada menu “Options”. Parameter adalah suatu nilai yang bisa kita ubah saat
pemanggilan fungsi jenisnya ada berupa angka, huruf atau boolean.
Berikut contoh blok-blok program yang dijadikan fungsi dan terdapat parameter serta
cara pemanggilan fungsi dalam program.
Fungsi stop tidak kita buat karena dengan mengisi nilai parameter kecepatan 0 (nol)
maka motor akan berhenti.
Catatan: Simpan program implementasi fungsi dan parameter motor ini karena akan
banyak kita gunakan untuk program-program selanjutnya.
R u a n g R o b o t - A r d u i n o R o b o t B a s i c | 10
BAB 7 – SISTEM GERAK ROBOT
A. Penjelasan
Robot arduino basic menggunakan desain robot dengan sistem gerak differential drive,
yaitu robot yang menggunakan dua buah motor dan roda sebagai penggeraknya. Berikut
kombinasi pergerakannya.
B. Percobaan
Buat program untuk menjalankan robot sesuai dengan sistem gerak differential drive.
Gunakan fungsi motor yang kita buat pada bab sebelumnya. Tuliskan hasil pergerakannya
No. Motor Blok Program Hasil
1 Kiri : Maju(255)
Kanan : Maju(255)
2 Kiri : Mundur(255)
Kanan : Mundur(255)
3 Kiri : Maju(255)
Kanan : Maju(100)
4 Kiri : Maju(100)
Kanan : Maju(255)
5 Kiri : Maju(255)
Kanan : Mundur(255)
6 Kiri : Mundur(255)
Kanan : Maju(255)
7 Kiri : Free(0)
Kanan : Free(0)
R u a n g R o b o t - A r d u i n o R o b o t B a s i c | 11
BAB 8 – DRAWING ROBOT
A. Penjelasan
Sekarang kalian sudah mampu membuat robot berjalan sesuai dengan program yang
kalian masukkan baik jalan maju, mundur, atau belok. Pada bab ini kita akan membuat
robot kita melakukan tugas-tugas khusus, yaitu kita akan membuat robot menggambar
pola di lantai sesuai yang kita inginkan. Modifikasi robot kalian dengan menambahkan
spidol seperti gambar berikut.
Pergerakan robot yang sesuai dengan pola kita sebut dengan motion. Motion adalah
gabungan dari beberapa pergerakan robot dan delay / wait (tunggu). Contoh maju 1 detik,
stop 1 detik, belok kanan 1 detik, maju 1 detik dst.
B. Percobaan
Buat program seperti berikut. Ada beberapa nilai wait yang perlu diubah agar pergerakan
robot sesuai dengan pola yang diinginkan.
No. Pola Blok Program
1 Garis Lurus
R u a n g R o b o t - A r d u i n o R o b o t B a s i c | 12
No. Pola Blok Program
2 Huruf L
3 Lingkaran
R u a n g R o b o t - A r d u i n o R o b o t B a s i c | 13
No. Pola Blok Program
4 Angka 8
R u a n g R o b o t - A r d u i n o R o b o t B a s i c | 14
BAB 9 – SENSOR ULTRASONIK
A. Penjelasan
Sensor ultrasonik merupakan sensor yang mampu mendeteksi dan menghitung jarak
objek di depannya. Cara kerja sensor ini adalah dengan cara memancarkan gelombang
ultrasonik dari transmitter apabila ada objek di depannya gelombang ultrasonik akan
terpantul dan diterima oleh receiver. Jarak dapat dihitung dari lamanya gelombang
ultrasonik terpancar sampai diterima kembali pantulannya.
Pada program sensor ultrasonik dikontrol oleh dua pin yang berfungsi sebagai trigger (pin
D12) dan echo(pin D11).
Sensor ultrasonik bertindak sebagai input robot, oleh sebab itu kita perlu membuat satu
blok program kondisi untuk memprosesnya. Selain itu blok program harus dimasukkan
dalam blok forever atau dimasukkan blok perulangan agar perubahan kondisi pembacaan
sensor terus di-update.
R u a n g R o b o t - A r d u i n o R o b o t B a s i c | 15
BAB 10 – OBSTACLE AVOIDANCE ROBOT
A. Penjelasan
Dengan memanfaatkan sensor ultrasonik pada robot kita dapat membuat object detection
robot (robot pendeteksi objek). Setelah objek dapat dideteksi robot dapat melakukan
pergerakan sesuai yang kita inginkan.
B. Percobaan
Pada bab ini kita akan mencoba 2 (tiga) jenis algoritma robot yang bisa dilakukan robot
apabila mendeteksi objek.
Start
Maju
Tidak
Ya
Stop
End
R u a n g R o b o t - A r d u i n o R o b o t B a s i c | 16
Alur Logika Blok Program
Start
Ya Tidak
Pada program diatas robot hanya akan berbelok ke kanan apabila mendeteksi halangan.
Terdapat satu cara agar robot tidak hanya belok kanan, yaitu dengan cara menambahkan
kondisi dan pembangkit angka random (acak). Sehingga nanti robot apabila mendeteksi
objek terkadang belok kanan atau terkadang juga belok kiri.
Berikut alur logika dan blok program robot setelah diberi pembangkit nilai acak dan
kondisi untuk belok.
Start
Ya Maju
Random =0?
Tidak
Ya Belok Kiri
Belok Kanan
R u a n g R o b o t - A r d u i n o R o b o t B a s i c | 17
BAB 11 – WALL FOLLOWER ROBOT
A. Penjelasan
Selain sebagai robot penghindar halangan, dengan memanfaatkan sensor ultrasonik pada
robot kita dapat membuat wall follower robot (robot pengikut dinding). Agar robot dapat
mengikuti dinding sensor ultrasonik perlu dipindah posisinya disamping agak menyerong
seperti gambar berikut.
Posisi sensor ultrasonik seperti gambar berikut memungkinkan robot dapat mendeteksi
dinding di samping maupun di depannya.
B. Percobaan
Pada bab ini kita akan mencoba algoritma robot pengikut dinding (wall follower). Disini
kita membutuhkan tiga kondisi yaitu.
1. Kondisi robot pada jarak dekat – robot belok menjauh tembok
2. Kondisi robot pada jarak jauh – robot akan belok mendekat tembok
3. Kondisi robot pada antara jauh dan dekat – robot akan berjalan maju
Apabila sensor ditempatkan di kiri robot, secara sederhana logika program dapat
dituliskan sebagai berikut.
R u a n g R o b o t - A r d u i n o R o b o t B a s i c | 18
Pada kondisi ketiga yaitu kondisi nilai antara kita membutuhkan dua kondisi dalam satu
if maka kita perlu menggunakan blok and.
R u a n g R o b o t - A r d u i n o R o b o t B a s i c | 19