long leftduration, rightduration; long rightdistance, leftdistance; #define echoPin1 3 #define echoPin0 1 #define trigPin0 2 #define trigPin1 4 #define forward0 5 #define forward1 7 #define backward0 6 #define backward1 8 void setup() { { pinMode(trigPin0, OUTPUT); pinMode(echoPin0, INPUT); pinMode(trigPin1, OUTPUT); pinMode(echoPin1, INPUT); } void loop() { // this is the part where the board gets data from the sensors digitalWrite(trigPin0, LOW); digitalWrite(trigPin1, LOW); delayMicroseconds(2); digitalWrite(trigPin0, HIGH); digitalWrite(trigPin1, HIGH); delayMicroseconds(10); digitalWrite(trigPin0, LOW); digitalWrite(trigPin1, LOW); rightduration = pulseIn(echoPin1, HIGH); leftduration = pulseIn(echoPin0, HIGH); rightdistance = rightduration / 58.2; leftdistance = leftduration / 58.2; //Calculate the distance (in cm) based on the speed of sound. digitalWrite(forward0, HIGH); digitalWrite(forward1 , HIGH); //this part of the code decides the action of the wheels based on the data from the sensors if (leftdistance < 3); { if (rightdistance > 3) { digitalWrite(forward0, LOW); digitalWrite(forward1 , LOW); digitalWrite(backward0, HIGH); digitalWrite(backward1, HIGH); delay(1000); digitalWrite(backward0, LOW); digitalWrite(backward1, LOW); digitalWrite(forward0, HIGH); delay(3000); digitalWrite(forward0, LOW); } if (rightdistance < 3) { digitalWrite(forward0, LOW); digitalWrite(forward1 , LOW); digitalWrite(backward0, HIGH); digitalWrite(backward1, HIGH); delay(1000); digitalWrite(backward0, LOW); digitalWrite(forward0, HIGH); delay(3000); digitalWrite(forward0, LOW); } } if (rightdistance < 3) { if (leftdistance > 3) { digitalWrite(forward0, LOW); digitalWrite(forward1 , LOW); digitalWrite(backward0, HIGH); digitalWrite(backward1, HIGH); delay(1000); digitalWrite(backward0, LOW); digitalWrite(backward1, LOW); digitalWrite(backward0, HIGH); delay(3000); digitalWrite(backward0, LOW); } if (leftdistance < 3) { digitalWrite(forward0, LOW); digitalWrite(forward1 , LOW); digitalWrite(backward0, HIGH); digitalWrite(backward1, HIGH); delay(1000); digitalWrite(backward0, LOW); digitalWrite(backward1, LOW); digitalWrite(forward1, HIGH); digitalWrite(backward0, HIGH); delay(3000); digitalWrite(backward0, LOW); } delay(50); //Delay 50 ms }