Problem with line following robot
i wrote code line following robot , it's weird because right wheel of robot moves backwards , left wheel moves forward when it's supposed go forward. robot moves right , left properly(the wheels move how it's programmed to. i've used 2 infared receivers/transmitter modules. please tell what's wrong!
look @ code:
look @ code:
code: [select]
int const rs = a0;
int const ls= a3;
#include <afmotor.h>
af_dcmotor r_motor(3);
af_dcmotor l_motor(4);
void setup(){
serial.begin(9600);
pinmode(rs, input);
pinmode(ls, input);
}
void loop(){
bool r_state = digitalread(a0);
bool l_state = digitalread(a3);
if((r_state == true) && (l_state == true)){
strght();
}
if((r_state == true) && (l_state == false)){
turn_right();
}
if((l_state == true) && (r_state == false)){
turn_left();
}
if(l_state && r_state){
stop();
}
}
void strght(){
l_motor.setspeed(200);
r_motor.setspeed(200);
r_motor.run(forward);
l_motor.run(forward);
}
void turn_right(){
r_motor.setspeed(200);
l_motor.setspeed(200);
r_motor.run(forward);
l_motor.run(backward);
}
void turn_left(){
l_motor.setspeed(200);
r_motor.setspeed(200);
l_motor.run(forward);
r_motor.run(backward);
}
void stop(){
l_motor.setspeed(0);
r_motor.setspeed(0);
r_motor.run(release);
l_motor.run(release);
}
you both calling strght() , stop() if both buttons read true/high.
you meant call stop() if both buttons false/low?
you meant call stop() if both buttons false/low?
Arduino Forum > Using Arduino > Programming Questions > Problem with line following robot
arduino
Comments
Post a Comment