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)
Revision:
0:b84310cad4b3
diff -r 000000000000 -r b84310cad4b3 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Apr 17 18:34:17 2015 +0000
@@ -0,0 +1,24 @@
+/** Ultraschall Abstandsmesser 
+ */
+#include "mbed.h"
+#include "ultrasonic.h"
+ 
+ void dist(int distance)
+{
+    // Abhandlung der Entfernung
+    printf("Entfernung %dmm\n", distance);
+}
+ 
+ultrasonic mu(D5, D6, .1, 1, &dist);    // setzt den Trigger Pin auf D5, den Echo Pin auf D6
+                                        // liefert all 0.1 Sekunten einen neuen Wert mit einem
+                                        // Timeout von 1 Sekunden. Fuer die Ausgabe des Wertes
+                                        // wird die Funktion dist aufgerufen.
+int main()
+{
+    mu.startUpdates();                  // Start der Abstandsmessung
+    while(1)
+    {
+        mu.checkDistance();             // Pooling vom Distanzmesser, sollte moeglichst oft erfolgen
+        // weitere Abhandlungen
+    }
+}         
\ No newline at end of file