programma per infrarossi
Dependencies: mbed
Diff: main.cpp
- 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