Die HC-SR04 Ultraschallsensoren sind günstige Sensoren zur Erfassung von Distanzen per Ultraschall (woher sonnst kommt der Name). Kostenmäßig liegen diese bei etwa 4-5 EUR wenn man Sie in Deutchland kauft, bezieht man diese aus China, so liegt man bei etwa 1 EUR.
Technische Daten
- Betriebsspannung: DC 5V
- Stromverbrauch: ~2mA
- Sensorwinkel: <15°
- Detektionsbereich: 2cm – 450cm
- Präzision: 0,3cm
Anschlüsse und Verwendung
Pins:
1. VCC (5V)
2. trig (T)
3. echo (R)
4. GND
Die Grundsätzliche Funktionsweise ist wie folgt. Es muss ein Impuls auf dem Triggerpin gelegt werden, und auf dem Echo-Pin gibt es dann den Rechtecksignal, welches Proportional zur Distanz ist. Um sich Berechnung der Luafzeiten zu ersparen, gibt es zahlreiche Biliotheken. Ich selber habe die von Erik Simones verwendet https://github.com/ErickSimoes/Ultrasonic. Auf dieser Seite ist auch eine entsprechende Anleitung zu finden. In dieser Anleitung wird auch beschrieben, wie man die Bibliothek installiert.
In meinem Sketch habe ich 6 Ultraschall-Sensoren an den Arduino angeschlossen (mehr DIO-Pins habe ich beim Arduino-Nano nicht zur Verfügung gehabt).
#include <Ultrasonic.h> Ultrasonic ultrasonic[6] = { Ultrasonic(3, 2), Ultrasonic(5, 4), Ultrasonic(7, 6), Ultrasonic(9, 8), Ultrasonic(11, 10), Ultrasonic(13, 12) }; void setup() { Serial.begin(9600); } void loop() { for (int n=0; n<6; n++) { Serial.print("Sensor["); Serial.print(n); Serial.print("]: "); Serial.print(ultrasonic[n].read(CM)); // Prints the distance on the default unit (centimeters) Serial.println("cm"); } delay(100); }