Line follower Robot (Robot
Pengikut Garis) adalah robot yang dapat berjalan mengikuti sebuah lintasan, ada
yang menyebutnya dengan Line Tracker,
Line Tracer Robot dan sebagainya.
Garis yang dimaksud adalah garis berwarna hitam diatas permukaan berwarna putih
atau sebaliknya, ada juga lintasan dengan warna lain dengan permukaan yang
kontras dengan warna garisnya. Ada juga garis yang tak terlihat yang digunakan
sebagai lintasan robot, misalnya medan magnet.
Gambar 1. Ilustrasi robot line
follower dengan posisi sensor di atas permukaan putih
Seperti
layaknya manusia, bagaimana manusia dapat berjalan mengikuti jalan yang ada
tanpa menabrak dan sebagainya, tentunya karena manusia memiliki “mata” sebagai
penginderanya. Begitu juga robot line follower ini, dia memiliki sensor garis
yang berfungsi seperti “mata” pada manusia. Sensor garis ini mendeteksi adanya
garis atau tidak pada permukaan lintasan robot tersebut, dan informasi yang
diterima sensor garis kemudian diteruskan ke prosesor untuk diolah sedemikian
rupa dan akhirnya hasil informasi hasil olahannya akan diteruskan ke penggerak
atau motor agar motor dapat menyesuaikan gerak tubuh robot sesuai garis yang
dideteksinya.
Gambar 2. Diagram blok robot line follower
Untuk
merangkai rangkaian elektroniknya kita perlu tahu dulu diagram blok sistem yang
akan kita bangun, dengan demikian akan menjadi mudah mengerjakannya. Blok
sistem yang akan kita bagun paling tidak tampak seperti gambar berikut.
Sistemnya terdiri dari sensor garis, rangkaian komparator, sistem minimum AT Mega dan motor driver.
ROBOT LINE FOLLOWER DIGITAL MIKROKONTROLER ATMEGA 16 Desain berikut menggunakan mikrokontroler ATmega 16, LCD 2x 16, 2 buah sensor phototransistor Skema Lengkap Line follower Digital IC Komparator
Pada
skema lengkap robot line follower
didesain dengan posisi sensor di atas permukaan putih. Dua buah sistem sensor
di pasang pada pin B.0 dan B.1, sedangkan sistem actuator motor DC dipasang
pada Port D.0 dan D.1 untuk motor kiri, D.2 dan D.3 untuk motor kanan. Prinsip
kerja robot line follower berikut
adalah saat sistem sensor berada di atas permukaan putih, akan ada pantulan
cahaya dari LED yang akan mengenai sensor cahaya LDR sehingga resistansi sensor
LDR berkurang sehingga arus bergerak melalui LDR. Kondisi tersebut menyebabkan
arus output sensor menuju IC komparator LM 393 menjadi minimum, oleh IC LM 393,
arus di non-inverting sehingga output menuju pin mikrokontroler menjadi LOW
(0). Sebaliknya, saat sistem sensor berada di atas garis hitam, tidak akan ada
pantulan cahaya dari LED yang akan mengenai sensor cahaya LDR sehingga
resistansi sensor LDR sangat besar sehingga arus tidak akan melalui LDR.
Kondisi tersebut menyebabkan arus output sensor menuju IC komparator LM 393
menjadi maksimum, oleh IC LM 393, arus di non-inverting sehingga output menuju
pin mikrokontroler menjadi HIGH (1). Oleh mikrokontroler data logika pin
tersebut kemudian diolah untuk mengerakan motor, motor akan bergerak jika kedua
pin motor tersebut memiliki beda polaritas. Selengkapnya mengenai logika gerak robot
dapat dilihat pada Tabel 1 dan 2.
Tabel 1. Kondisi Gerak Motor dan
pengaruh Sensor
Kondisi
B.0 = 0
B.0 =1
B.1 = 0
Maju
Belok Kiri
B.1 = 1
Belok Kanan
Mati
Tabel 2. Kondisi Gerak Motor dan
Kondisi Logika Tiap Pin Motor
Kondisi
D.0
D.1
D.2
D.3
Maju
0
1
0
1
Belok Kiri
1
0
0
1
Belok Kanan
0
1
1
0
Mati
1
1
1
1
Gambar 3. Skema lengkap robot line follower menggunakan AT Mega 16
PROGRAM ROBOT LINE FOLLOWER DIGITAL ATMEGA 16 MENGGUNAKAN CODE VISION AVR
// Tambahan kode mendefinisikan kecepatan motor PWM
OCR1A=200;// kecepatan dapat diubah sesuai kebutuhan
OCR1B=200;// kecepatan dapat diubah sesuai kebutuhan
// Tambahan kode mendefinisikan kondisi awal
PORTB.0=1;//sensor
kiri
PORTB.1=1;//sensor
kanan
PORTD.0=0;
PORTD.1=0;
PORTD.2=0;
PORTD.3=0;
while (1)
{
if (PINB.0==1 &PINB.1==0)//Tambahan kode sensor kiri hitam, kanan
putih, maka belok kiri
{
PORTD.0=1;
PORTD.1=0;
PORTD.2=0;
PORTD.3=1;
lcd_clear ();
lcd_gotoxy(0,0);
lcd_putsf("B0=1 B1=0");
lcd_gotoxy(0,1);
lcd_putsf("BELOK KIRI");
delay_ms(100);
}
else if (PINB.0==0 &PINB.1==1)//Tambahan kode sensor kiri putih, kanan
hitam, maka belok kanan
{
PORTD.0=0;
PORTD.1=1;
PORTD.2=1;
PORTD.3=0;
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("B0=0 B1=1");
lcd_gotoxy(0,1);
lcd_putsf("BELOK KANAN");
delay_ms(100);
}
else if (PINB.0==1 &PINB.1==1)//Tambahan kode sensor kiri hitam, kanan
hitam, maka mati
{
PORTD.0=0;
PORTD.1=0;
PORTD.2=0;
PORTD.3=0;
lcd_clear ();
lcd_gotoxy(0,0);
lcd_putsf("B0=1 B1=1");
lcd_gotoxy(0,1);
lcd_putsf("MATI");
delay_ms(100);
}
else//Tambahan kode sensor kiri putih, kanan
putih, maka bergerak maju
{
PORTD.0=0;
PORTD.1=1;
PORTD.2=0;
PORTD.3=1;
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("B0=0 B1=0");
lcd_gotoxy(0,1);
lcd_putsf("MAJU");
delay_ms(100);
}
}
}
ROBOT LINE FOLLOWER DIGITAL SEDERHANA DENGAN ATMEGA 8
Jika desain diatas dibuat menggunakan mikrokontroler AT mega 8, maka berikut ini merupakan desain robot line follower digital menggunakan mikrokontroler ATmega 8, dan 2 buah sensor phototransistor yang lebih sederhana.
Gambar 4. Skema lengkap robot line follower menggunakan AT Mega 8
PROGRAM ROBOT LINE FOLLOWER DIGITAL ATMEGA 8 MENGGUNAKAN CODE VISION AVR