Bonjour j'ai besoin d'aide : Je dois câbler un anémomètre (Anémomètre: 1 impulsion = 2,4 km/h)
sur mon arduino grâce à un câble RJ11.
J'ai trouver un programme et j'aimerais savoir si il serait fonctionnel avec mon anémomètre :
int compteurfm = 0; // compteur de fronts montants
int nbrtour = 0; // variable du nombre de tour
unsigned long compte_temps; // variable contenant le temps
int increm_temps = 1; // variable compteur de temps
void setup()
{
pinMode (2, INPUT);
attachInterrupt (0, anemometre, RISING); // capteur de front montant
Serial.begin(9600); // configuration de la transmission
}
void loop()
{
delay(1000);
Serial.print(2 * 3.1415 * 0.0455 * 5 * nbrtour); // calcul de la vitesse du vent et envoie sur serial
Serial.println (" m/s");
nbrtour = 0;
delay(5000);
}
void anemometre()
{
compteurfm++;
if (compteurfm > 1)
{
compteurfm = 0;
}
if (compteurfm == 1) // car 1 fronts montants = 1 tour
{
nbrtour++;
}
}
corrigez votre post ci dessus et rajoutez les code tags autour du code: [code]`` [color=blue]// votre code ici[/color] ``[/code].
ça doit ressembler à cela:// votre code ici
(faites aussi ctrl-T (PC) or cmd-T (Mac) dans l'IDE avant de copier le code pour qu'il soit indenté correctement)
vous en pensez quoi? vous comprenez le code? vous l'avez essayé?
Je n'est pas d'anémomètre chez moi je l'est tester avec un simple bouton poussoir simulation l'interrupteur ILS et plus j'appuie vite plus la vitesse augmente et vice versa.
Cependant je pense que la présition n'est pas au rendez-vous.
Je ne comprend pas très bien cette partie :
void anemometre()
{
compteurfm++;
if (compteurfm > 1)
{
compteurfm = 0;
}
if (compteurfm == 1) // car 1 fronts montants = 1 tour
{
nbrtour++;
}
}
[code/]
hello
oui le peg fera l'affaire après modification de la routine d'interruption
et après que tu auras modifié la formule de calcul du vent qui semble être faite pour un anémomètre ayant un réducteur mécanique par 5
int nbrtour = 0; // variable du nombre de tour
void setup()
{
pinMode (2, INPUT);
attachInterrupt (0, anemometre, RISING); // capteur de front montant
Serial.begin(9600); // configuration de la transmission
}
void loop()
{
delay(1000);
Serial.print(2 * 3.1415 * 0.0455 * 5 * nbrtour); // calcul de la vitesse du vent et envoie sur serial
Serial.println (" m/s");
nbrtour = 0;
delay(5000);
}
void anemometre()
{
nbrtour++;
}
le peg ?
Le programme permet t'il de gérer un anémomètre 1 ILS ?
L'anémomètre délivre une impulsion par tour (une vitesse de 2,4 km/h donne une impulsion par seconde).
int nbrtour = 0; // variable du nombre de tour
void setup()
{
pinMode (2, INPUT);
attachInterrupt (0, anemometre, RISING); // capteur de front montant
Serial.begin(9600); // configuration de la transmission
}
void loop()
{
delay(1000);
Serial.print(2 * 3.1415 * 0.0455 * 5 * nbrtour); // calcul de la vitesse du vent et envoie sur serial
Serial.println (" m/s");
nbrtour = 0;
delay(5000);
}
void anemometre()
{
nbrtour++;
}
La formule du vent est la suivante : V = 2PI*Fonction Etalonnage * rayon des bras * nombre de tours/sec
int nbrtour = 0; // variable du nombre de tour
void setup()
{
pinMode (2, INPUT);
attachInterrupt (0, anemometre, RISING); // capteur de front montant
Serial.begin(9600); // configuration de la transmission
}
void loop()
{
delay(1000);
Serial.print(2 * 3.1415 * FEtalonage * 0.07 * nbrtour); // calcul de la vitesse du vent et envoie sur serial
Serial.println (" m/s");
nbrtour = 0;
delay(5000);
}
void anemometre()
{
nbrtour++;
}