karya "Widodo Budiharto"
Guest Professor Univ. de Bourgogne, Prancis
Pendahuluan
Pada proyek
robot kali ini, penulis memaparkan cara membuat robot berkaki 6 (hexapod)
menggunakan 3 buah sensor, yaitu 1 sensor jarak SRF04 (Sonar
Range
Finder) dan 2 bh Sharp GP2D12.
Dijamin dechhh penasaran dan menarik
untuk dicoba J.
Blok
Rangkaian
Robot ini
bergerak berdasarkan informasi dari ketiga sensor jarak. Robot ini diharapkan dapat melakukan “eksplorasi” ke daerah yang dilaluinya, untuk memberikan informasi ke “pemiliknya” menggunakan kamera wireless misalnya, oleh karena itu robot ini dinamakan Explorer
Hexapod. Gambar
di bawah ini menampilkan blok rangkaian
yang akan dibuat:
Gambar 1. Blok rangkaian
robot Explorer Hexapod
Bahan –bahan
Berikut ini
ialah bahan – bahan yang diperlukan, yang
paling penting tentunya ialah kerangka dari kaki hexapod ini, yang dapat Anda buat
sendiri atau membeli kit yang sudah jadi :
1.
2
buah servo motor HS311
2.
Body
dan kaki hexapod
(Dapat membeli kit kaki hexapod lengkap dengan 2 bh servo HS311)
3. Min.
System ATmega 8535, ATmega16 atau
Atmega32
4.
Driver
Motor DC 293D/ deKits SPC DC Motor
5. 1 sensor
jarak ultrasonic SRF 04 (jarak 3cm-3m)
6.
2
sensor jarak infrared SharpGP2D12(10cm -80cm)
7.
Tempat baterai 9V 2bh
Berikut ini ialah konstruksi
dari kaki hexapod standar,
yang digerakkan dari putaran motor servo continuous. Servo ini dikendalikan dari port B.0-3 melalui
Driver motor yaitu
kit DC motor Driver menggunakan IC L293D (dapat menggunakan juga kit dekits SPC DC Motor) atau jika ingin lebih
kuat lagi menggunakan IC H bridge L298. Perlu diingat, kaki servo ini ada 3 pin, cukup gunakan 2 kaki yang menggerakan
motor DC di dalam servo tersebut saja.
Gambar 2. Susunan sisi kaki hexapod
Servo
HS311 merupakan servo dengan
torsi yang cukup besar untuk menggerakkan robot dengan beban maksimal
1.5kg.
Cara kerja
Pertama, kita lihat dulu
bagian sensor.
Sensor SRF04 digunakan untuk
mengetahui jarak depan robot, apakah ada penghalang atau tidak, yang mampu mendeteksi jarak dari 3cm hingga 3 meter. Sensor ini bekerja berdasarkan
prinsip gelombang
ultrasonic. Pencari jarak
ini bekerja dengan cara
memancarkan pulsa suara dengan kecepatan
suara (0.9 ft/milidetik) berfrekwensi 40 KHz.
Keluaran sensor ini dihubungkan
ke Port C.0 dan Port C.1, dan dengan nilai
trigger input sebesar 10 uS
pada pulsa TTL. Alasan mengapa
digunakan sensor ini, ialah karena
sensor jarak ini paling
banyak digunakan pada Kontes Robot Cerdas di Indonesia, sehingga pembaca pemula menjadi familiar. Anda dapat menambah sensor ini hingga 4 buah
untuk digunakan pada sisi kanan, kiri
dan belakang robot biar lebih akurat.
Gambar 3. Susunan kaki SRF04
Sedangkan 2 sensor infrared GP2D12 di
sisi samping kanan dan kiri
dapat mengukur jarak sejauh 10cm- 80cm dengan output
analog, sehingga dapat langsung dihubungkan ke port A.0 dan port A.1 dari mikrokontroler AVR tersebut. Karakteristik dari sensor ini
tidak linear, oleh karena itu idealnya
perlu digunakan look up
table untuk mengolah raw
data dari sensor tersebut.
Hasil pembacaan sensor-sensor jarak ini diolah
oleh mikrokontroler, untuk memutuskan gerakan yang akan
dilakukan apakah maju, mundur atau
belok. Dengan memutarnya servo, menyebabkan bagian kaki yang terhubung ke servo
bergerak bergantian
sehingga robot dapat berjalan.
Explorer.bas:
‘Program Demo Robot
Explorer Hexapod
‘By Mr. Widodo Budiharto
‘Univ. de Bourgogne
2007
‘deklarasi fungsi dan variabel
Declare Sub Initialize_ultrasonic()
Declare Function Ultrasonic_depan() As Integer
Dim Jarakdepan As
Integer
Dim Jaraksampingkanan As
Word
Dim Jaraksampingkiri As
Word
Dim W As Word
Config Portb
= Output
Config Portd
= Input
Config Portc
= Output
Config Adc
= Single , Prescaler = Auto
, Reference = Avcc
'konfigurasi ADC
Start Adc
Call Initialize_ultrasonic ‘panggil fungsi
Do
‘baca SRF04 untuk jarak depan
…
Print "jarak sampingkiri" ; Jaraksampingkiri
‘Demo jika ada halangan, maka belok kiri
If Jarakdepan
> 40 Then
Portb
= 8 'maju
Wait 2 ‘delay
Else if jarak depan
<40 and jaraksampingkanan >150 then
Portb
= 0 'belok kiri
Wait 2
End If
Loop
End
Function Ultrasonic_depan() As Integer
… ' set initial state pin trigger
… ' buat
pulsa 5us @ 4
MHz
… ' ukur return pulse
End Function
Sub Initialize_ultrasonic ‘inisialisasi sensor
ultrasonik
…
End Sub
Gambar berikut merupakan hasil yang sudah jadi yang dapat berjalan dengan cukup cepat
dan kuat karena menggunakan servo torsi tinggi dari Hitec.
A. B.
Gambar 4. Robot in action a). Tampak samping b).
Tampak depan
berikut adalah video robot hexapod
sumber : http://www.toko-elektronika.com dan