Membuat Robot Line Follower Hendawan Soebhakti Dosen Teknik Elektronika Politeknik Negeri Batam email :
[email protected]
Robot
line follower, adalah sebuah robot yang bisa bergerak mengikuti garis tebal berwarna hitam. Bagaimana bisa robot ini mengikuti garis hitam? Tentulah diperlukan sebuah sensor, yaitu sensor proximity. Sensor ini bisa kita buat sendiri. Prinsip kerjanya sederhana, hanya memanfaatkan sifat cahaya yang akan dipantulkan jika mengenai benda berwarna terang dan akan diserap jika mengenai benda berwarna gelap. Sebagai sumber cahaya kita gunakan LED (Light Emiting Diode) yang akan memancarkan cahaya merah dan untuk menangkap pantulan cahaya LED kita gunakan photodiode. Jika sensor berada diatas garis hitam maka photodioda akan menerima sedikit sekali cahaya pantulan. Tetapi jika sensor berada diatas garis putih maka photodioda akan menerima banyak cahaya pantulan. Berikut adalah ilustrasinya : LED
Photodioda
Photodioda
LED
Garis Hitam
Garis Putih
(a)
(b)
Gambar 1. Cara Kerja Sensor Proximity a) Cahaya pantulan sedikit, b) Cahaya pantulan banyak Sifat dari photodioda adalah jika semakin banyak cahaya yang diterima, maka nilai resistansi diodanya semakin kecil. Dengan melakukan sedikit modifikasi, maka besaran resistansi tersebut dapat diubah menjadi tegangan. Sehingga jika sensor berada diatas garis hitam, maka tegangan keluaran sensor akan kecil, demikian pula sebaliknya. Agar dapat dibaca oleh mikrokontroler, maka tegangan sensor harus disesuaikan dengan level tegangan TTL yaitu 0 – 1 volt untuk logika 0 dan 3 – 5 volt untuk logika 1. Pada robot line tracker, sedikitnya diperlukan 2 buah sensor proximity yang disusun agar keduanya berada tepat diatas garis hitam. Perhatikan gambar berikut :
Robot Line Follower Oleh Hendawan Soebhakti, Juli 2012
1
Proximity Sensor
Proximity Sensor
Proximity Sensor
(a)
(c)
(b)
Gambar 2. Posisi Sensor Proximity Pada Garis Hitam a) Sensor ditengah garis, b) Sensor dikiri garis, c) Sensor di kanan garis. Pada Gambar 2.a diatas kedua buah sensor proximity berada diatas garis hitam, maka mikrokontroler akan memerintahkan robot untuk bergerak lurus. Namun jika posisi sensor seperti pada Gambar 2.b, maka robot harus belok ke kanan. Dan jika posisi sensor seperti pada Gambar 2.c, maka robot harus belok ke kiri. Dengan demikian robot akan tetap bergerak mengikuti garis hitam. Berikut adalah rangkaian lengkap dua set sensor proximity untuk robot line tracker : +5V
+5V
+5V
+5V
7
+
6 D1 LED
D3 LED
3 U1A LM339
R2 10K
R1 220
R3 470
+5V
VR1 10K
1
Ke AVR (PA.0 )
12
D2 PD
+5V
+5V
+5V
R5 10K
5 4
D5 PD
+
U1B LM339
D6 LED
2
Ke AVR (PA.1 )
12
D4 LED
R6 470
+5V
VR2 10K
3
R4 220
+5V
Gambar 3. Rangkaian Sensor Proximity
Robot Line Follower Oleh Hendawan Soebhakti, Juli 2012
2
Sebagai ”otak” robot digunakan mikrokontroler AVR jenis Atmega8535 yang akan membaca data dari sensor proximity, mengolahnya, kemudian memutuskan arah pergerakan robot. Pada robot line track ini, keluaran sensor proximity dihubungkan ke PortA.0 dan PortA.1 pada mikrokontroler. Sedangkan driver motor dihubungkan ke PortC.0 s/d PortC.3 seperti terlihat pada gambar berikut : +5V U1 10K
+5V
S1 10uF/16V
33pF
MOSI MISO SCK
XTAL
11.0592 MHz 33pF SPI PORT 1 2 3 4 5 6
MOSI MISO SCK RESET VCC GND
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
(ADC0) PA.0 PB.0 (XCK/T0) (ADC1) PA.1 PB.1 (T1) PB.2 (INT2/AIN0) (ADC2) PA.2 (ADC3) PA.3 PB.3 (OC0/AIN1) (ADC4) PA.4 PB.4 (SS) (ADC5) PA.5 PB.5 (MOSI) PB.6 (MISO) (ADC6) PA.6 PB.7 (SCK) (ADC7) PA.7 RESET AREF VCC GND GND AVCC XTAL2 (TOSC2) PC.7 XTAL1 (TOSC1) PC.6 PD.0 (RXD) PC.5 PD.1 (TXD) PC.4 PD.2 (INT2) PC.3 PD.3 (INT1) PC.2 PD.4 (OC1B) (SDA) PC.1 PD.5 (OC1A) (SCL) PC.0 PD.6 (ICP1) (OC2) PD.7
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
Ke Sensor Proximity Ke Sensor Proximity
+5V
Ke Ke Ke Ke
Driv er Driv er Driv er Driv er
Motor Motor Motor Motor
ATmega8535
Gambar 4. Rangkaian Mikrokontroler Agar dapat ”berfikir”, maka mikrokontroler harus diprogram terlebih dahulu. Berikut ini adalah program robot line track yang dibuat menggunakan software CodeVisionAVR. #include <mega8535.h> unsigned char sensor; void main(void) { while (1) { sensor=PINA; sensor&=0b00000011; switch(sensor) { case 0b00000001: case 0b00000010: case 0b00000011: case 0b00000000: } }; }
PORTC=0b00000001; break; PORTC=0b00000100; break; PORTC=0b00000101; break; break;
// belok kanan // belok kiri // maju lurus
Setelah selesai membuat program, maka kita harus men”download”nya ke dalam mikrokontroler. Untuk menggerakkan motor dc, diperlukan sebuah driver motor dc yaitu IC L298 yang dirangkai seperti pada gambar berikut :
Robot Line Follower Oleh Hendawan Soebhakti, Juli 2012
3
+12V
1N4001
1N4001
MOTOR KIRI
1N4001
1N4001
U1 5 7
Ke AVR (PC.0) Ke AVR (PC.1)
10 12
Ke AVR (PC.1) Ke AVR (PC.2)
+5V 6 11
1A1 1A2
1Y 1 1Y 2
2A1 2A2
2Y 1 2Y 2
1EN 2EN
1E 2E
2 3 13 14 +12V 1 15
L298
1N4001 1
1N4001
1
MOTOR KANAN
1N4001
1N4001
Gambar 5. Rangkaian Driver Motor DC Setelah semua rangkaian dapat berfungsi dengan baik, selanjutnya kita dapat membuat desain mekanik robot line tracker sebagai berikut : Freewheel
Proximity Sensor
Rangkaian Elektronika
Baterai 12V
Motor Kiri
Motor Kanan
Robot Tampak Atas
Robot Tampak Samping
Gambar 6. Rancangan Mekanik Robot Untuk menguji apakah robot sudah dapat berfungsi dengan benar, maka kita bisa membuat sebuah arena permainan seperti pada gambar berikut ini :
Robot Line Follower Oleh Hendawan Soebhakti, Juli 2012
4
Gambar 7. Lintasan Uji Robot Line Follower Jika semua rangkaian dan desain robot berfungsi dengan baik, maka robot dapat bergerak mengikuti garis hitam sesuai dengan bentuk track diatas. Selamat anda sekarang sudah berhasil membuat sebuah robot.
Gambar 8. Contoh Robot Line Follower
Robot Line Follower Oleh Hendawan Soebhakti, Juli 2012
5