Ultraschall Abstandsmesser

Dependencies:   HC_SR04_Ultrasonic_Library mbed

Timming

Unter Entfernungsmessung, Abstandsmessung oder Längenmessung versteht man die Messung des Abstandes zweier Punkte im Raum durch direkten oder indirekten Vergleich mit einer Längenmasseinheit wie beispielsweise dem Meter.

Ein Ultraschall Abstandsmesser misst die Entfernung zu einem Objekt (z.B. Wand) in cm.

Der Erkennungszyklus wird mittels eines Impulses von min. 10 Mikrosekunden auf der "pulse trigger" Leitung (Trig) gestartet. Sobald diese Leitung wieder tief wird, sendet der Sensor eine Serie von acht Schaltimpulsen, wartet einen kurzen Moment und setzt dann die Leitung Echo hoch. Das erste Ultraschallecho welches Empfangen wird, setzt die Echo Leitung wieder tief. Durch die Zeitspanne dazwischen, lässt sich den Abstand zu einem Objekt bestimmen.

Die Ganze Arbeit nimmt uns die SR04 Library ab.

Anwendungen

  • Erkennen von Hindernissen bei Robotern

Anschlussbelegung (Sensor - Shield)

  • VCC - V (5 Volt)
  • Trig - D5
  • Echo - D6
  • GND - G (Ground)
Committer:
stefan1691
Date:
Fri Apr 17 18:34:17 2015 +0000
Revision:
0:b84310cad4b3
Ultraschall Abstandsmesser

Who changed what in which revision?

UserRevisionLine numberNew contents of line
stefan1691 0:b84310cad4b3 1 /** Ultraschall Abstandsmesser
stefan1691 0:b84310cad4b3 2 */
stefan1691 0:b84310cad4b3 3 #include "mbed.h"
stefan1691 0:b84310cad4b3 4 #include "ultrasonic.h"
stefan1691 0:b84310cad4b3 5
stefan1691 0:b84310cad4b3 6 void dist(int distance)
stefan1691 0:b84310cad4b3 7 {
stefan1691 0:b84310cad4b3 8 // Abhandlung der Entfernung
stefan1691 0:b84310cad4b3 9 printf("Entfernung %dmm\n", distance);
stefan1691 0:b84310cad4b3 10 }
stefan1691 0:b84310cad4b3 11
stefan1691 0:b84310cad4b3 12 ultrasonic mu(D5, D6, .1, 1, &dist); // setzt den Trigger Pin auf D5, den Echo Pin auf D6
stefan1691 0:b84310cad4b3 13 // liefert all 0.1 Sekunten einen neuen Wert mit einem
stefan1691 0:b84310cad4b3 14 // Timeout von 1 Sekunden. Fuer die Ausgabe des Wertes
stefan1691 0:b84310cad4b3 15 // wird die Funktion dist aufgerufen.
stefan1691 0:b84310cad4b3 16 int main()
stefan1691 0:b84310cad4b3 17 {
stefan1691 0:b84310cad4b3 18 mu.startUpdates(); // Start der Abstandsmessung
stefan1691 0:b84310cad4b3 19 while(1)
stefan1691 0:b84310cad4b3 20 {
stefan1691 0:b84310cad4b3 21 mu.checkDistance(); // Pooling vom Distanzmesser, sollte moeglichst oft erfolgen
stefan1691 0:b84310cad4b3 22 // weitere Abhandlungen
stefan1691 0:b84310cad4b3 23 }
stefan1691 0:b84310cad4b3 24 }