Permet de lire l'anemometre Velleman WS1080 et de stocker la vitesse du vent en m/s dans une variable publique.

Dependents:   AnemometreWs1080_lecture

AnemoWS1080.cpp

Committer:
Station_Meteo_Laos
Date:
2019-05-20
Revision:
1:b3876c120339
Parent:
0:21a4e1337957
Child:
2:ecf6419ab06c

File content as of revision 1:b3876c120339:

#include "AnemoWS1080.h"
#include "mbed.h"


//Il faut faire un étalonage dés que l'on change d'environement
//Si un étalonage n'est pas possible, il peut-être aproximer à 1
AnemoWS1080::AnemoWS1080(PinName digital_pin, float coeff_etalon):anemo(digital_pin)
{
    coef_etalon = coeff_etalon;
}

// AnemoWS1080/WS de velleman
bool AnemoWS1080::read(){
    
    unsigned int compteur=0;
    float tours_seconde=0;
    t.start();
        
    while(t.read()<float(TEMPS_DE_MESURE)){
        if(anemo){
            compteur++;
            while(anemo && t.read()<float(TEMPS_DE_MESURE));
        }
    }
    
    tours_seconde = (float(compteur)/3.0f)/TEMPS_DE_MESURE;
    vitesse = tours_seconde*2.0f*PI*coef_etalon*R_HELICE;

    t.reset();
    return true;
}