int leftforward=A0;
int rightforward=4;
int leftbackward=A2;
int rightbackward=2;
int lefttrig=10;
int leftecho=9;
int fronttrig=8;
int frontecho=7;
int righttrig=6;
int rightecho=5;
int frontvalue;
int leftvalue;
int rightvalue;
int duration;
void setup() {
// put your setup code here, to run once:
pinMode(leftforward,OUTPUT);
pinMode(rightforward,OUTPUT);
pinMode(leftbackward,OUTPUT);
pinMode(rightbackward,OUTPUT);
pinMode(leftecho,INPUT);
pinMode(frontecho,INPUT);
pinMode(rightecho,INPUT);
pinMode(lefttrig,OUTPUT);
pinMode(fronttrig,OUTPUT);
pinMode(righttrig,OUTPUT);
frontvalue=distance(fronttrig,frontecho);
Serial.begin(9600);
}
int distance(int trig,int echo){
digitalWrite(trig,LOW);
delayMicroseconds(2);
digitalWrite(trig,HIGH);
delayMicroseconds(10);
digitalWrite(trig,LOW);
duration=pulseIn(echo,HIGH);
return duration/58;
}
void allstop()
{
digitalWrite(leftforward,LOW);
digitalWrite(rightforward,LOW);
digitalWrite(leftbackward,LOW);
digitalWrite(rightbackward,LOW);
Serial.println("Stop");
}
void left()
{
digitalWrite(leftforward,LOW);
digitalWrite(leftbackward,HIGH);
digitalWrite(rightforward,HIGH);
digitalWrite(rightbackward,LOW);
Serial.println("Left");
}
void right()
{
digitalWrite(leftforward,HIGH);
digitalWrite(leftbackward,LOW);
digitalWrite(rightforward,LOW);
digitalWrite(rightbackward,HIGH);
Serial.println("right");
}
void forward()
{
digitalWrite(leftforward,HIGH);
digitalWrite(leftbackward,LOW);
digitalWrite(rightforward,HIGH);
digitalWrite(rightbackward,LOW);
Serial.println("Forward");
}
void loop() {
// put your main code here, to run repeatedly:
if(frontvalue<=50)
{
allstop();
leftvalue=distance(lefttrig,leftecho);
Serial.print("Leftvalue: ");
Serial.println(leftvalue);
rightvalue=distance(righttrig,rightecho);
Serial.print("Rightvalue: ");
Serial.println(rightvalue);
if(rightvalue>frontvalue&&rightvalue>=leftvalue)
{
right();
}
else if(leftvalue>frontvalue)
{
left();
}
else
{
allstop();
}
}
else
{
forward();
}
delay(250);
frontvalue=distance(fronttrig,frontecho);
Serial.print("frontvalue: ");
Serial.println(frontvalue);
}