MTdoubleClock en détail
Horloge type métronome permettant d'appeler alternativement deux fonctions.
Include à rajouter
#include "MTdoubleClock.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
MTdoubleClock(interval1_ms, interval2_ms, onTimeFunction1, onTimeFunction2, numberOfActions, active); MTdoubleClock(interval1_ms, interval2_ms, onTimeFunction1, onTimeFunction2, numberOfActions); // active = MT_ON MTdoubleClock(interval1_ms, interval2_ms, onTimeFunction1, onTimeFunction2); // numberOfActions = MT_INFINI, active = MT_ON MTdoubleClock(interval1_ms, interval2_ms); // onTimeFunction = 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
- Clignotement d'une led
- Appuyer pour clignoter
- Clignotement avec marche/arrêt
- Faire flasher 5 fois une led
- Faire flasher avec marche/arrêt