Coding Arduino Robot Line Follower Sederhana. December 04, 2018 Get link Facebook X Pinterest Email Other Apps Coding Arduino Robot Line Follower Sederhana. Coding sederhana untuk pembelajaran robot Line Follower. Coding Dasar : int sensorkanan=A1; int sensorkiri=A2; #define rodakananA 2 #define rodakananB 3 #define rodakiriA 4 #define rodakiriB 5 #define kecepatan 10 void setup (){ Serial.begin(9600); pinMode(sensorkanan, INPUT); pinMode(sensorkiri, INPUT); pinMode(rodakananA,OUTPUT); pinMode(rodakananB,OUTPUT); pinMode(rodakiriA,OUTPUT); pinMode(rodakiriB,OUTPUT); pinMode(kecepatan,OUTPUT); } void loop(){ delay(500); int skanan=analogRead(sensorkanan); Serial.println(skanan); int skiri=analogRead(sensorkiri); Serial.println(skiri); if(skanan<350&&skiri<350) { analogWrite(kecepatan,75); digitalWrite(rodakananA,1); digitalWrite(rodakananB,0); digitalWrite(rodakiriA,1); digitalWrite(rodakiriB,0); } else if (skanan>350&&skiri>350) { analogWrite(kecepatan,45); digitalWrite(rodakananA,0); digitalWrite(rodakananB,0); digitalWrite(rodakiriA,0); digitalWrite(rodakiriB,0); } else if(skanan>350&&skiri<350) { analogWrite(kecepatan,75); digitalWrite(rodakananA,0); digitalWrite(rodakananB,0); digitalWrite(rodakiriA,1); digitalWrite(rodakiriB,0); } else { analogWrite(kecepatan,75); digitalWrite(rodakananA,1); digitalWrite(rodakananB,0); digitalWrite(rodakiriA,0); digitalWrite(rodakiriB,0); } } Lebih Simple lagi : int sensorkanan=A1; int sensorkiri=A2; #define rodakananA 2 #define rodakananB 3 #define rodakiriA 4 #define rodakiriB 5 #define keceptan 10 void setup(){ Serial.begin(9600); pinMode(sensorkanan,INPUT); pinMode(sensorkiri,INPUT); pinMode(rodakananA,OUTPUT); pinMode(rodakananB,OUTPUT); pinMode(rodakiriA,OUTPUT); pinMode(rodakiriB,OUTPUT); pinMode(kecepatan,OUTPUT); } void loop(){ delay(300); int skanan=analaogRead(sensorkanan); Serial.println(skanan); int skiri=analaogRead(sensorkiri); Serial.println(skiri); if(sknan<300&&skiri<300){ analogWrite(kecepatan,50); digitalWrite(rodakananA,1); //roda kanan berputar digitalWrite(rodakananB,0); digitalWrite(rodakiriA,1); //roda kiri berputar digitalWrite(rodakiriB,0); } else if(sknan>300&&skiri<300){ analogWrite(kecepatan,50); digitalWrite(rodakananA,0); digitalWrite(rodakananB,0); digitalWrite(rodakiriA,1); //belok ke kanan (roda kiri berputar) digitalWrite(rodakiriB,0); } else{ analogWrite(kecepatan,50); digitalWrite(rodakananA,1); //belok ke kiri (roda kanan berputar) digitalWrite(rodakananB,0); digitalWrite(rodakiriA,0); digitalWrite(rodakiriB,0); } } Versi Lain : int sensorkanan=A1, sensorkiri=A2; int kecepatan=10; int rodakananA=2, rodakananB=3, rodakiriA=4, rodakiriB=5; void setup(){ Serial.begin(9600); pinMode(sensorkanan,INPUT); pinMode(sensorkiri,INPUT); pinMode(rodakananA,OUTPUT); pinMode(rodakananB,OUTPUT); pinMode(rodakiriA,OUTPUT); pinMode(rodakiriB,OUTPUT); } void moving(int p, int q, int r, int s, int t){ digitalWrite(rodakananA,p); //roda kanan berputar jika nilai 1(+) digitalWrite(rodakananB,q); digitalWrite(rodakiriA,r); //roda kiri berputar jika nilai 1(+) digitalWrite(rodakiriB,s); analogWrite(kecepatan,t); //t merupkan variable nilai untuk kecepanan } void loop(){ delay(300); int skanan=analaogRead(sensorkanan); Serial.println(skanan); int skiri=analaogRead(sensorkiri); Serial.println(skiri); if(sknan<300&&skiri<300){ moving(1,0,1,0,50); } else if(sknan>300&&skiri<300){ moving(0,1,1,0,50); } else{ moving(0,0,0,0,50); } } Semoga Bermanfaat. Comments
Comments
Post a Comment