Last active
February 22, 2022 15:29
-
-
Save ypelletier/84fef06e06d631251c902b879761a24a to your computer and use it in GitHub Desktop.
Anémomètre (interrupteur reed)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/************************************************** | |
* Anémomètre | |
* | |
* Un interrupteur Reed est branché à la pin 8 | |
* Un aimant passe au-dessus de l'interrupteur reed | |
* à chaque tour de l'anémomètre | |
* | |
* http://electroniqueamateur.blogspot.com/2016/06/fabrication-dun-anemometre-arduino.html | |
***************************************************/ | |
unsigned long tempsDebut; // passage précédent de l'aimant | |
int etatPrecedent; // lors de du dernier passage dans le loop, | |
// l'aimant était là, ou pas? | |
void setup() { | |
pinMode(8, INPUT); // interrupteur Reed à la pin 8 | |
pinMode(13,OUTPUT); // LED indicatrice à la pin 13 | |
Serial.begin(9600); // moniteur série | |
etatPrecedent = digitalRead(8); // on vérifie si l'aimant est là ou pas | |
} | |
void loop() { | |
int etat, delai; | |
unsigned long tempsFin; | |
etat = digitalRead(8); // on vérifie si l'aimant est là ou pas | |
digitalWrite(13,etat); | |
if ((etat) && (!etatPrecedent)){ // l'aimant vient d'arriver | |
if (tempsDebut > 0){ // nous connaissons le moment du début de ce tour | |
tempsFin = millis(); // quelle heure est-il? | |
delai = tempsFin - tempsDebut; // durée du tour qui vient de se terminer | |
Serial.print("Periode :" ); | |
Serial.print(delai); | |
Serial.print(" millisecondes, Vitesse :"); | |
Serial.print(3.6*2*3.1416*0.15*1000/delai); | |
// (cette vitesse ne tient pas compte de la fonction d'étalonnage) | |
Serial.println(" km/h"); | |
} | |
tempsDebut = tempsFin; // mise à jour de la variable | |
} | |
etatPrecedent = etat; // mise à jour de la variable | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment