//www.elegoo.com
//2016.09.12
int in1=9;
int in2=8;
int in3=7;
int in4=6;
int ENA=10;
int ENB=5;
int ABS=130;
void _mForward()
{
analogWrite(ENA,ABS);
analogWrite(ENB,ABS);
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
digitalWrite(in3,LOW);
digitalWrite(in4,HIGH);
Serial.println("go forward!");
}
void _mBack()
{
analogWrite(ENA,ABS);
analogWrite(ENB,ABS);
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
digitalWrite(in3,HIGH);
digitalWrite(in4,LOW);
Serial.println("go back!");
}
void _mleft()
{
analogWrite(ENA,ABS);
analogWrite(ENB,ABS);
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
digitalWrite(in3,HIGH);
digitalWrite(in4,LOW);
Serial.println("go left!");
}
void _mright()
{
analogWrite(ENA,ABS);
analogWrite(ENB,ABS);
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
digitalWrite(in3,LOW);
digitalWrite(in4,HIGH);
Serial.println("go right!");
}
void _mStop()
{
digitalWrite(ENA,LOW);
digitalWrite(ENB,LOW);
Serial.println("Stop!");
}
void setup()
{
Serial.begin(9600);
}
void loop() {
int num1,num2,num3;
num1=digitalRead(11);
num2=digitalRead(4);
num3=digitalRead(2);
if((num1==0)&&num2&&num3)
{
_mleft(); //The sensor detected that right car turn left immediately when it meets black line
delay(2);
while(1){
num2=digitalRead(2); //Cycle to judge degree of intermediate sensor,
if(num2==1)
{ _mleft(); //If num2==1 does not go to the middle position, continue to turn left.
delay(2);}
else
break; //Detection of num2==0 instructions turned over, out of the loop, detection of three sensors’ statusand then make appropriate action
} //The following and so on
}
else if(num2&&num1&&(num3==0))
{
_mright();
delay(2);
while(1)
{
num2=digitalRead(2);
if(num2==1){
_mright();
delay(2);}
else
break;
}
}
else
{
_mForward();
delay(2);
}
}
So I have this line following code and I uploaded it to my Elegoo smart robot for a project I am doing. When I went to test the code for some reason the car won't seem to trun left olny right. Is there something in the code that I need to change to make it turn left? Also it would be helpful to me if who ever answers this to show me where in the code the that needs to be changed. Also can anyone tell me what ENB and ENA stand for in the code as well as ABS.
