Aide SVP

Salut tout le monde , mon conde constitue a mesuere le nombre de tours d un moteur .
en faite j aimerai compter le nombre de tours a chaque pique ( changement d etat) et puis apres 18 pics il faudra fair la moyenne du nombre de tours apres 18 pics en tout

Merci d avoir lu mon MSG :smiley:

Foufou:
Merci d avoir lu mon MSG :smiley:

De rien, je l'ai même lu 2 fois plutôt qu'une ... mais euh :confused: desolé

hello, regarde LA

c'est dans l'esprit de ce que tu cherches

au faite je dois particulierement me baser sur la fonction attachInterrupt .

:o je viens de m’apercevoir que le lien que je t’ai passé t’envoie sur un post qui est déjà de toi et dans lequel tu demandais déjà de l’aide à ce sujet… >:(

pourquoi ne pas avoir continuer sur ce post.

il ne sert à rein d’en ouvrir plusieurs en même temps.

Foufou:
par ce que j ai pas eu d autre reponse :S

et CA c'est pas une réponse?

en plus tu poste dans la partie allemande
et la réponse n'est pas plus explicite http://forum.arduino.cc/index.php?topic=499833.msg3409861#msg3409861

A LIRE POUR RAPPEL

testes ça

moniteur en 115200 bauds

unsigned long top_1ere_dent; // le temps debut pour la deuxiemer messure
volatile unsigned long top_18eme_dent; // le temps ecoule
volatile byte  nombre_dents; // compteur de dents
int vitesse; //nombre de tours par minute
unsigned long temps_au_tour;
void setup() 
{
Serial.begin(115200);
pinMode(2,INPUT_PULLUP);
vitesse=0;
top_18eme_dent=0;
nombre_dents=0;
attachInterrupt(0,isr_impulsion,HIGH) ;// 
}

void isr_impulsion(){nombre_dents++;}

void loop() 
{
  if (nombre_dents==1){top_1ere_dent=millis();}
  if (nombre_dents==18)
      {
        top_18eme_dent=millis(); // le temps ecoule
        nombre_dents=0;
        temps_au_tour = (top_18eme_dent-top_1ere_dent);
        vitesse = (60000/temps_au_tour);
        Serial.print("vitesse tr/mn : ");Serial.println(vitesse); // le nombre de tours
      }}