So I am trying to connect 2 utrasound sensors to a single arduino nano every.
The Goal is to have them facing opposite directions and then alarm and light up when one of them is triggered but then alarm and light when they are both going (on slightly different buzzers and different colour LED's)
I have managed to get one side working fine so I decided to copy paste the code and tweak itr but I cannot seems to get it to act properly.
Below is my code if someone could have a look and see if I have made any mistakes that would be much appreciated
const int pingPin1 = 10; // Trigger Pin of Ultrasonic Sensor 1
const int echoPin1 = 11; // Echo Pin of Ultrasonic Sensor 1
const int buzzerPin1 = 12; //
const int LEDPin1 = 7;
const int pingPin2 = 8; // Trigger Pin of Ultrasonic Sensor 2
const int echoPin2 = 9 ; // Echo Pin of Ultrasonic Sensor 2
const int buzzerPin2 = 6; //
const int LEDPin2 = 4;
int PowerPin = 5;
void setup() {
Serial.begin(9600); // Starting Serial Terminal
pinMode(buzzerPin1, OUTPUT);
pinMode(LEDPin1, OUTPUT);
pinMode(buzzerPin2, OUTPUT);
pinMode(LEDPin2, OUTPUT);
}
void loop() {
long duration1;
pinMode(pingPin1, OUTPUT);
digitalWrite(pingPin1, LOW);
delayMicroseconds(2);
digitalWrite(pingPin1, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin1, LOW);
pinMode(echoPin1, INPUT);
duration1 = pulseIn(echoPin1, HIGH);
long duration2;
pinMode(PowerPin, OUTPUT);
digitalWrite(PowerPin, HIGH);
pinMode(pingPin2, OUTPUT);
digitalWrite(pingPin2, LOW);
delayMicroseconds(2);
digitalWrite(pingPin2, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin2, LOW);
pinMode(echoPin2, INPUT);
duration2 = pulseIn(echoPin2, HIGH);
while(duration1<6000){
Serial.println(duration1);
int i=duration1/20;
digitalWrite(LEDPin1, HIGH);
digitalWrite(buzzerPin1, HIGH);
delay(i/2);
digitalWrite(LEDPin1, LOW);
digitalWrite(buzzerPin1, LOW);
delay(i);
break;
}
while(duration2<6000){
Serial.println(duration2);
int i2=duration2/20;
digitalWrite(LEDPin2, HIGH);
digitalWrite(buzzerPin2, HIGH);
delay(i2/2);
digitalWrite(LEDPin2, LOW);
digitalWrite(buzzerPin2, LOW);
delay(i2);
break;
}
}