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;
...
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
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);
}
Auch hier verwenden wir wieder eine Zählschleife, um alle Sensoren nacheinander anzusprechen. Die Messergebnisse werden über die Serielle Schnittstelle ausgegeben.