MTclock en détail
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 "MTclock.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.
Constructeurs
Mtclock(interval_ms, onTimeFunction, numberOfActions, active); MTclock(interval_ms, onTimeFunction, numberOfActions); // active = MT_ON MTclock(interval_ms, onTimeFunction); // numberOfActions = MT_INFINI, active = MT_ON 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 la fonction utilisateur
MT_OFF → inactive, par exemple pour les monostables. On l'active par Clock.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