programma per infrarossi

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /*il modulo infrarossi ha tre uscite:
00002 attaccate le uscite opportune a VCC e GND mentre la terza uscita al pin analogico che corrisponde
00003 a quello della costante ANALOG_PIN ( in questo caso A5 )*/
00004 
00005 #include "mbed.h"
00006 #define ANALOG_PIN A5
00007 
00008 int read_distance();
00009 
00010 AnalogIn infrared(ANALOG_PIN);
00011 DigitalOut led(D11);
00012 
00013 Serial pc(USBTX, USBRX);
00014 
00015 int main() {
00016     
00017     pc.baud(9600);
00018     int distance;
00019     while(1){
00020         distance = read_distance();
00021         printf("distance: %d/n/r", distance);
00022         if( distance <= 30 )
00023             led = 1;
00024         else
00025             led = 0;
00026     }
00027     
00028 }
00029 
00030 int read_distance()
00031 {
00032     float volts = infrared.read() * 0.0048828125; /* il valore indica il risultato dell' operazione 5/1024, moltiplico il valore letto
00033                                                      per tale valore per porlo su una scala di massimo 5 volt */
00034     
00035     return volts * pow(volts, -1); //la distaza ritornata e' in centimetri   
00036 }