MTdoubleClock en détail
Gestion par événements pour UNO, Nano, Mega
Horloge type métronome permettant d'appeler alternativement deux fonctions.
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
MTdoubleClock(interval1_ms, interval2_ms, onTimeFunction1 = PAS_D_ACTION, onTimeFunction2 = PAS_D_ACTION, numberOfActions = MT_INFINI, active = MT_ON);
- interval1_ms, interval2_ms (unsigned long): intervalles de temps entre les actions en millisecondes
- onTimeFunction1, onTimeFunction2: 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 onTime1(void); virtual void onTime2(void);
start: active l'horloge
stop: désactive l'horloge
onTime1: et onTime2 fonctions à surcharger appelée à chaque fin de comptage
Fonctions bonus
void setInterval1_ms(unsigned long interval_ms); void setInterval2_ms(unsigned long interval_ms); void setInterval1_ms(); void setInterval2_ms(); unsigned long getInterval1_ms(); unsigned long getInterval2_ms(); void setOnTimeFunction1(onTimeFunction); void setOnTimeFunction2(onTimeFunction); void setOnTimeFunction1(); void setOnTimeFunction2(); void setNumberOfActions(unsigned long numberOfActions); void setNumberOfActions(); unsigned long getNumberOfActions(); unsigned long getNumberOfActionsRemains(); boolean getActive();
setInterval1_ms, setInterval2_ms: change le temps de base
setInterval1_ms, setInterval2_ms: sans paramètre met 1s pour la base de temps
getInterval1_ms, getInterval2_ms: retourne l'intervalle de temps en ms
setOnTimeFunction1, setOnTimeFunction2: change la fonction appelée régulièrement
setOnTimeFunction1, setOnTimeFunction2: 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
- Exemple 1: Flashs sur une LED
- Exemple 2: Flashs et bouton
- Exemple 3: Flashs et M/A
- Exemple 4: Slaves de 5 flashs
- Exemple 5: Slaves avec M/A