Buat avoider sederhana dengan Arduino yuk!!..

Avoider….. yap itu sebutan bagi robot halang rintang, kalau menemukan penghalang didepan robot, maka robot akan ngehindarinya dan memilih jalan lainnya :). Kok bisa? Sesuai judul aja, kali ini akan dibahas avoider sederhana saja, sensor juga yang sederhana, tidak perlu dengan sensor ultrasonik atau semacamnya..

Langsung saja yuk apa saja bahannya..

 

1x Arduino
1x Breadboard
2x Motor DC gear + roda
1x Driver Motor L293D
1x Baterai 7-9 volt
1x Papan/chasis
2x Limit Switch
Kabel Jumper secukupnya

Buatlah rangkaian seperti gambar berikut serta susun pada papan/chasis

Setelah sudah dirangkai dan disusun, selanjutnya program arduinonya dengan sketch berikut.

#define RPWM 6 //penamaan pin
#define LPWM 5
#define RDIR 7
#define LDIR 4

int speed=150; //delkarasi variabel speed dengan nilai 150
void setup() {
for(char x=4;x<8;x++){pinMode(x,OUTPUT);digitalWrite(x,LOW);} //set pin 4-7 sebaga output
pinMode(A4,INPUT_PULLUP); //set pin A4 sebagai INPUT_PULLUP
pinMode(A5,INPUT_PULLUP); //set pin A5 sebagai INPUT_PULLUP
}

void loop() {
if(digitalRead(A4)==LOW){run(-speed,0);delay(300);} //jika tombol kiri ditekan maka motor kiri mundur
else if(digitalRead(A5)==LOW){run(0,-speed);delay(300);} //jika tombol kanan ditekan maka motor kanan mundur
else run(speed,speed); //sebaliknya motor maju
}

void run(int ki,int ka)
{
if (ka >=0){analogWrite(RPWM,ka); digitalWrite(RDIR,LOW); }
else if (ka <0) {analogWrite(RPWM,255+ka); digitalWrite(RDIR,HIGH);}
if (ki >=0){analogWrite(LPWM,ki) digitalWrite(LDIR,LOW); }
else if (ki <0) {analogWrite(LPWM,255+ki); digitalWrite(LDIR,HIGH);}
}

Terima kasih, selamat mencoba ??

Leave a Reply

Your email address will not be published. Required fields are marked *