HC-SR04 - Ultrasonic Sensor (Ultraschallsensor)

HC-SR04/HC-SR04P - Ultrasonic Sensor (Ultraschallsensor)

Wichtig

Es gibt sehr viele unterschiedliche HC-SR04-Typen mit ähnlichen Typenbezeichnungen, aber unterschiedlichen elektrischen Parametern.
Normalerweise wird man einen Sensor vom Typ HC-SR04 verwenden. Der ist in der Regel nur TTL-kompatibel und somit nur an Arduinos ohne zusätzliche Schaltungsmaßnahmen einsetzbar.
Für den Einsatz mit Raspberry Pi und Raspberry Pi Pico, die mit +3,3-Volt-Signalen arbeiten, eignet sich der Sensor vom Typ HC-SR04P (mit P) besser. Es gibt aber auch einen HC-SR04-Typ, der wahlweise für 3,3 Volt und 5 Volt geeignet ist.

  • Abstand erkennen und messen
  • Annäherung erkennen
  • Größen messen

Der Ultraschall-Sensor vom Typ HC-SR04 eignet sich zum Messen von Entfernungen und Abstände zu anderen Objekten. Dazu muss ein Ultraschall-Signal ausgesendet und dessen Echo empfangen werden. Um eine Entfernung zu dem Objekt messen zu können, muss die Signallaufzeit gemessen und daraus die Entfernung berechnet werden.

Das Ultraschall-Modul kümmert sich um das Erzeugen und Empfangen des Ultraschall-Signals. Dazu muss eine Schaltung oder ein Programm über den Trigger-Pin des Moduls eine Messung anstoßen und erhält am Echo-Pin des Moduls ein Signal zurück, wenn das Ultraschall-Signal zurückgeworfen wurde. Das Programm muss die Zeit messen und daraus die Entfernung berechnen.

Wichtige Kennwerte

  • Betriebsspannung: 3,0 bis 5,5 Volt
  • Betriebsstrom: 2 bis 15 mA
  • Erfassungsbereich: 2 cm bis 450 cm (bei 5 V Betriebsspannung)
  • Erfassungsbereich: 2 cm bis 400 cm (bei 3,3 V Betriebsspannung)
  • Genauigkeit/Abweichung: 0,3 cm (3 mm)
  • Eingangstriggersignal: 10 µs
  • Sensorwinkel: nicht mehr als 15 Grad
  • Strombedarf: ca. 2 mA pro Messung
  • Signal-Pegel von HC-SR04: +5 Volt (TTL)
  • Signal-Pegel von HC-SR04P: +3,3 Volt

Wenn man den Sensor-Typ HC-SR04 (ohne P) bei Mikrocontrollern mit +3,3-V-Signalen verwenden will, dann darf der Echo-Ausgang nicht einfach so auf einen GPIO-Eingang des Mikrocontrollers geschaltet werden. Wenn der Mikrocontroller nur 3,3 Volt am GPIO-Eingang verträgt, dann muss zwischen dem Echo-Ausgang des Sensors und dem GPIO-Eingang des Mikrocontrollers ein Spannungsteiler geschaltet sein.

Pin-Bezeichnungen

HC-SR04/HC-SR04P - Ultrasonic Sensor (Ultraschallsensor)

  • Betriebsspannung (VCC): In der Regel beträgt VCC zwischen +3,0 und +5,5 Volt.
  • Masse (GND): Bezugspunkt für die Betriebsspannung und die Signal-Leitungen.
  • Trigger-Eingang (TRIG): Der Trigger-Eingang muss auf einen GPIO-Ausgang des Mikrocontrollers geschaltet werden.
  • Echo-Ausgang (ECHO): Der Echo-Ausgang muss auf einen GPIO-Eingang des Mikrocontrollers geschaltet werden.

Hinweis: Wenn man einen Sensor-Typ HC-SR04 hat, der nur TTL-kompatibel ist, dann darf dessen Echo-Ausgang nicht einfach so auf einen GPIO-Eingang des Raspberry Pi oder Raspberry Pi Pico geschaltet werden. Zwischen dem Echo-Ausgang des Sensors und dem GPIO-Eingang muss ein Spannungsteiler geschaltet sein.

Steuerung

Der Abstand oder die Entfernung zu einem Objekt lässt sich durch die Schallgeschwindigkeit in der Luft bestimmen. Dafür sind am Besten Frequenzen über 20 kHz geeignet, weil die für das menschliche Ohr unhörbar sind und die Messung auf kurzen Distanzen ziemlich genau ist.

Funktional wird Ultraschallsignal vom Sensor ausgegeben. Das Signal trifft auf ein Ziel und wird teilweise reflektiert. Dieses Echo kommt zum Sensor zurück. Durch Messen, wie viel Zeit zwischen dem Senden und Empfangen der Schallwellen vergangen ist, kann der Abstand zwischen dem Sensor und dem Objekt berechnet werden.

Die Rechnung ist einfach:

Formel um Abstand zu berechnen

Die Zeit muss durch ein steuerndes Gerät per Software ermittelt werden. Die Schallgeschwindigkeit beträgt 343 m/s bzw. 0,0343 cm/μs bei 20°C Lufttemperatur. Das Teilen durch 2 ist deshalb notwendig, weil die ermittelte Zeit den Hin- und Rückweg des Schalls umfasst und wir nur die einfache Strecke wissen wollen.

Formel mit Werten um Abstand zu berechnen

Leider ist die Schallgeschwindigkeit temperaturabhängig. Ob das im konkreten Anwendungsfall ein Problem darstellt, hängt davon ab, wie viel die aktuelle Temperatur von 20°C abweicht.

Anwendungen mit dem Ultraschallsensor HC-SR04

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Elektronik-Sets für das Hardware-nahe Programmieren

Elektronik-Fibel

Elektronik einfach und leicht verständlich

Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.

Das will ich haben!

Programmieren mit dem Raspberry Pi Pico
Online-Workshop

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)

Zum PicoTalk