thread ultrasuoni

Dependencies:   HCSR04 mbed-rtos mbed

Revision:
0:6010d94e58c0
diff -r 000000000000 -r 6010d94e58c0 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Mar 06 16:15:39 2017 +0000
@@ -0,0 +1,51 @@
+/****************************************************
+*            FAST PROTOTYPING WITH NUCLEO           *
+* Example Code 13: Ultrasound HCSR04                *
+* Author: Mauro D'Angelo                            *
+* Organization: Perlatecnica no-profit organization *  
+*****************************************************/
+
+#include "mbed.h"
+#include "hcsr04.h"
+#include "rtos.h"
+
+// Instanzio un oggetto di tipo HCSR04 ed assegno i pin di trigger e di echo 
+HCSR04 sensor(PB_8, PB_9);
+HCSR04 sensor1(PA_5, PA_6);
+
+DigitalOut led(D11);
+
+// Serial
+Serial pc(USBTX, USBRX);
+
+int distanza;
+
+void thread(void const *args) {
+    // Main loop
+    while(1) {
+        // Avvia un impulso della durata di 10us sul pin di trigger
+        sensor.start();
+        
+        // Aspetta prima della prossima lettura
+        wait_ms(100); 
+        
+        // Stampa sulla seriale la misura della distanza in cm
+        distanza = sensor.get_dist_cm();
+        pc.printf("%dcm\r\n", distanza);
+    }
+}
+ 
+int main() {
+    // Fisso il baudrate
+    pc.baud(9600);
+    
+    Thread th(thread); // Threads start here
+     
+    while(1){
+        if(distanza < 20)
+            led = 1;
+        else
+            led = 0;
+    }
+}
+