New with OLED Output.

Dependencies:   HC_SR04_Ultrasonic_Library OLEDDisplay mbed

Fork of UltraschallSensor by smd.iotkit.ch

Revision:
1:48e4876a3868
Parent:
0:b84310cad4b3
--- a/main.cpp	Fri Apr 17 18:34:17 2015 +0000
+++ b/main.cpp	Sat Oct 29 12:19:28 2016 +0000
@@ -1,24 +1,45 @@
-/** Ultraschall Abstandsmesser 
- */
 #include "mbed.h"
-#include "ultrasonic.h"
+#include "OLEDDisplay.h" 
+ 
+DigitalIn echo( A4 );
+DigitalOut trigger( A5 );
+Timer t;
+OLEDDisplay oled;
  
- void dist(int distance)
+float i;
+ 
+int main() 
 {
-    // Abhandlung der Entfernung
-    printf("Entfernung %dmm\n", distance);
-}
+    t.start();
+    printf(" ===[ Ultrasonic Range ]===");
+ 
+    // OLED Display
+    oled.clear();
  
-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)
+    while (1) 
     {
-        mu.checkDistance();             // Pooling vom Distanzmesser, sollte moeglichst oft erfolgen
-        // weitere Abhandlungen
+        oled.clear();
+        oled.printf( "Ultrasonic Range" );
+
+        // send pulse
+        trigger=1;
+        wait(0.000004);
+        trigger=0;
+ 
+        // wait for the echo line to go high
+        while (!echo);
+ 
+        // measure the length of the pulse
+        t.reset();
+        while (echo);
+        i = t.read_us();
+ 
+        // display result
+        printf("\n\n\rPulselength %6.0f uS",i);
+        oled.printf("\n\rPulselength %6.0f uS",i);
+        i=i/58;
+        printf("\n\n\rDistance %4.0f cm",i);
+        oled.printf("\rDistance %4.0f cm",i);
+        wait(2);
     }
-}         
\ No newline at end of file
+}
\ No newline at end of file