Membuat Robot Line Follower Sederhana dengan Arduino

Posted By: Jogja Robotika In: Project On: Friday, January 22, 2016 Comment: 0 Hit: 164431

Line follower robot adalah sebuah robot yang dapat mengikuti garis secara otomatis. Robot didukung oleh rangkain komponen elektronika yang dilengkapi dengan roda dan digerakan oleh motor. Pengendalian kecepatan sangat bergantung pada batas putaran dan pergesekan antara ban robot dengan lantainya. Robot tersebut dirancang untuk bernavigasi dan bergerak secara otomatis mengikuti sebuah alur garis yang dibuat.
Untuk membaca garis, robot dilengkapi dengan sensor yang diletakkkan diujung depan dari robot tersebut. Line follower robot ini memiliki jenis dan bentuk serta memiliki beberapa sistem penggerak dan pengendali sebagai pengatur kinerja yang beraneka ragam sesuai dengan kreatifitas pembuatnya. 

Bahan yang harus disediakan:

1x Arduino Uno : http://jogjarobotika.com/arduino-uno-r3-compatible-cable-data

2x TCRT5000 : http://jogjarobotika.com/sensor-garis-tcrt5000-infrared-module

1x L298N Driver Motor : http://jogjarobotika.com/l298n-driver-modul

1x Sasis Kit 2WD : http://jogjarobotika.com/2wd-sasis-kit

2xSpacer 3cm :http://jogjarobotika.com/spacer-kuningan-30mm6mm

1x Kabel Jumper Male-Female http://jogjarobotika.com/kabel-jumper-male-female-40pc

Mur baut 3mm, Jack DC Male

Setelah bahan ready maka tahap selanjutnya adalah merakitnya, namun sebelum itu solderlah motor dc, saklar, dan jack dc terlebih dahulu.

Penyolderan Saklar dilakukan dengan cara membagi jumper male-female menjadi dua. bagian female disolder ke bagian 0 (mati) dan bagian male disolder ke bagian - (Hidup). Sedangkan Jack DC disolder dengan cara membuang bagian female dari kabel jumper, perlu dicatat warna dan polaritasnya! Begitupun dengan penyolderan Motor DC..

Sudah?? Lanjut rakit sasis kitnyaa...

Saya rasa perakitan sasis nggk perlu dijelaskan :P

Oke lanjut ke pengkabelan..

Pengkabelan dilakukan dengan menggunakan kabel jumper, untuk power 5V dapat diambil dari L298N driver (Hati-hati jangan sampai salah ke 12V)

Berikut bentuk robot nampak bawah setelah terakit..

Sebelum masuk ke pemrograman alangkah baiknya kita tahu sistem kerja dari sensor dan driver motor yg digunakan.

Sensor Garis TCRT5000

Sensor ini merupakan sensor garis yang mempunyai 4Pin, VCC,GND, Output Analog (A0), Output Digital (DO). Dalam diagram pengkabelan diatas dapat dilihat bahwa kita (berencana) menggunakan DO sebagai input ke Arduino, dimana nantinya kita menggunakan teori Input-Output dalam pemrogramannya. Dimana jika sensor mendeteksi garis hitam maka sensor akan mengirimkan logika High (1). Kalibrasi sensor dilakukan dengan memutar trimpot yang terdapat pada sensor.

L298N Driver

L298N driver merupakan dricer motor yang sanggup mengontrol dua buah motor DC, driver ini membutuhkan sebuah pin logic (LOW/HIGH)  dan sebuah pin PWM untuk menggerakkan motor.  Berikut konfigurasi dari L298N Driver.

Setelah mengerti cara kerja dari sensor dan driver motor maka kita siap untuk masuk ke pemrograman..

#define m1 3
#define m2 5
#define m3 9
#define m4 10

int arrow =0;
void setup() {


pinMode(m1,OUTPUT);
pinMode(m2,OUTPUT);
pinMode(m3,OUTPUT);
pinMode(m4,OUTPUT);
pinMode(12,INPUT);
pinMode(13,INPUT);

}

void loop() {

// pembacaan sensor pada pin 12 dan 13

int lsensor=digitalRead(12);
int rsensor=digitalRead(13);

//logika robot menggunakan prinsip  AND
if((lsensor == LOW)&&(rsensor== HIGH))
{
// maju dengan kecepatan 100
motorOut(100,100,2);

}
if((lsensor== HIGH)&&(rsensor== LOW))
{
//belok kiri
motorOut(0,100,2);

}

if((lsensor==HIGH)&&(rsensor== HIGH))
{
motorOut(0,100,2);

//belok kiri

}
if((lsensor== LOW)&&(rsensor==LOW))
{
//belok kanan
motorOut(100,0,2);
}
}

//Fungsi untuk menggerakkan motor
void motorOut(unsigned char lpwm, unsigned char rpwm, int arrow){
//arrow =1 mundur, 2 maju,
if(arrow==1){
digitalWrite(m3,HIGH);
digitalWrite(m1,LOW);
analogWrite(m4,255-lpwm);
analogWrite(m2,rpwm);
}
else if (arrow==2)
{
digitalWrite(m3,LOW);
digitalWrite(m1,HIGH);
analogWrite(m4,lpwm);
analogWrite(m2,255-rpwm);
}

}

untuk memperlambat atau mempercepat jalannya robot tinggal ganti saja nilai pwm pada 

motorOut(lpwm,rpwm,arrow), semakin besar nilainya semakin kencang pula robot akan melaju. 

kalau sudah tinggal cari isolasi dan buat jalur dan gassss! seperti di video ini 

https://www.youtube.com/watch?v=A54fCOUZAVQ

Comments

Leave your comment