Compter le nombre de tour.

Ce premier programme va nous permettre de compter le nombre de tours effectués par le hand spinner .

Le détecteur est toujours branché sur la broche 2 (D2).

Le passage d'une branche du Hand spinner devant le détecteur provoquera un déclenchement du détecteur (passage à '1' de la broche 2 et allumage de la led du détecteur)

à la fin du passage la broche 2 repasse à '0' et la led du détecteur s'éteint.

Dans le programme donné on utilise un fonction d'interruption du micro contrôleur pour compter les déclenchements

A chaque nouveau tour du hand spinner le programme va envoyer sur la console le nombre de tours effectués.

Programme :

#define detect 2 // le détecteur est connecté à la broche digital 2

#define nbr 3 // nombre de branche du Hand Spinner (nombre de déclenchement par tour)

volatile int cPulse = 0; // cette variable permet de compter les déclenchements

int tour; // cette variable permet de compter le nombre de tour

void tick()  //Fonction d'interruption pour la détection des fronts

{

cPulse++; // on ajoute '1' à la variable cPulse à chaque déclenchement

}

void setup() {

Serial.begin(115200); // Initialise le port série à 115200 bauds

pinMode(detect, INPUT_PULLUP); // broche 2 en entrée

attachInterrupt(digitalPinToInterrupt(detect), tick, FALLING); //active la fonction d'interruption (tick) à chaque passage à '0' de la broche 2 (detect)

tour = 0;

}

void loop() {

...

}