int FsensorPin;
int SsensorPin;
int BsensorPin;
int BssenorPin;
int LsensorPin = 22;
int RsensorPin = 24;
int trigPin = 36;
int echoPin = 38;
int LM_1 = 37; //forward left motor
int LM_2 = 39; //reverse left motor
int RM_1 = 41; //forward right motor
int RM_2 = 43; //reverse right motor
void setup() {
// put your setup code here, to run once:
Serial.begin (9600);
pinMode(LM_1, OUTPUT);
pinMode(LM_2, OUTPUT);
pinMode(RM_1, OUTPUT);
pinMode(RM_2, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(LsensorPin, INPUT);
pinMode(RsensorPin, INPUT);
pinMode(FsensorPin, INPUT);
pinMode(SsensorPin, INPUT);
pinMode(BsensorPin, INPUT);
pinMode(BssensorPin, INPUT);
}
void moveStop()
{
digitalWrite(LM_1, LOW);
digitalWrite(LM_2, LOW);
digitalWrite(RM_1, LOW);
digitalWrite(RM_2, LOW);
}
void moveForward()
{
digitalWrite(LM_1, LOW);
analogWrite(LM_2, HIGH);
analogWrite(RM_1, HIGH);
digitalWrite(RM_2, LOW);
delay(300);
}
void turnLeft()
{
digitalWrite(LM_1, LOW);
digitalWrite(LM_2, HIGH);
digitalWrite(RM_1, LOW);
digitalWrite(RM_2, HIGH);
delay(300);
}
void turnRight()
{
digitalWrite(LM_1, HIGH);
digitalWrite(LM_2, LOW);
digitalWrite(RM_1, HIGH);
digitalWrite(RM_2, LOW);
delay(300);
}
void moveBack()
{
digitalWrite(LM_1, HIGH);
digitalWrite(LM_2, LOW);
digitalWrite(RM_1, LOW);
digitalWrite(RM_2, HIGH);
delay(500);
}
void loop ()
{
long duration, distance;
digitalWrite(trigPin, LOW); // Added this line
delayMicroseconds(2); // Added this line
digitalWrite(trigPin, HIGH);
// delayMicroseconds(1000); - Removed this line
delayMicroseconds(10); // Added this line
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance < 7 ) ;{
moveForward();
}
else
FsensorPin = analogRead(A0);
if (FsensorPin <= 100){
moveBack();
moveLeft();
}
else
SsensorPin = analogRead(A1);
if (SsensorPin <= 100) {
moveBack();
moveRight();
}
else
BsensorPin = analogRead(A2);
if (BsensorPin <= 100){
moveForward();
moveLeft();
}
else
BssensorPin = analogRead(A3);
if (BssensorPin <= 100) {
moveForward();
moveRigt();
}
if (digitalWrite(LsensorPin = high)) {
moveLeft();
moveForward();
}
else if (digitalWrite(RsensorPin = high)) {
moveRight();
moveForward();
}
}