programma per infrarossi
Dependencies: mbed
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 }
Generated on Sat Jul 23 2022 03:20:48 by 1.7.2