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

Dependents:   AnemometreWs1080_lecture

Committer:
Station_Meteo_Laos
Date:
Mon May 20 04:44:20 2019 +0000
Revision:
0:21a4e1337957
Child:
1:b3876c120339
Permet de lire l anemometre WS1080 de Velleman et de renvoyer la vitesse du vent en m/s.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Station_Meteo_Laos 0:21a4e1337957 1 #include "AnemoWS1080.h"
Station_Meteo_Laos 0:21a4e1337957 2 #include "mbed.h"
Station_Meteo_Laos 0:21a4e1337957 3
Station_Meteo_Laos 0:21a4e1337957 4
Station_Meteo_Laos 0:21a4e1337957 5 //Il faut faire un étalonage dés que l'on change d'environement
Station_Meteo_Laos 0:21a4e1337957 6 //Si un étalonage n'est pas possible, il peut-être aproximer à 1
Station_Meteo_Laos 0:21a4e1337957 7 AnemoWS1080::AnemoWS1080(PinName digital_pin, float coeff_etalon):anemo(digital_pin)
Station_Meteo_Laos 0:21a4e1337957 8 {
Station_Meteo_Laos 0:21a4e1337957 9 coef_etalon = coeff_etalon;
Station_Meteo_Laos 0:21a4e1337957 10 }
Station_Meteo_Laos 0:21a4e1337957 11
Station_Meteo_Laos 0:21a4e1337957 12 // AnemoWS1080/WS
Station_Meteo_Laos 0:21a4e1337957 13 bool AnemoWS1080::read(){
Station_Meteo_Laos 0:21a4e1337957 14
Station_Meteo_Laos 0:21a4e1337957 15 unsigned int compteur=0;
Station_Meteo_Laos 0:21a4e1337957 16 float tours_seconde=0;
Station_Meteo_Laos 0:21a4e1337957 17 t.start();
Station_Meteo_Laos 0:21a4e1337957 18
Station_Meteo_Laos 0:21a4e1337957 19 while(t.read()<float(TEMPS_DE_MESURE)){
Station_Meteo_Laos 0:21a4e1337957 20 if(anemo){
Station_Meteo_Laos 0:21a4e1337957 21 compteur++;
Station_Meteo_Laos 0:21a4e1337957 22 while(anemo && t.read()<float(TEMPS_DE_MESURE));
Station_Meteo_Laos 0:21a4e1337957 23 }
Station_Meteo_Laos 0:21a4e1337957 24 }
Station_Meteo_Laos 0:21a4e1337957 25
Station_Meteo_Laos 0:21a4e1337957 26 tours_seconde = (float(compteur)/3.0f)/TEMPS_DE_MESURE;
Station_Meteo_Laos 0:21a4e1337957 27 vitesse = tours_seconde*2.0f*PI*coef_etalon*R_HELICE;
Station_Meteo_Laos 0:21a4e1337957 28
Station_Meteo_Laos 0:21a4e1337957 29 t.reset();
Station_Meteo_Laos 0:21a4e1337957 30 return true;
Station_Meteo_Laos 0:21a4e1337957 31 }