HC-SR04 - 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.
- Raspberry Pi Pico: GPIO-Eingang mit 5 Volt beschalten
- Raspberry Pi: GPIO-Eingang mit 5 und 12 Volt beschalten
Pin-Bezeichnungen
- 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:
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.
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
- Raspberry Pi Pico: Abstandsmessung mit Ultraschallsensor HC-SR04
- Raspberry Pi Pico: Abstandsmessung mit Temperaturkompensation für Ultraschallsensor (HC-SR04)
- Raspberry Pi Pico: Abstandsmessung mit Ultraschallsensor HC-SR04 auf einem Display anzeigen (LCD-1602 mit I2C)
- Raspberry Pi Pico: Abstandswarner mit Summer und Ultraschallsensor HC-SR04
- Raspberry Pi Pico: Anwesenheitserkennung für ein Display mit Ultraschallsensor HC-SR04
Weitere verwandte Themen:
- FC-51 - Infrarot-Reflektionssensor
- HC-SR501 - PIR Motion Detector (Bewegungssensor)
- KY-033/TCRT5000 - Infrarot-LED-Sensor
- KY-010 - Optischer Unterbrechungssensor
Mit einem HC-SR04 experimentieren
Elektronik-Set Sensor Edition mit den beliebtesten Sensoren zum Messen von Temperatur, Helligkeit, Lautstärke und Entfernung, sowie Erkennen von Bewegung und Annäherung.
Es ist eine Erweiterung zu unseren Elektronik-Sets Pico Edition und Pico WLAN Edition.
Damit kannst Du ein digitales Thermometer mit Display bauen, einen Distanzmesser, Bewegungsmelder, Klatschschalter, Diebstahlwarner, berührungslosen Schalter und vieles mehr.
Gemeinsam mit anderen und unter Anleitung experimentieren? Buche einen Online-Workshop
Teilen:
Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython
Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.
- LED: Einschalten, ausschalten, blinken und Helligkeit steuern
- Taster: Entprellen und Zustände anzeigen
- LED mit Taster einschalten und ausschalten
- Ampel- und Lauflicht-Steuerung
- Elektronischer Würfel
- Eigene Steuerungen programmieren
Elektronik-Fibel
Elektronik einfach und leicht verständlich
Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.