HC-SR04-Entfernungssensor: Ultraschall-Abstandsmessung mit Arduino
Wie funktioniert der HC-SR04-Ultraschallsensor und wie schließt man ihn an den Arduino an? TRIG- und ECHO-Pin, die Abstandsformel, Anschluss an ESP32 und Pico und Tipps für genauere Messungen.
Der HC-SR04 ist ein günstiger, sehr verbreiteter Sensor, der den Abstand zu einem Gegenstand per Schall misst. Er arbeitet wie die Orientierung von Fledermäusen: Er sendet einen hochfrequenten, unhörbaren Ton aus und misst, wie lange das Echo zurück braucht. Er ist die Basis für Parksensoren, Roboter, die Hindernissen ausweichen, Füllstandsmesser und Größenmesser.

Wie funktioniert der HC-SR04?
- Der Arduino sendet einen 10-Mikrosekunden-Impuls an den TRIG-Pin.
- Der Sensor sendet 8 Schallimpulse mit 40 kHz aus.
- Der Schall prallt vom Gegenstand ab und kehrt zurück; währenddessen bleibt der ECHO-Pin auf HIGH.
- Der Arduino misst, wie lange ECHO HIGH bleibt, und berechnet den Abstand.
Schall bewegt sich in Luft mit etwa 343 m/s, legt also einen Zentimeter in rund 29 Mikrosekunden zurück. Die gemessene Zeit umfasst Hin- und Rückweg und wird halbiert: Abstand (cm) = Zeit (µs) × 0,0343 / 2, vereinfacht Zeit / 58.
Technische Daten
| Merkmal | Wert |
|---|---|
| Versorgung | 5 V, etwa 15 mA |
| Messbereich | 2–400 cm |
| Auflösung | Etwa 3 mm |
| Messwinkel | Etwa 15° |
| Pins | VCC, TRIG, ECHO, GND |
Abstand mit Arduino messen
Verbinde VCC mit 5V, GND mit GND, TRIG mit Pin 9 und ECHO mit Pin 10. Der Code unten gibt den Abstand im seriellen Monitor aus und meldet gesondert, wenn kein Gegenstand da oder er zu weit weg ist.
const int TRIG_PIN = 9; // tetik / trigger
const int ECHO_PIN = 10; // yankı / echo
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH); // 10 µs darbe / 10 µs pulse
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duration = pulseIn(ECHO_PIN, HIGH, 30000); // en fazla 30 ms bekle / wait max 30 ms
if (duration == 0) {
Serial.println("Menzil dışı / out of range");
} else {
float cm = duration * 0.0343 / 2; // gidiş-dönüş / round trip
Serial.print(cm);
Serial.println(" cm");
}
delay(100); // ölçümler arası / between readings
}Einsatz mit ESP32 und Raspberry Pi Pico
Tipps für genaue Messungen
- Weiche und schräge Flächen: Stoff, Schaumstoff und schräge Flächen reflektieren Schall schlecht; Messungen können ausfallen.
- Mittelwert bilden: Der Median aus 3–5 Messungen entfernt plötzliche Sprünge.
- Temperatureinfluss: Die Schallgeschwindigkeit ändert sich um etwa 0,6 m/s pro 1 °C; für präzise Aufgaben mit einem Temperatursensor korrigieren.
- Mehrere Sensoren: Gleichzeitig ausgelöste Sensoren hören gegenseitig ihre Echos; löse sie nacheinander aus.
- Messabstand: Lass zwischen zwei Messungen mindestens 60 ms, damit das vorige Echo abklingt.
Wie du den Sensor mit einem Buzzer zum Parksensor kombinierst, steht in Was ist ein Buzzer?; weitere Sensoren stellt der Arduino-Sensoren-Überblick vor.
Häufige Fragen
Wie weit misst der HC-SR04?
Theoretisch bis 4 Meter. In der Praxis erhältst du auf glatten, harten Flächen bis 2–3 Meter zuverlässige Werte.
Warum zeigt mein HC-SR04 immer 0 oder einen riesigen Wert?
TRIG und ECHO könnten vertauscht sein, der Gegenstand außer Reichweite oder der Sensor auf eine schallschluckende Fläche gerichtet. Prüfe die Verkabelung und nutze bei pulseIn einen Timeout.
Kann der HC-SR04 den Wasserstand messen?
Ja, nach unten gerichtet am Tankdeckel montiert misst er den Abstand zur Wasseroberfläche. In feuchter Umgebung braucht er Schutz; der wasserdichte JSN-SR04T ist besser geeignet.
Welche anderen Abstandssensoren gibt es für Arduino?
Für kurze Abstände und Linienerkennung nutzt man den Infrarotsensor TCRT5000, für Millimetergenauigkeit den Laser-Sensor VL53L0X. Der HC-SR04 ist dank des Verhältnisses von Preis und Reichweite am verbreitetsten.
Projekte, die du danach bauen kannst
Alle Projekte ansehen
HC-SR04 Abstandsmessung (serielle Anzeige)
HC-SR04 Ultraschallsensor zur Abstandsmessung und Anzeige des Ergebnisses in cm auf dem seriellen Monitor. Er lehrt das Prinzip der Abstandsberechnung mit Schallwellen.

Parksensor mit HC-SR04
Parksensor-Projekt mit HC-SR04-Sensor, der bei Annäherung an ein Objekt den Signalton erhöht und mit LED warnt. Lehrt Feedback-Logik proportional zur Entfernung.

Abstandsmessung mit LCD-Display
Das Projekt, das den vom HC-SR04 Entfernungssensor gelesenen Wert in cm in Echtzeit auf dem 2x16 LCD-Bildschirm anzeigt. Es kombiniert Sensordaten und LCD-Anzeige.

Projekt Höhenmessung
Das Projekt führt Höhenmessungen durch, indem es mit einem HC-SR04-Sensor und einem I2C-LCD-Bildschirm kalibriert wird. Es bietet eine praktische Anwendung durch die Verwaltung von Kalibrierungs- und

Roboter zur Hindernisvermeidung
Wie wäre es, ein intelligentes Fahrzeug zu bauen, das seinen Weg selbst findet? Der Obstacle Avoiding Robot scannt dank des Ultraschallsensors vor ihm ständig seine Umgebung. Wenn er auf ein Hindernis

ESP32 HC-SR04 Ultraschall-Entfernungsmesser
Der Ultraschallsensor HC-SR04 berechnet die Entfernung, indem er die Zeit misst, die die von ihm ausgesendete Schallwelle benötigt, um auf ein Objekt zu treffen und zurückzukehren (Time of Flight). In diesem Projekt senden wir mit dem ESP32 einen 10-Mikrosekunden-Impuls an den TRIG-Pin und lesen die vom ECHO-Pin kommende Echozeit mit `pulseIn()`. Die berechnete Entfernung geben wir in cm im Serial Monitor aus. Da der HC-SR04 mit 5 V betrieben wird, ist ein **Spannungsteiler** am ECHO-Pin zwingen

ESP32-Gebets-Rakat-Zähler (HC-SR04 + SSD1306-OLED + 2 Tasten)
Vergessen Sie manchmal beim Beten, wie viele Rak’ahs Sie bereits absolviert haben? Bei diesem Projekt wird ein Rak’ah-Zähler gebaut, der neben dem Gebetsteppich platziert wird und die Sujud zählt, sobald Sie Ihre Hand nähern. Der Ultraschall-Abstandssensor HC-SR04 erkennt die Annäherung der Hand, das SSD1306-OLED-Display zeigt die Anzahl der Rak’ahs an, und mit zwei Tasten können Sie zwischen 2, 3 oder 4 Rak’ahs wählen und den Zähler zurücksetzen. Dank einer intelligenten Zustandsmaschine gibt e

ESP32-Parksensor (HC-SR04 + 5-LED-Leiste + Summer + OLED)
Die ESP32-Version des Parkhilfesensors für Autos! Mit dem Ultraschallsensor HC-SR04 messen wir den Abstand zum Objekt vor dem Fahrzeug. Je weiter sich das Objekt nähert, desto mehr leuchten die 5 LEDs der Leiste auf (grün → gelb → rot) und die Intervalle der Summer-Signaltöne werden kürzer. Wenn das Objekt sehr nahe kommt (unter 10 cm), ertönt ein Daueralarm und alle LEDs leuchten. Auf dem SSD1306-OLED-Display werden der aktuelle Wert in cm in großer Schrift, ein Statustext (NICHT / VORSICHT / N
Weitere Artikel
Lerne, wie der HC-SR04 Abstände per Schall misst, wie du ihn an den Arduino anschließt, wie die Formel lautet und wie Messwerte stabil werden.

