Entfernungsmessung mit Arduino und HC-SR04- oder US-015-Sensor

Die vorgestellten Sensoren ermöglichen eine Abstandsmessung mittels Ultraschall. Der Sensor sendet eine Welle, die nach Reflexion am Hindernis zu ihm zurückkehrt. Durch die Berechnung der Zeit zwischen Senden und Empfangen eines Impulses können wir die Entfernung zum Objekt bestimmen.

Wir benötigen folgende Artikel:

Anschließen des Sensors mit Arduino:

Um den Sensor mit Arduino zu betreiben, muss das System wie folgt angeschlossen werden:

Stift BH1750 Arduino-Stift
VCC 5 V
Masse Masse
TRIG 2
ECHO

3

Anschlussplan des Ultraschallsensors mit dem Arduino Uno.

Programm für Arduino

Im Beispiel wurde folgender Code verwendet:

 int Trig = 2; // Arduino Pin 2 mit dem Sensor-Trigger-Pin verbunden
Int-Echo = 3; // Arduino Pin 3 mit Sensor Echo Pin verbunden
int CM; // Abstand in cm
lange Zeit; // Länge des Rückimpulses in US
 
Void-Setup ()
{
  Serial.begin (9600); // seriellen Monitor initialisieren
  PinMode (Trigger, AUSGANG); // Pin 2 in Arduino als Ausgang setzen
  PinMode (Echo, EINGANG); // Pin 3 in Arduino als Eingang einstellen
   
  Serial.println ("Abstandssensortest");
}
  
leere Schleife ()
{
  Abstandsmaß (); // Entfernungsmessung
  Serial.print ("Entfernung:"); // die Ergebnisse alle 200 ms in einer Schleife auf dem Bildschirm anzeigen
  Serial.print (CM);
  Serial.println ("cm");
  Verzögerung (200);
}
  
void meas_odleglosci ()
{
  digitalWrite (Trigger, LOW); // Setzen des High-Zustands auf 2 uS - Initialisierungsimpuls - siehe Dokumentation
  VerzögerungMikrosekunden (2);
  digitalWrite (Trigger, HOCH); // Setzen des High-Zustands auf 10 uS - Initialisierungsimpuls - siehe Dokumentation
  VerzögerungMikrosekunden (10);
  digitalWrite (Trigger, LOW);
  digitalWrite (Echo, HOCH); 
  ZEIT = pulseIn (Echo, HIGH);
  CM = ZEIT / 58; // Die Breite des reflektierten Impulses in US dividiert durch 58 ergibt den Abstand in cm - siehe Dokumentation
}

Um die Entfernung zu einem Objekt zu berechnen, wird die Reaktionszeit durch 58 geteilt (laut Dokumentation). Warum so viel? Dieser Wert ergibt sich aus der Formel:

ZEIT / [1 / (0,34 / 2) / 10]

  • der Wert in eckigen Klammern ist 58:
    • 0,34 - Wellengeschwindigkeit in m / ms (340 m / s) geteilt durch 2 (weil die Welle in beide Richtungen gewandert ist).
    • Plus alles, was durch 10 teilbar ist, um Millimeter in Zentimeter umzurechnen

Das Ergebnis des Programms kann auf einem seriellen Monitor angezeigt werden:

Screenshot des seriellen Monitors.

Wir freuen uns auf die Zusammenarbeit mit Ihnen!