[Risolto] Problemi con hc-sr04

Grazie, finalmente ho risolto, ho adattato il codice al mio progetto e modificato alcune cose, come ho già detto in alcuni post in precedenza questi sensori mi servono per una Arduino Car. I problemi erano 2, uno quello che viene detto nel mio primo post e due, una singola batteria da 9 volt non era sufficiente e quindi ne ho inserite due (ovviamente su due Arduino differenti). Riporto il codice per chi in futuro fosse interessato:

#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
#include <SRF05.h>

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void printDetail(uint8_t type, int value);
SRF05 Sensor1(3, 5, 200, 5);
SRF05 Sensor2(14, 15, 200, 5);
SRF05 Sensor3(18, 19, 200, 5);
int led1;
int led2;
int led3;

void setup()
{
  mySoftwareSerial.begin(9600);
  Serial.begin(9600);
  Sensor1.Unlock = true;
  Sensor2.Unlock = true;
  Sensor3.Unlock = true;

  if (!myDFPlayer.begin(mySoftwareSerial)) {
    while (true);
  }
  myDFPlayer.volume(15);  //Set volume value. From 0 to 30
  myDFPlayer.play(1);  //Play the first mp3
}

void loop() {
  static unsigned long timer = millis();

  if (millis() - timer > 900000) {
    timer = millis();
    myDFPlayer.next();
  }
  if ( Sensor1.Read() > -1 ) {
    if ( Sensor1.Distance == 0 ) {
      Serial.println("Out of range");
    } else if (Sensor1.Distance <= 15) {
      digitalWrite(led1, HIGH);
      Serial.print("Dist1: ");
      Serial.print(Sensor1.Distance);
      Serial.println(" cm");
    }
    else if (Sensor1.Distance > 14) {
      digitalWrite(led1, LOW);
      Serial.print("Dist1: ");
      Serial.print(Sensor1.Distance);
      Serial.println(" cm");
    }
  }
  if ( Sensor2.Read() > -1 ) {
    if ( Sensor2.Distance == 0 ) {
      Serial.println("Out of range");
    } else if (Sensor2.Distance <= 15) {
      digitalWrite(led2, HIGH);
      Serial.print("Dist2: ");
      Serial.print(Sensor2.Distance);
      Serial.println(" cm");
    }
    else if (Sensor2.Distance > 14) {
      digitalWrite(led2, LOW);
      Serial.print("Dist2: ");
      Serial.print(Sensor2.Distance);
      Serial.println(" cm");
    }
  }
  if ( Sensor3.Read() > -1 ) {
    if ( Sensor3.Distance == 0 ) {
      Serial.println("Out of range");
    } else if (Sensor3.Distance <= 15) {
      digitalWrite(led3, HIGH);
      Serial.print("Dist3: ");
      Serial.print(Sensor3.Distance);
      Serial.println(" cm");
    }
    else if (Sensor3.Distance > 14) {
      digitalWrite(led3, LOW);
      Serial.print("Dist3: ");
      Serial.print(Sensor3.Distance);
      Serial.println(" cm");
    }
  }
}

In questo vi è anche l'uso di uno speaker in combo con un
DFPlayer_Mini_SKU_DFR0299-DFRobot

#include <AFMotor.h>
#include <SRF05.h>

AF_DCMotor m1(1);
AF_DCMotor m2(2);
AF_DCMotor m3(3);
AF_DCMotor m4(4);

int i = 0;
int j = 0;
char state;
int vSpeed = 255 ;

SRF05 Sensor1(23, 22, 200, 5);
SRF05 Sensor2(26, 27, 200, 5);
SRF05 Sensor3(51, 50, 200, 5);
int led1;
int led2;
int led3;

void setup() {
  Serial.begin(9600);
  Serial1.begin(9600);
  m1.run(RELEASE);
  m2.run(RELEASE);
  m3.run(RELEASE);
  m4.run(RELEASE);
  Sensor1.Unlock = true;
  Sensor2.Unlock = true;
  Sensor3.Unlock = true;
}

void loop() {
  if ( Sensor1.Read() > -1 ) {
    if ( Sensor1.Distance == 0 ) {
      Serial.println("Out of range");
    } else if (Sensor1.Distance <= 15) {
      digitalWrite(led1, HIGH);
      Serial.print("Dist1: ");
      Serial.print(Sensor1.Distance);
      Serial.println(" cm");
    }
    else if (Sensor1.Distance > 14) {
      digitalWrite(led1, LOW);
      Serial.print("Dist1: ");
      Serial.print(Sensor1.Distance);
      Serial.println(" cm");
    }
  }
  if ( Sensor2.Read() > -1 ) {
    if ( Sensor2.Distance == 0 ) {
      Serial.println("Out of range");
    } else if (Sensor2.Distance <= 15) {
      digitalWrite(led2, HIGH);
      Serial.print("Dist2: ");
      Serial.print(Sensor2.Distance);
      Serial.println(" cm");
    }
    else if (Sensor2.Distance > 14) {
      digitalWrite(led2, LOW);
      Serial.print("Dist2: ");
      Serial.print(Sensor2.Distance);
      Serial.println(" cm");
    }
  }
  if ( Sensor3.Read() > -1 ) {
    if ( Sensor3.Distance == 0 ) {
      Serial.println("Out of range");
    } else if (Sensor3.Distance <= 15) {
      digitalWrite(led3, HIGH);
      Serial.print("Dist3: ");
      Serial.print(Sensor3.Distance);
      Serial.println(" cm");
    }
    else if (Sensor3.Distance > 14) {
      digitalWrite(led3, LOW);
      Serial.print("Dist3: ");
      Serial.print(Sensor3.Distance);
      Serial.println(" cm");
    }
  }

  m1.setSpeed(vSpeed);
  m2.setSpeed(vSpeed);
  m3.setSpeed(vSpeed);
  m4.setSpeed(vSpeed);
  if (Serial1.available() > 0) {
    state = Serial1.read();
    Serial.println(state);
  }


  /***********************Forward****************************/
  //If state is equal with letter 'A', car will go forward!
  if (state == 'A') {
    m1.run(FORWARD);
    m2.run(FORWARD);
    m3.run(FORWARD);
    m4.run(FORWARD);

  }
  /***********************Backward****************************/
  //If state is equal with letter 'I', car will go backward
  else if (state == 'I') {
    m1.run(BACKWARD);
    m2.run(BACKWARD);
    m3.run(BACKWARD);
    m4.run(BACKWARD);
  }
  /***************************Left*****************************/
  //If state is equal with letter 'S', wheels will turn left
  else if (state == 'S') {
    m1.run(FORWARD);
    m2.run(BACKWARD);
    m3.run(BACKWARD);
    m4.run(FORWARD);
  }
  /***************************Right*****************************/
  //If state is equal with letter 'D', wheels will turn right
  else if (state == 'D') {
    m1.run(BACKWARD);
    m2.run(FORWARD);
    m3.run(FORWARD);
    m4.run(BACKWARD);
  }
  /************************Bonus*****************************/

  /************************Bonus*****************************/

  /************************Bonus*****************************/

  /**********************Bonus***************************/

  /************************Bonus*****************************/
  //If state is equal with letter 'S', stop the car
  else if (state == 'P') {
    m1.run(RELEASE);
    m2.run(RELEASE);
    m3.run(RELEASE);
    m4.run(RELEASE);
  }

}

In questo codice invece c'è in aggiunta il controllo dei motori tramite bt. Grazie ancora @docdoc