const int trigPin1 = 7;
const int echoPin1 = 6;
const int trigPin2 = 8;
const int echoPin2 = 9;
const int trigPin3 = 2;
const int echoPin3 = 3;
const int forwarddirection1 = 10;
const int reversedirection1 = 11;
const int forwarddirection2 = 5;
const int reversedirection2 = 4;
const int Pump = 21;
long duration1;
int distance1;
long duration2;
int distance2;
long duration3;
int distance3;
void setup() {
// put your setup code here, to run once:
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
pinMode(trigPin3, OUTPUT);
pinMode(echoPin3, INPUT);
pinMode(forwarddirection1, OUTPUT);
pinMode(forwarddirection2, OUTPUT);
pinMode(reversedirection1, OUTPUT);
pinMode(reversedirection2, OUTPUT);
pinMode(Pump, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin1, LOW);
delayMicroseconds(2);
digitalWrite(trigPin1, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1, LOW);
duration1 = pulseIn(echoPin1, HIGH);
distance1 = duration1*0.034/2;
Serial.println(distance1);
//distance1 is the ultrasonic sensor on the right
digitalWrite(trigPin2, LOW);
delayMicroseconds(2);
digitalWrite(trigPin2, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin2, LOW);
duration2 = pulseIn(echoPin2, HIGH);
distance2 = duration2*0.034/2;
Serial.println(distance2);
//distance 2 is the ultrasonic sensor on the left
digitalWrite(trigPin3, LOW);
delayMicroseconds(2);
digitalWrite(trigPin3, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin3, LOW);
duration3 = pulseIn(echoPin3, HIGH);
distance3 = duration3*0.034/2;
Serial.println(distance3);
//distance 3 is the ultrasonic sensor at the top
if ((distance1 > 10) && (distance2 > 10) && (distance3 > 10) ){
digitalWrite(forwarddirection1, HIGH);
digitalWrite(forwarddirection2, HIGH);
digitalWrite(reversedirection1, LOW);
digitalWrite(reversedirection2, LOW);
}
if ((distance1 < 10) && (distance2 > 10) && (distance3 > 10) ){
digitalWrite(forwarddirection1, HIGH);
digitalWrite(forwarddirection2, LOW);
digitalWrite(reversedirection1, LOW);
digitalWrite(reversedirection2, LOW);
}
if ((distance1 > 10) && (distance2 < 10) && (distance3 > 10) ){
digitalWrite(forwarddirection1, HIGH);
digitalWrite(forwarddirection2, LOW);
digitalWrite(reversedirection1, LOW);
digitalWrite(reversedirection2, LOW);
}
if ((distance1 > 10) && (distance2 > 10) && (distance3 < 10) ){
digitalWrite(forwarddirection1, LOW);
digitalWrite(forwarddirection2, HIGH);
digitalWrite(reversedirection1, LOW);
digitalWrite(reversedirection2, LOW);
}
// put your main code here, to run repeatedly:
}