Aide Anémomètre Arduino

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++;
}

erreur de frappe
prg =>programme
edit, oui 1 ils. j'ai modifié la routine d'interruption

mais la formule est à modifier
je suppose qu'il faut (3.14*(2*rayon)*nbrtour)

dans ton prg, la formule est *5 et je suppose que ce *5 est en relation avec la mécanique de l’anémomètre qu'utilisait le créateur du prg

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++;
}