Senin, 20 April 2020

MEMBUAT ROBOT LINE FOLLOWER SEDERHANA DENGAN ARDUINO




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

Tidak ada komentar:

Posting Komentar

Selamat menjalankan Puasa Ramadhan

11 bulan berlalu dan kini aku kembali berjumpa denganmu. Bulan Ramadhan, bulan penuh berkah dan ampunan. Saatnya menyucikan hati dan members...