Collegare più di un Sensore IR FC-51

Buonasera a tutti,
non riesco a capire come far funzionare più di un sensore IR FC-51.
Io ho bisogno di collegare 5 sensori IR FC-51 e quando ho un' ostacolo mi si attivi l'uscita.
Esempio:

  • ostacolo sensore su pin 1 mi attiva l' uscita 1
  • ostacolo sensore su pin 2 mi attiva l' uscita 2
  • ostacolo sensore su pin 3 mi attiva l' uscita 3
    e via dicendo.
    Ho utilizzato il seguente programma ma non riesco a far andare altri ingressi/uscite:
#define IR 2 

int detection = HIGH;    // no obstacle
void setup() {
 Serial.begin(9600);   
 pinMode(IR, INPUT); 
  pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {  
 detection = digitalRead(IR);
 if(detection == LOW){
   digitalWrite(LED_BUILTIN, HIGH); 
   Serial.print("There is an obstacle!\n");
 }
 else{ 
   digitalWrite(LED_BUILTIN, LOW); 
   Serial.print("No obstacle!\n");
 }
 delay(50);    // in ms
}

Grazie in anticipo per l'aiuto.

Ma quello che hai postato funziona con una sola entrata, basta che ne metti tre: definisci tre IR diversi con il numero dei pin e nel loop ne controlli uno alla volta.

>Madmax87, Zuilor98: dato che NON lo avete ancora fatto, nel rispetto del regolamento, vi chiedo di presentarvi QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

Madmax87: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post (in basso a destra del post, bottone More -> Modify) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra).

Guglielmo

gpb01:
>Madmax87, Zuilor98: dato che NON lo avete ancora fatto, nel rispetto del regolamento, vi chiedo di presentarvi QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

gpb01:

Madmax87: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post (in basso a destra del post, bottone More -> Modify) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra).

Guglielmo

Grazie Guglielmo,
Ho eseguito la presentazione e aggiunto il codice nella apposita "casella".

Sono riuscito anche a comandare due uscite diverse con due IR:

// IR FC-51 Rilevatore di ostacoli

int LED = 13; // Digital Output Pin
int LED1 = 12; // Digital Output Pin
int isObstaclePin = 7;  // Digital Input Pin
int isObstaclePin1 = 3; // Digital Input Pin
int isObstacle = HIGH;  
int isObstacle1 = HIGH; 

void setup() {
    pinMode(LED, OUTPUT);
    pinMode(LED1, OUTPUT);
    pinMode(isObstaclePin, INPUT);
    pinMode(isObstaclePin1, INPUT);
    Serial.begin(9600);
}

void loop() 
    {
    isObstacle = digitalRead(isObstaclePin);
    isObstacle1 = digitalRead(isObstaclePin1);
    if (isObstacle == LOW) 
    {
    Serial.println("OBSTACLE!!, OBSTACLE!!");
    digitalWrite(LED, HIGH);
    } 
    else 
    {
    Serial.println("Clear Obstacle 1");
    digitalWrite(LED, LOW);
    }    
    if 
    (isObstacle1 == LOW) 
    {
    Serial.println("OBSTACLE!!, OBSTACLE!!");
    digitalWrite(LED1, HIGH); 
    } 
    else
    {
    Serial.println("Clear Obstacle 2");   
    digitalWrite(LED1, LOW);
    }   
    delay(500);
    }

Volevo chiedere anche se è possibile effettuare una scorciatoia del codice che ho scritto, nel senso fare solo un ciclo if-else.