Entfernung messen mit Ultraschall

 

Ultraschallsensor HC-SR04 mit 4 Anschluss-Pins 

Der Ultraschallsensor "HC-SR04" verwendet Ultraschallwellen, um den Abstände zu Objekten zu bestimmen. Das Modul "HC-SR04" kann berührungslose Messungen in einem Bereich von 20 bis 4000 Millimeter mit einer Genauigkeit von 3 Millimetern durchführen.
Jedes "HC-SR04"-Modul verfügt über einen Ultraschall-Sender, -Empfänger und eine elektronische Schaltung.

Der Sensor besteht aus einem Ultraschallsender und einem Empfänger. Der Sensor sendet Ultraschallwellen auf einer bestimmten Frequenz aus. Die Ultraschallwelle durchdringt den Raum, trifft auf ein Hindernis, wird von dem Hindernis zurückgeworfen und dann von einem Empfänger erfasst. Die Geschwindigkeit der Ultraschallwellen in der Luft beträgt etwa 343 m/s, so dass man nur das Zeitintervall vom Senden bis zum Empfang messen muss. Zur Berechnung der Entfernung wird die Geschwindigkeit der Ultraschallwelle in der Luft mit der Hälfte des Zeitintervalls multipliziert. Das Zeitintervall muss durch zwei geteilt werden, weil die Ultraschallwelle zum Hindernis und zurück wandert.


Technische Daten:

» Stromversorgung und Logik-Spannungsbereich: 5V

» Betriebsgleichstrom: 15mA

» Winkel der Messung: 15°

» Abstandsbereich:               20mm - 4000mm     

» Praktischer Messabstand : 20mm - 800mm


Wenn wir das Modul mit dem Mikrocontroller verbinden, benötigen wir zwei Pins für die Messung: Den Trigger-Pin als Eingangspin und den Echo-Pin als Ausgangspin. Der Trigger-Pin muss für 10us auf den Zustand HIGH und dann auf den Zustand LOW gesetzt werden. Dadurch wird die Ultraschallwelle übertragen, und der Empfänger wartet darauf, dass die Welle zurückgeworfen wird. Wenn die Welle zurückkehrt, geht der Echo-Pin auf HIGH.

Code

int trigger = 7; //grün

int echo = 6;    //blau


void setup() { 

Serial.begin(9600); 

pinMode(trigger, OUTPUT); 

pinMode(echo, INPUT);

}


void loop() {

digitalWrite(trigger, LOW); delay (5);

digitalWrite(trigger, HIGH); delay (5);

digitalWrite(trigger, LOW);

int dauer = pulseIn(echo, HIGH); // Zeit bis Signal zurückkehrt in s

int entfernung = 0.0343*(dauer/2); // Zeit in Entfernung umrechnen; s = v*t

Serial.print(entfernung); Serial.println(" cm"); delay(1000);

}

Baue die Schaltung auf :

Bildschirm-Video auf TINKERCAD

Beispiel für den Anschluss des Ultraschallsensors HC-SR04 mit 4 Anschluss-Pins an den Arduino:

Entfernung messen mit Ultraschall       Aufgabe 1

Gehe zur Schaltung auf TINKERCAD

  • öffne den seriellen Monitor (wie im Video unten)
  • klicke auf den Sensor und verändere den Messer-Abstand mit der Maus
  • Verbinde den ARDUINO mit dem Computer und gib den Sketch von oben rechts ein


  • Lade ihn hoch
  • Öffne den seriellen Monitor
  • Miss mit einem Lineal nach, ob die gemessenen Entfernungen korrekt sind

Baue die Schaltung auf :

Entfernung messen mit Ultraschall       Aufgabe 2

Rückfahr-Warner mit LED und Summer

  • Verbinde den ARDUINO mit dem Computer und gib den neuen Sketch ein!



  • Lade ihn hoch. 

Rückfahr-Warner mit LED

Warner mit LED und Summer

Entfernung messen mit Ultraschall       Aufgabe 3

Entfernungsmessung mit Display 

Bildschirm-Video

Dies ist die Vorlage für Deinen
Schaltplan.

Baue die Schaltung auf mit ARDUINO und Breadboard.

Gehe auf die Schaltung bei TINKERCAD!


#include <LiquidCrystal.h> // includes the LiquidCrystal Library

LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7)

const int trigPin = 9;

const int echoPin = 10;

long duration;

int distanceCm, distanceInch;


void setup() {

lcd.begin(16,2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

}


void loop() {

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

distanceCm= duration*0.034/2;

distanceInch = duration*0.0133/2;

lcd.setCursor(0,0); // Sets the location at which subsequent text written to the LCD will be displayed

lcd.print("Distance: "); // Prints string "Distance" on the LCD

lcd.print(distanceCm); // Prints the distance value from the sensor

lcd.print(" cm");

delay(10);

lcd.setCursor(0,1);

lcd.print("Distance: ");

lcd.print(distanceInch);

lcd.print(" inch");

delay(10);

}

Gehe zu TINKERCAD und vervollständige den Schaltplan mit den vorgegebenen Komponenten. Richte Dich mit den Anschlüssen nach der Vorlage oben links.

Wenn alles richtig funktioniert wie im Video links

- verändere den Code so, dass die Anzeige in Deutsch mit cm erscheint

Hier findest Du die Lösung!

Baue die Schaltung auf mit ARDUINO und Breadboard.

Kopiere den CODE 

Diese Website verwendet Cookies. Bitte lesen Sie unsere Datenschutzerklärung für Details.

OK