Permet de lire l'anemometre Velleman WS1080 et de stocker la vitesse du vent en m/s dans une variable publique.
Dependents: AnemometreWs1080_lecture
Diff: AnemoWS1080.cpp
- Revision:
- 0:21a4e1337957
- Child:
- 1:b3876c120339
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/AnemoWS1080.cpp Mon May 20 04:44:20 2019 +0000 @@ -0,0 +1,31 @@ +#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 +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; +}