hello guys i'm making an arduino bluetooth car with 2 ultrasonic sensors for my graduation , one sensor on the front and one on the back , but it doesen't work , works only the front one.
the purpose of the car is ,when im going forward the ultrasonic catches a obstacle stop the car ,the same in backward.this is my code thank you if you can help me
int motorA1 = 5;
int motorA2 = 6;
int motorB1 = 9;
int motorB2 = 10;
int TRIG_PIN = 12;
int ECHO_PIN = 11;
int TRIG_PIN1 = 4;
int ECHO_PIN1 = 2;
int stato;
void setup() {
pinMode(TRIG_PIN1,OUTPUT);
pinMode(ECHO_PIN1,INPUT);
pinMode(TRIG_PIN,OUTPUT);
pinMode(ECHO_PIN,INPUT);
pinMode(motorA1, OUTPUT);
pinMode(motorA2, OUTPUT);
pinMode(motorB1, OUTPUT);
pinMode(motorB2, OUTPUT);
Serial.begin(9600);
}
void loop() {
if(Serial.available() > 0){
stato = Serial.read();
}
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duration = pulseIn(ECHO_PIN,HIGH);
long distance = 0.034 * durata / 2;
digitalWrite(TRIG_PIN1, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN1, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN1, LOW);
durata = pulseIn(ECHO_PIN1,HIGH);
if(stato == 'F') { //forward
analogWrite(motorA1, 100);
analogWrite(motorA2, 0);
analogWrite(motorB1, 100);
analogWrite(motorB2,0 );
}
else if (distance<30){
analogWrite(motorA1, 0);
analogWrite(motorA2, 0);
analogWrite(motorB1, 0);
analogWrite(motorB2, 0);
}
if (stato == 'B') {//backward
analogWrite(motorA1, 0);
analogWrite(motorA2, 100);
analogWrite(motorB1, 0);
analogWrite(motorB2, 100);
}
else if (distance<30){
analogWrite(motorA1, 0);
analogWrite(motorA2, 0);
analogWrite(motorB1, 0);
analogWrite(motorB2, 0);
}
if (stato == 'L') {//Sinistra
analogWrite(motorA1, 100);
analogWrite(motorA2, 0);
analogWrite(motorB1, 0);
analogWrite(motorB2, 100);
}
if (stato == 'R') { // Destra
analogWrite(motorA1, 0);
analogWrite(motorA2, 100);
analogWrite(motorB1, 100);
analogWrite(motorB2, 0);
} }