Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define capteur 2
- unsigned long mesure=0;
- unsigned long old_mesure=0;
- unsigned long periode=0;
- unsigned long tempo_print=0;
- uint16_t tableau_vitesse[5];
- uint16_t vitesse=0;
- uint16_t vitesse_moyenne=0;
- byte index=0;
- byte front_montant;
- void setup() {
- Serial.begin(9600);
- pinMode(capteur,INPUT);
- attachInterrupt(digitalPinToInterrupt(capteur),lecture_capteur, RISING);
- }
- void lecture_capteur() {
- mesure=micros();
- periode=mesure-old_mesure;
- old_mesure=mesure;
- front_montant=1;
- }
- void loop() {
- if (front_montant==1)
- { vitesse=20000000/periode; // vitesse en tr/mn
- for (byte i=0;i<4;i++)
- {tableau_vitesse[i]=tableau_vitesse[i+1];}
- tableau_vitesse[4]=vitesse; vitesse=0;
- for (byte i=0;i<5;i++)
- {vitesse=vitesse+tableau_vitesse[i];}
- vitesse=vitesse/5;
- front_montant=0;
- }
- if ((millis()-tempo_print)>200) //impression toutes les 200ms
- {tempo_print=millis();
- Serial.println(vitesse);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement