programma per infrarossi

Dependencies:   mbed

Revision:
0:5c7deaf68cb5
Child:
1:58319a43058b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Mar 06 15:16:27 2017 +0000
@@ -0,0 +1,32 @@
+#include "mbed.h"
+#define ANALOG_PIN A5
+
+int read_distance();
+
+AnalogIn infrared(ANALOG_PIN);
+DigitalOut led(D11);
+
+Serial pc(USBTX, USBRX);
+
+int main() {
+    
+    pc.baud(9600);
+    int distance;
+    while(1){
+        distance = read_distance();
+        printf("distance: %d/n/r", distance);
+        if( distance <= 30 )
+            led = 1;
+        else
+            led = 0;
+    }
+    
+}
+
+int read_distance()
+{
+    float volts = infrared.read() * 0.0048828125; /* il valore indica il risultato dell' operazione 5/1024, moltiplico il valore letto
+                                                     per tale valore per porlo su una scala di massimo 5 volt */
+    
+    return volts * pow(volts, -1); //la distaza ritornata e' in centimetri   
+}
\ No newline at end of file