by byraden.blogspot.com > robot > line follower > arduino
pada bulan agustus tepat 3 hari sebelum penulis ulang tahun, tepatnya tanggal 28 agustus 2019.
ada sebuah festival yang dimana banyak orang yang akan menghadiri sebuah festival tersebut.
disana ada banyak stand yang akan menampilkan semua apa yang akan mereka tampilkan.
nah disana saya ikut dalam sebuah festival disana dan kebetulan saya memiliki sebuah project
yang belum selesai yang rencananya akan diselesaikan dan akan di bawa ke festival tersebut. walaupun hanya berawal dari coba-coba disitu saya membuat apa yang namanya line follower.
ketika 2 hari menjelang saya pun hanya bersantai-santai mengenai project tersebut disana saya hanya
menggampangkan pekerjaan tersebut. hingga tiba waktu dimana hari persiapan-persiapan barang serta komponen-komponen yang akan dibawakan harus meluncur sebelum hari-H nya yaitu 1 hari sebelum keberangkatan anggota ke festival tersebut. disitu saya belum mengerjakan apapun dan disitu pula saya kerja cepat, walau kenyataannya mengerjakannya memakan waktu. disitu saya hanya mengerjakan sesuai rincian-rincian yang diberikan dosen yang entah berhasil atau tidak.
dimulai dari jam 4 sore hingga jam 11 malam disitu saya mengerjakan line follower tersebut. oiya
komponen-komponen saya ambil dari rekan saya yang pernah melakukan praktik line follower sebelumnya, yang entah kemana komponennya itu berceceran yang penting komponen line follower ada dan bisa jalan. :)
line follower adalah sebuah robot atau rangkaian yang dimana robot atau rangkaian itu di setting untuk mengikuti sebuah garis secara otomatis. robot atau rangkaian didukung oleh rangkaian elektronika yang dilengkapi dengan roda dan di jalankan oleh motor. robot atau rangkaian dirancang untuk bernavigasi dan bergerak secara otomatis sesuai dengan alur garis yang dibuat.
nah dibawah ini rincian komponen-komponen dan beberapa cara mengaplikasikan line follower.
sekarang kita masuk ke pemograman.
berikut cara mengcoding atau codingan untuk arduino line follower.
#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 gerakan dan lajunya robot atau rangkaian silahkan ganti sahaja pwn motorout (lpwm, rpwm, arrow), semakin besar nilai angka laju dan geraknya robot atau rangkaian maka semakin kencang juga jalan dan geraknya akan lebih cepat. untuk lebih sempurna tinggal membuat arena dengan komponen yaitu isolasi dan kertas karton lalu buat jalur, dan line follower pun siap dijalankan. Jangan lupa baca blog selanjutnya untuk tetap menjadi robotik yang handal.
0 Komentar