HC-SR04 Ultraschallsensor

Der HC-SR04 ist ein Ultraschall-Distanzsensor, der zur Messung der Entfernung zu einem Objekt verwendet werden kann. Er sendet einen Hochfrequenzschall (Ultraschallimpuls) aus und misst die Zeit, die der Schall braucht, um von einem Objekt zurück zu prallen (das Echo). Anhand der Zeit, die das Echo benötigt, um zurückzukehren, kann dann die Entfernung zum Objekt berechnet werden.

Ein Microcontroller (Arduino oder andere) kann zur Steuerung des HC-SR04-Ultraschall-Abstandssensors verwendet werden. Der Sensor sendet einen Ultraschallimpuls aus sobald der aus und misst die Zeit, die das Echo braucht, um zurückzukehren. Das Arduino-Board kann dann diese Daten verarbeiten und sie zur Steuerung anderer Geräte oder zur Weiterverarbeitung an einen Computer senden.

const int trigPin = 8;  // define trig pin
const int echoPin = 9;  // define echo pin

void setup() {
  pinMode(trigPin, OUTPUT);  // setze Trig Pin als Output
  pinMode(echoPin, INPUT);   // setze Echo Pin as Input
  Serial.begin(9600);        // setze die Baudrate der seriellen Schnittstelle 
}

void loop() {
  long duration, distance;

  // sende einen 10us Puls an den trigPin
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // messe die Laenge des Echo Signals
  duration = pulseIn(echoPin, HIGH);

  // Berechne die Distanz (hierzu muss die Laufzeit durch 2 geteilt werden da der Schall hin zund zurück lauft)
  distance = (duration/2) / 29.1;

  // sende den gemessenen Abstand üeber die serielle Schnittstelle
  Serial.print("Entfernung: ");
  Serial.print(distance);
  Serial.println(" cm");

  delay(500);
}

Dieser Code richtet den trigPin und den echoPin als Ausgangs- bzw. Eingangspin ein, sendet dann in der Schleifenfunktion einen 10us Impuls an den trigPin und verwendet die Funktion pulseIn(), um die Dauer des Echosignals zu messen. Die Dauer wird dann durch 2 geteilt und anschließend durch 29,1 dividiert, um die Dauer in die Entfernung in Zentimetern umzurechnen. Schließlich wird die Entfernung auf dem seriellen Monitor ausgegeben.

Bitte beachten Sie, dass die berechnete Entfernung aufgrund verschiedener Faktoren, wie der Reflexion von Schallwellen und der Größe des Objekts, ungenau sein kann. Auch die in der Schleifenfunktion verwendete Verzögerungszeit dient nur zur Veranschaulichung und kann je nach Bedarf angepasst werden.


Erstellt: 26.02.2024 · Zuletzt geändert: 06.04.2026