Mehrere Sensoren anschließen

1. Festlegen der Pins

Wir schließen 5 Ultraschall-Sensoren an einen Arduino an.
Die Anschluss-Pins speichern wir hierzu in einem Feld (eng. Array):

int trigger[]={2,4,6,8,10};  // Trigger zum Senden des Signals 
int echo[]={3,5,7,9,11};     // Echo zum Empfangen des relektierten Signals

Die einzelnen Werte des Feldes könnten wir auch durch die Angabe ihres Index-Wertes zuweisen:

trigger[0] = 2;
trigger[1] = 4;
trigger[2] = 6;
...

2. Die setup()-Methode

In der setup()-Methode müssen wir jetzt allen Trigger- und Echo-Pins die INPUT oder OUTPUT-Eigenschaft zuweisen.
Hierzu verwenden wir eine Zählschleife:

void setup() {
  Serial.begin(9600);
  for (int i = 0; i < 5; i++) {
    pinMode(trigger[i], OUTPUT);  // Trigger-Pin ist ein Ausgang
    pinMode(echo[i], INPUT);      // Echo-Pin ist ein Eingang
  }
}

Erklärung der Zählschleife

3. Die loop()-Methode

void loop() {
  for (int i = 0; i < 5; i = i + 1) {
    digitalWrite(trigger[i], LOW);
    delay(5);
    digitalWrite(trigger[i], HIGH);
    delay(10);
    digitalWrite(trigger[i], LOW);

    int dauer = pulseIn(echo[i], HIGH);
    int entfernung = (dauer / 2) * 0.03432;
    Serial.print("Sensor Nr.:");
    Serial.print(i);
    Serial.print(entfernung);
    Serial.println(" cm");
  }
  Serial.println("--------------");
  delay(1000);
}

Erklärung des Codes

Auch hier verwenden wir wieder eine Zählschleife, um alle Sensoren nacheinander anzusprechen. Die Messergebnisse werden über die Serielle Schnittstelle ausgegeben.

zurück