Arduino-Code und Video für den HC-SR04 Ultraschall-Abstandssensor

Arduino-Code und Video für den HC-SR04 Ultraschall-Abstandssensor

In diesem Tutorial zeigen wir, wie man den HC-SR04 Ultraschall-Entfernungssensor mit einem Arduino verwendet. Der HC-SR04 ist eine kostengünstige und effektive Methode, Entfernungen mit Ultraschallwellen zu messen. Indem wir ein Signal senden und die Zeit messen, die das Echo benötigt, um zurückzukehren, können wir die Entfernung zu einem Objekt genau berechnen.

How HC-SR04 ulrasonic sensor work

Bei diesem Projekt geht es darum, den Sensor mit einem Arduino einzurichten und ein einfaches Programm zu schreiben, um die Abstandsmessungen auszulesen und anzuzeigen. Das Programm verwendet die NewPing-Bibliothek, um die Kommunikation mit dem Sensor zu vereinfachen. Wenn Sie eine visuelle Referenz oder weitere Erläuterungen zu einzelnen Schritten wünschen, sehen Sie sich unbedingt das Video (im Video bei 00:00) an.

Hardware erklärt

Der HC-SR04 Ultraschallsensor besteht aus zwei Hauptkomponenten: einem Sender und einem Empfänger. Der Sender sendet Ultraschallimpulse mit einer Frequenz oberhalb des menschlichen Hörbereichs, während der Empfänger auf das Echo dieser Impulse hört, nachdem sie von einem Objekt reflektiert wurden. Durch die Berechnung der Zeit zwischen dem Aussenden des Impulses und dem Empfangen des Echos können wir die Entfernung zum Objekt bestimmen.

Der Sensor hat zwei wesentliche Pins: den Trigger-Pin und den Echo-Pin. Der Trigger-Pin wird verwendet, um die Messung zu starten, indem er ein kurzes High-Signal sendet, während der Echo-Pin das reflektierte Signal empfängt und die Zeit misst, die das Echo für die Rückkehr benötigt.

Details zum Datenblatt

HerstellerHC-SR04
TeilenummerHC-SR04
Logik-/I/O-Spannung5 V
Versorgungsspannung5 V
Ausgangsstrom (pro Kanal)15 mA
Spitzenstrom (pro Kanal)20 mA
Hinweise zur PWM-FrequenzNicht zutreffend
Logik-Eingangsschwellen0.3 V (niedrig), 0.7 V (hoch)
Spannungsabfall / RDS(on)/ SättigungNicht zutreffend
Thermische Grenzwerte0 °C bis 70 °C
PaketModul
Hinweise / VariantenMaximale Reichweite 400 cm

  • Stellen Sie eine ordnungsgemäße Stromversorgung (5 V) sicher.
  • Halten Sie den Sensor sauber, um genaue Messwerte zu erhalten.
  • Verwenden Sie den Trigger-Pin, um Messungen zu starten.
  • Überschreiten Sie nicht die maximale Entfernung für zuverlässige Ergebnisse.
  • Halten Sie einen freien Weg, damit die Ultraschallwellen zurückreflektiert werden können.
  • Verwenden Sie Entkopplungskondensatoren in der Nähe der Versorgungspins.
  • Achten Sie auf Umgebungsgeräusche, die Messwerte beeinträchtigen könnten.
  • Teste verschiedene Abstände, um dich mit dem Sensor vertraut zu machen.

Verdrahtungsanleitung

Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor

Um den HC-SR04-Ultraschallsensor an Ihr Arduino anzuschließen, gehen Sie wie folgt vor:

  • Verbinden Sie dieVCCPin des HC-SR04 an den 5V-Pin des Arduino
  • Verbinden Sie dasGNDPin des HC-SR04 an einen GND-Pin am Arduino.
  • Verbinden Sie dasTRIGVerbinde den Pin des HC-SR04 (der normalerweise blau ist) mit dem digitalen Pin 12 am Arduino.
  • Verbinden Sie dieECHOVerbinde den Pin des HC-SR04 (der normalerweise grün ist) mit dem digitalen Pin 11 am Arduino.

Stellen Sie sicher, dass die Verbindungen fest sitzen, um instabile Messwerte zu vermeiden. Wenn Sie eine andere Konfiguration verwenden oder eine alternative Verkabelung haben, sehen Sie sich das Video für zusätzliche Hinweise an (im Video bei 00:00).

Code-Beispiele & Schritt-für-Schritt-Anleitung

Der folgende Code initialisiert die NewPing-Bibliothek und richtet die Pins für den HC-SR04-Sensor ein. Zu den Hauptbestandteilen gehört die Definition der Trigger- und Echo-Pins sowie der maximalen Distanz.

#define TRIGGER_PIN  12  // Trigger pin
#define ECHO_PIN     11  // Echo pin
#define MAX_DISTANCE 200  // Max distance in cm

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Set up NewPing

In diesem Auszug, derTRIGGER_PINundECHO_PINsind auf die digitalen Pins 12 bzw. 11 eingestellt. DieMAX_DISTANCEwird als 200 cm definiert, was die maximale Entfernung ist, die Sie messen möchten.

Als Nächstes haben wir die setup-Funktion, in der der serielle Monitor initialisiert wird, um die Ergebnisse anzuzeigen:

void setup() {
  Serial.begin(115200); // Initialize serial monitor
}

Dieser Code öffnet die serielle Kommunikation mit einer Baudrate von 115200, sodass wir die Abstandsmessungen im seriellen Monitor sehen können.

Schließlich misst die loop()-Funktion die Entfernung und prüft, ob sie kleiner oder gleich 12 cm ist:

void loop() {
  delay(50); // Wait between pings
  int distance = sonar.ping_cm(); // Measure distance
  if(distance <=12){ // Check distance
    Serial.println("Very close"); // Print if very close
  }
}

In demloop(), wir fügen eine Verzögerung von 50 Millisekunden ein, um die Messfrequenz zu steuern. Die Entfernung wird gemessen, und wenn sie kleiner oder gleich 12 cm ist, wird "Sehr nah" auf dem seriellen Monitor ausgegeben.

Den vollständigen Code finden Sie im Abschnitt „Laden“ unter dem Artikel.

Demonstration / Was Sie erwartet

Wenn Sie das Programm ausführen, misst der Arduino kontinuierlich den Abstand zum nächstgelegenen Objekt. Er sollte den Abstand in Zentimetern ausgeben und Sie mit "Sehr nah" benachrichtigen, wenn ein Objekt innerhalb von 12 cm erkannt wird. Ist das Objekt zu nahe, können die Messwerte ungenau sein oder ganz ausbleiben, wie im Video erwähnt (im Video bei 10:00).

Stellen Sie sicher, dass der Sensor richtig positioniert ist und dass keine Hindernisse die Ultraschallwellen blockieren. Wenn alles korrekt eingerichtet ist, sollten im seriellen Monitor stabile Messwerte angezeigt werden.

Video-Zeitstempel

  • 00:00- Einführung in den HC-SR04
  • 01:30Sensor anschließen
  • 03:00- Überblick über den Code
  • 05:00- Programm ausführen
  • 07:30- Entfernungen messen

Bilder

Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
HC-SR04 ulrasonic sensor
HC-SR04 ulrasonic sensor
How HC-SR04 ulrasonic sensor work
How HC-SR04 ulrasonic sensor work
42-This is the Arduino code for the HC-SR04 ultrasonic distance sensor.
Sprache: C++
Kopiert!

Ressourcen & Referenzen

Dateien📁

Keine Dateien verfügbar.