Farikh_ notes


Membuat Robot Line Follower

Posted in mikrokontroller oleh farikhardiansyah pada Desember 15, 2012
Tags:

Nah…kali ini saya ingin share tentang bagaimana membuat robot line follower sederhana. Robot line follower ini menggunakan mikrokontroller yitu jenis ATMega8 dengan menggunakan codevision AVR.

Disini saya akan menerangkan bagaimana langkah – langkah membuat robot line follower yang sederhana. Bagi para pecinta robotika yang mungkin bru mulai belajar tentang robotika sebaiknya belajar dulu membuat robot yang paling sederhana dulu.😀

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. 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 putih 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 ilustrasi dari sensor garis :

sensor

  1. a.  Cahaya pantulan sedikit
  2. 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.

Berikut rangkaian sensor dan komparator :

komparator

 

Sebagai otak dari robot ini kita menggunakan ATMega8. Berikut adalah rangkaian minimum system ATMega 8 :

download datasheet ATMega8 klik disini

 minsys

Agar dapat ”berfikir”, maka mikrokontroler harus diprogram terlebih dahulu. Berikut ini adalah program robot line follower yang dibuat menggunakan software CodeVisionAVR.

#include <mega8.h>

#include <delay.h>

#define senka1   PIND.0

#define senka2   PIND.1

#define senki2    PIND.2

#define senki1    PIND.3

#define enki        PORTC.0

#define enka       PORTC.5

#define dirA_ki   PORTC.2

#define dirB_ki   PORTC.1

#define dirC_ka  PORTC.4

#define dirD_ka  PORTC.3

#define pb_start  PINB.0

#define on  0

#define off 1

bit start;

unsigned char xcount,lpwm,rpwm;

xcount++;

if (xcount <=lpwm){ enki=1;}

else {enki=0;}

if (xcount <=rpwm) {enka=1;}

else {enka=0;}

if (pb_start==on)     start=on;

else if (pb_start==off)    start=off;

TCNT0=0xFF;

}

void maju()

{

dirA_ki=1;

dirB_ki=0;

dirC_ka=0;

dirD_ka=1;

}

void belok_kanan()

{

dirA_ki=1;

dirB_ki=0;

dirC_ka=1;

dirD_ka=0;

}

void belok_kiri()

{

dirA_ki=0;

dirB_ki=1;

dirC_ka=0;

dirD_ka=1;

}

bit x;

unsigned char sensor;

void scan_garis()

{

sensor=PIND;

if           (sensor==0b11111110)     {maju(); rpwm=30;     lpwm=90;            x=1;}

else if   (sensor==0b11111100)     {maju(); rpwm=50;     lpwm=90;           x=1;}

else if   (sensor==0b11111101)     {maju(); rpwm=70;     lpwm=100;        x=1;}

else if   (sensor==0b11111000)     {maju(); rpwm=160;  lpwm=110;         x=1;}

else if   (sensor==0b11111001)     {maju(); rpwm=220;  lpwm=220; }

else if   (sensor==0b11110001)     {maju(); rpwm=160;  lpwm=110;         x=0;}

else if   (sensor==0b11111011)     {maju(); rpwm=100;  lpwm=70;           x=0;}

else if   (sensor==0b11110011)     {maju(); rpwm=90;     lpwm=50;           x=0;}

else if   (sensor==0b11110111)     {maju(); rpwm=90;     lpwm=30;           x=0;}

else if   (sensor==0b11111111)

{

if   (x==1)   {belok_kanan();  rpwm = 60; lpwm = 60; }

else            {belok_kiri();         rpwm = 60; lpwm = 60; }

}

}

Setelah selesai membuat program, maka kita harus men”download”nya  ke dalam mikrokontroler.

 

Untuk rangkaian driver motor saya menggunakan L298. Berikut skematiknya :

download datasheet L298 klik disini

motor

berikut ini adalah beberapa gambar hasil robot buatan saya……😀 ya meskipun bentuknya kurang estetika…tapi robotnya mampu berjalan sesuai dengan programnya…

sensor real tampak samping board

Mungkin cukup ini dulu……silahkan berkreasi dengan programnya…..

Semoga bermanfaat……😀

 

Satu Tanggapan to 'Membuat Robot Line Follower'

Subscribe to comments with RSS atau TrackBack to 'Membuat Robot Line Follower'.

  1. Bon Kray said,

    gan ane tertarik dengan robot line agan, boleh ga saya minta kirim kan schematic, pcb design in eagle + source codenya
    email ane : bonkray@gmail.com


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s


%d blogger menyukai ini: