MTclock en détail
Gestion par événements pour UNO, Nano, Mega
Horloge type métronome permettant d'appeler régulièrement une fonction. Peut aussi servir de temporisateur si on ne demande qu'une action.
Include à rajouter
#include <MTobjects.h> // Voir http://arduino.dansetrad.fr/MTobjects
Je conseille fortement de laisser le commentaire, si une autre personne voulait essayer le programme, elle aurait directement un lien de téléchargement. C'est valable pour toutes les bibliothèques que vous utilisez.
Commentaires utiles
milli_seconde milli_secondes action_et_arret actions_et_arret
Ces commentaires sont des mots que l'on peut rajouter n'importe où et qui sont ignorés par le compilateur.
Constructeur
Mtclock(interval_ms, onTimeFunction = PAS_D_ACTION, numberOfActions = MT_INFINI, active = MT_ON);
- interval_ms (unsigned long): intervalle de temps entre les actions en millisecondes
- onTimeFunction: ce qui se passe régulièrement
- PAS_D_ACTION → rien ne se passe
- fonction → appel d'une fonction "void fonction(void) { ...}
- numberOfActions (unsigned long): nombre d'appels à la fonction avant qu'elle se désactive
- MT_INFINI → nombre infini, elle ne se désactive pas toute seule
- <valeur numérique> → elle se désactive au bout d'un certain temps
- 1 → pour un monostable
- active (boolean): appel ou non de la fonction utilisateur
- MT_ON → elle est active, elle appelle les fonctions utilisateur
- MT_OFF → inactive, par exemple pour les monostables. On l'active par MTclock.start();
Fonctions utiles
void start(void); void stop(void); virtual void onTime(void);
start: active l'horloge
stop: désactive l'horloge
onTime: fonction à surcharger appelée à chaque fin de comptage
Fonctions bonus
void setInterval_ms(unsigned long interval_ms); void setInterval_ms(); unsigned long getInterval_ms(); void setOnTimeFunction(onTimeFunction); void setOnTimeFunction(); void setNumberOfActions(unsigned long numberOfActions); void setNumberOfActions(); unsigned long getNumberOfActions(); unsigned long getNumberOfActionsRemains(); boolean getActive();
setInterval_ms: change le temps de base, 1s par défaut
setInterval_ms: sans paramètre met 1s pour la base de temps
getInterval_ms: retourne l'intervalle de temps en ms
setOnTimeFunction: change la fonction appelée régulièrement
setOnTimeFunction: sans paramètre supprime l'appel
setNumberOfActions: change le nombre d'appels à faire
setNumberOfActions: infini si il n'y a pas de paramètres
getNumberOfActions: récupère le nombre d'appels à faire programmé
getNumberOfActionsRemains: récupère le nombre d'appels qui reste à faire
getActive: renvoie true si l'horloge est active
Exemples