Advertisement
mich29800

compte_tour

Nov 24th, 2021
1,067
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define capteur 2
  2.  
  3. unsigned long mesure=0;
  4. unsigned long old_mesure=0;
  5. unsigned long periode=0;
  6. unsigned long tempo_print=0;
  7. uint16_t tableau_vitesse[5];
  8. uint16_t vitesse=0;
  9. uint16_t vitesse_moyenne=0;
  10. byte index=0;
  11. byte front_montant;
  12.  
  13. void setup() {
  14.  
  15. Serial.begin(9600);
  16. pinMode(capteur,INPUT);
  17. attachInterrupt(digitalPinToInterrupt(capteur),lecture_capteur, RISING);
  18. }
  19.  
  20. void lecture_capteur() {
  21. mesure=micros();
  22. periode=mesure-old_mesure;
  23. old_mesure=mesure;
  24. front_montant=1;  
  25. }
  26.  
  27. void loop() {
  28. if (front_montant==1)
  29.   { vitesse=20000000/periode; // vitesse en tr/mn
  30.     for (byte i=0;i<4;i++)
  31.       {tableau_vitesse[i]=tableau_vitesse[i+1];}
  32.     tableau_vitesse[4]=vitesse; vitesse=0;
  33.     for (byte i=0;i<5;i++)
  34.       {vitesse=vitesse+tableau_vitesse[i];}
  35.     vitesse=vitesse/5;
  36.     front_montant=0;
  37.   }
  38.   if ((millis()-tempo_print)>200)  //impression toutes les 200ms
  39.     {tempo_print=millis();
  40.       Serial.println(vitesse);
  41.     }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement