1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| #define pinILS 12
#define pi 3.14159265359
#define RayonDesBras 0.1 // en mètre de l'anénomètre
void setup()
{
pinMode(pinILS, INPUT);
Serial.begin(9600);
}
unsigned long millis_old(0);
float deltaTime(0);
float vitesseVent(0);
float NombreTourSec(0);
float FEtalonage(1);
bool isActive(false);
void loop()
{
UpdateILS();
//convertion periode -> fréquence
NombreTourSec = (1 / deltaTime);
//vitesse du vent
vitesseVent = 2*pi*RayonDesBras*NombreTourSec*FEtalonage;
//affichage de la vitesse
Serial.print("la vitesse du vent est de ");
Serial.println(vitesseVent);
Serial.print(" m/s.");
}
void UpdateILS()
{
//lecture du capteur
isActive = digitalRead(pinILS);
if(isActive)
{
deltaTime = (millis() - millis_old) / 1000 ; // div en 1000 pour avoir le résultat en sec
millis_old = millis(); // remise à 0 du compteur pour capturé la différence de temps au prochain tour
}
} |
Partager