The one I have built is based on arduino. you can build with just any microcontroller. I salvaged the parts from old robot and built this one. Check my Grid solver robot that is based on the line follower. same hardware, but the program is changed. I used a sensor which gives High or low depending whether its on black or white path. it gives HIGH '1' when on white line or place. and gives LOW '0' when on black path.
I uses 2x4V battery, that makes it 8 V. I connected only 4 V to the motor driver for few reasons.namely,
1. The motor is 6v
2. It is a 300 rpm motor and supplying 8 V will increase the rpm
3. Increase In rpm would result in the robot to overshoot from the path and get disoriented.
So you guys try with a 100-150 rpm motor. that will be sufficient.
if you have any queries please comment below. and like the video :-P
Algorithm:
There are two sensors; A and B
start
a=0 b=0: move forward
a=1 b=1: move forward
a=1 b=0: turn right
a=0 b=1: turn left
stop
Arduino code:
/*
A1 A2 : 01 forward; 10 reverse
B1 B2 : 01 forward; 10 reverse
*/
int x=0;
int y=0;
void setup(){
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(8, INPUT);
delay(5000);
}
void loop(){
x=analogRead(A0);//LEFT
y=analogRead(A1);//RIGHT
if (x>=500 && y<=200){
digitalWrite(2, HIGH);//
digitalWrite(3, HIGH);//
digitalWrite(4, LOW);//
digitalWrite(5, HIGH);//
}
else if (x<=200 && y>=500){
digitalWrite(2, LOW);//
digitalWrite(3, HIGH);//
digitalWrite(4, HIGH);//
digitalWrite(5, HIGH);//
}
else if (x>=500 && y>=500){
digitalWrite(2, LOW);//
digitalWrite(3, HIGH);//
digitalWrite(4, LOW);//
digitalWrite(5, HIGH);//
}
else {
digitalWrite(2, HIGH);//
digitalWrite(3, HIGH);//
digitalWrite(4, HIGH);//
digitalWrite(5, HIGH);//
}
}
Comments
Post a Comment