programma per infrarossi

Dependencies:   mbed

Committer:
Wonderjack996
Date:
Mon Mar 06 15:16:27 2017 +0000
Revision:
0:5c7deaf68cb5
Child:
1:58319a43058b
programma per usare infrarossi
;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Wonderjack996 0:5c7deaf68cb5 1 #include "mbed.h"
Wonderjack996 0:5c7deaf68cb5 2 #define ANALOG_PIN A5
Wonderjack996 0:5c7deaf68cb5 3
Wonderjack996 0:5c7deaf68cb5 4 int read_distance();
Wonderjack996 0:5c7deaf68cb5 5
Wonderjack996 0:5c7deaf68cb5 6 AnalogIn infrared(ANALOG_PIN);
Wonderjack996 0:5c7deaf68cb5 7 DigitalOut led(D11);
Wonderjack996 0:5c7deaf68cb5 8
Wonderjack996 0:5c7deaf68cb5 9 Serial pc(USBTX, USBRX);
Wonderjack996 0:5c7deaf68cb5 10
Wonderjack996 0:5c7deaf68cb5 11 int main() {
Wonderjack996 0:5c7deaf68cb5 12
Wonderjack996 0:5c7deaf68cb5 13 pc.baud(9600);
Wonderjack996 0:5c7deaf68cb5 14 int distance;
Wonderjack996 0:5c7deaf68cb5 15 while(1){
Wonderjack996 0:5c7deaf68cb5 16 distance = read_distance();
Wonderjack996 0:5c7deaf68cb5 17 printf("distance: %d/n/r", distance);
Wonderjack996 0:5c7deaf68cb5 18 if( distance <= 30 )
Wonderjack996 0:5c7deaf68cb5 19 led = 1;
Wonderjack996 0:5c7deaf68cb5 20 else
Wonderjack996 0:5c7deaf68cb5 21 led = 0;
Wonderjack996 0:5c7deaf68cb5 22 }
Wonderjack996 0:5c7deaf68cb5 23
Wonderjack996 0:5c7deaf68cb5 24 }
Wonderjack996 0:5c7deaf68cb5 25
Wonderjack996 0:5c7deaf68cb5 26 int read_distance()
Wonderjack996 0:5c7deaf68cb5 27 {
Wonderjack996 0:5c7deaf68cb5 28 float volts = infrared.read() * 0.0048828125; /* il valore indica il risultato dell' operazione 5/1024, moltiplico il valore letto
Wonderjack996 0:5c7deaf68cb5 29 per tale valore per porlo su una scala di massimo 5 volt */
Wonderjack996 0:5c7deaf68cb5 30
Wonderjack996 0:5c7deaf68cb5 31 return volts * pow(volts, -1); //la distaza ritornata e' in centimetri
Wonderjack996 0:5c7deaf68cb5 32 }