Der HC-SR04 Ultraschallsensor (umgangssprachlich auch Abstands- oder Entfernungsmesser genannt) wird in vielen interessanten Arduino Projekten zur Abstandsmessung eingesetzt. Aus diesem Grund wird der Sensor und dessen Funktionsweise im aktuellen Beitrag näher vorgestellt und die technisches Details ausführlich erläutert.
HC-SR04 Ultraschallsensor
Das Ultraschallmodul HC-SR04 eignet sich zur Abstandsmessung im Bereich zwischen 2cm bis zu ca. 3m. Es besitzt eine Auflösung von 3mm und benötigt eine Versorgungsspannung von 5V bei einer Stromaufnahme von unter 2mA.
Technische Daten
Betriebsspannung | 5V (+/- 10%) |
Strombedarf | ca. 2mA |
max. messbare Entfernung | ca. 3m |
min. messbare Entfernung | ca. 2 cm |
Genauigkeit | ca. 3mm |
Signal Level | TTL-Pegel |
Maximalen Messungen pro Sekunde | 50 |
Funktionsweise
Der Sensor sendet, ähnlich wie Fledermäuse oder Delfine, ein klickendes (nicht hörbares) Geräusch im Ultraschall-Bereich aus um anschließend die Verzögerung des Echos zu messen. Je größer die Distanz zum nächsten Objekt, desto später kommt das Echo-Signal zurück.
Bei der Messung sollte darauf geachtet werden, dass sich keine anderen Gegenstände im Sendekegel von 15° befinden.
Des weiteren spielt auch die Umgebungstemperatur bei der Messung eine wichtige Rolle, da die Ausbreitungsgeschwindigkeit abhängig von der Luft-Temperatur ist. Bei einer 20° Temperaturdifferent kann ein Messfehler von bis zu 3,4% entstehen. Dies sollte bei Projekten im Outdoor-Bereich beachtet werden.
Weitere technische Details und Erklärungen können in diesem Dokument von KT-Elektronic nachgelesen werden.
Nach Triggerung mit einer fallenden Flanke am Trigger-Anschluss misst das Modul selbstständig die Entfernung und wandelt diese in ein Rechteck-Signal welches am Echo-Ausgang zur Verfügung steht. Ein Messintervall hat eine Dauer von 20ms. Es können also 50 Messungen pro Sekunde durchgeführt werden
HC-SR04 Pinout

1 VCC | Spannungsversorgung, 5V |
2 Trig | Triggert das Ultraschall-Signal |
3 Echo | Ausgang Messergebnis, TTL-Pegel |
4 GND | Masse (Ground) Anschluss |
HC-SR04 Ultraschallsensor kaufen
- Verwenden Sie den IO-Port TRIG, um die Bereichseinstellung auszulösen. Es benötigt mindestens 10 us High-Signal.
- Das Modul kann 8 Rechtecke pro 40 kz automatisch senden und prüft, ob ein Signal zurückgegeben wird.
- Wenn ein Signal zurückgegeben wird, geben Sie ein Hochpegelsignal über den E / A-Port ECHO aus. Die Dauer des Hochpegelsignals ist die Zeit vom Sender bis zum Empfang mit Ultraschall.
Aufbau und Arduino Sketch
Versuchsaufbau
Arduino UNO | HC-SR04 |
---|---|
5V | VCC |
GND | GND |
GPIO 9 | Trig |
GPIO 10 | Echo |
Arduino Sketch
// Entfernungsmessung mit Hilfe des HC-SR04 Ultraschallsensors // https://iotspace.dev/hc-sr04-ultraschallsensor-anleitung-und-pinout int trigPin = 9; // Trigger int echoPin = 10; // Echo long duration, distance; void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop() { // Sensor initialisieren digitalWrite(trigPin, LOW); delayMicroseconds(10); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); pinMode(echoPin, INPUT); // Berechnung duration = pulseIn(echoPin, HIGH); distance = (duration/2) / 29.1; //Ausgabe Serial.print(distance); Serial.print(" cm"); Serial.println(""); delay(500); }
Schlusswort
Möchtest du mehr interessante Arduino Projekte kennen lernen und weiter in die Welt der Mikrocontroller einsteigen? Dann empfehle ich das Buch Arduino Kompendium: Elektronik, Programmierung und Projekte.
Hiermit ist es möglich auch ohne umfassende Elektronik- und Programmiervorkenntnisse eigene spannende IoT Projekte umzusetzen.
- Danny Schreiter (Autor)