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
- HC-SR04 ultrasonic sensor can send eight 40 kHz and detect whether there is any pulse signal back.If it back, a high level signal will be outputed by IO, and the duration of the signal is the time from sending ultrasonic to returning
- HC-SR04 Test Distance: high level time velocity of sound (340M/S) /2
- Equipped with anti-reverse pin socket – making the wiring much tighter and convenient; 4-pin anti-reverse cable also included.
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)