MTtripleButton en détail
Bouton type bouton de souris. Peut appeler des fonction lors d'un simple clic, d'un double clic ou d'un triple clic.
Include à rajouter
#include "MTtripleButton.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.
Commentaire utile
si_non_appuye
Ce commentaire est un mot que l'on peut rajouter n'importe où et qui est ignoré par le compilateur.
Constructeurs
MTtripleButton(pin, onTripleSelectFunction, onDoubleSelectFunction, onSelectFunction, repos); MTtripleButton(pin, onTripleSelectFunction, onDoubleSelectFunction, onSelectFunction); // repos = HIGH MTtripleButton(pin, onTripleSelectFunction, onDoubleSelectFunction); // onSelectFunction = PAS_D_ACTION, repos = HIGH MTtripleButton(pin, onTripleSelectFunction); // onDoubleSelectFunction = onSelectFunction = PAS_D_ACTION, repos = HIGH MTtripleButton(pin); // onTripleSelectFunction = onDoubleSelectFunction = onSelectFunction = PAS_D_ACTION, repos = HIGH
pin (uint8_t): broche sur lequel est branché le bouton
onTripleSelectFunction: ce qui se passe quand on fait un triple clic
PAS_D_ACTION -> rien ne se passe
fonction -> appel d'une fonction "void fonction(void) { ...}
onDoubleSelectFunction: ce qui se passe quand on fait un double clic
PAS_D_ACTION -> rien ne se passe
fonction -> appel d'une fonction "void fonction(void) { ...}
onSelectFunction: ce qui se passe quand on fait un simple clic
PAS_D_ACTION -> rien ne se passe
fonction -> appel d'une fonction "void fonction(void) { ...}
repos (boolean): état de la broche si le bouton n'est pas appuyé
HIGH -> si il est câblé entre GND et pin (conseillé)
LOW -> si il est câblé entre VCC et pin, avec une résistance de pulldown entre pin et GND
Variables utiles
bounce doubleBounce tripleBounce
bounce (word): temps pendant lequel les rebonds sont ignorés. Par défaut 32ms, arrondi aux paquets de 16ms supérieurs. P. ex.
bounce = 50 milli_secondes; donne des rebonds max de 64ms .
tripleBounce (word): temps pendant lequel on attend le double ou le triple clic. Par défaut 304ms, arrondi aux paquets de 16ms
supérieurs.
Attention: la prise en compte d'un simple clic est retardé: au premier clic, on ne sait pas encore si il va y en avoir un
deuxième ou pas. En cas de simple clic, il faut attendre deux fois un temps tripleBounce pour le savoir. Le simple clic est donc
détecté avec ce temps de retard.
Il en est de même avec la détection du double clic. Il faut attendre un temps tripleBounce pour le savoir.
Fonctions utiles
boolean getSelect(void); void onTripleSelect(void); virtual void onDoubleSelect(void); virtual void onSelect(void);
getSelect renvoie true si le bouton est appuyé
onTripleSelect: fonction à surcharger appelée quand on fait un triple clic
onDoubleSelect: fonction à surcharger appelée quand on fait un double clic
onSelect: fonction à surcharger appelée quand on fait un simple clic
Fonctions bonus
void setTripleSelectFunction(onUnselectFunction); void setTripleSelectFunction(); void setDoubleSelectFunction(onUnselectFunction); void setDoubleSelectFunction(); void setOnSelectFunction(onSelectFunction); void setOnSelectFunction();
setTripleSelectFunction change la fonction appelée lors des triples clics
setTripleSelectFunction sans paramètres supprime la fonction appelée lors des triples clics
setDoubleSelectFunction change la fonction appelée lors des doubles clics
setDoubleSelectFunction sans paramètres supprime la fonction appelée lors des doubles clics
setOnSelectFunction change la fonction appelée lors des simples clics
setOnSelectFunction sans paramètres supprime la fonction appelée lors des simples clics
Exemples