Chrono pour mesurer vitesse pour 1 tour (capteur analogique)

Dependencies:   mbed

main.cpp

Committer:
alainpegatoquet
Date:
2017-11-28
Revision:
0:cf0fbe1e01d4
Child:
1:d5f22105a691

File content as of revision 0:cf0fbe1e01d4:

#include "mbed.h"

// Global variables
Serial pc(USBTX, USBRX);
AnalogIn Ain(A3);
Timer timer1;

float IrSensor;
// Prototype
float distance(float);

// main function
int main(void)
{
    pc.printf("Debut du programme...\n");
    
    while(1) {
        IrSensor=Ain.read();        // IrSensor belongs to [0.0; 1.0]
        pc.printf("%f \n\r",IrSensor*3.3);  // Output voltage from 0 to 3.3V
        
        pc.printf("Distance en cm : %.1f \n\r",distance(IrSensor*3.3));        
        wait (0.5);
    }
}

// Calcul de la distance 
// Entre 20 et 80cm, on peut approximer la distance avec r=24/(V-0,1)
// r = distance en cm
// V = tension lue
float distance(float tension)
{
    return(24.0/(tension - 0.1));
}