Analyse et finalisation du programme donné.
// le détecteur est connecté à la broche digital 2
// nombre de branche du Hand Spinner (nombre de déclenchement par tour)
/* Variables pour la mesure */
volatile int cPulse = 0; // cette variable permet de compter les déclenchements
int tour; // cette variable permet de compter le nombre de tour
/** Fonction d'interruption pour la détection des fronts */
void tick() {
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() {
if (cPulse .... nbr ) {
.... // cPulse doit être remis à 0
.... // il faut ajouter 1 au contenu de tour
.... // il faut afficher le nombre de tour effectué
}
}
Question
Q C1 / Rechercher : (compléter le document réponse)
le nom du programme d'interruption
le nom de la variable qui sert à compter les déclenchements
le nom de la variable qui sert à compter les tours
Indice
Dans l'exemple de code suivant :
void setup() {
Serial.begin(9600) ; //exemple de commentaire
}
Ce morceau de programme correspond à la description d'une fonction.
Le nom de cette fonction (ce programme) est 'setup'
Le code exécuté dans cette fonction est entre les accolades. { ..... }
En 'C' se sont les accolades qui délimitent les blocs de code.
les doubles slash // indique que la fin de la ligne est un commentaire ( les commentaires sont optionnels
Question
Q C2 / Compléter la fonction loop ()
A chaque tour du hand spinner il faut ajouter 1 au nombre de tour effectué et afficher cette nouvelle valeur .
Format d'affichage à utiliser : Nombre de tours : xxx(xxx étant la valeur à afficher)
Indice
Lorsque cPulse atteint la valeur 'nbr' (nombre de déclenchement par tour) le hand-spinner a fait un tour.
Question
Q C3 / Tester le programme donné avec la fonction loop() complétée . Faites valider son fonctionnement par votre enseignant.