MTdoubleButton en détail

Bouton type bouton de souris. Peut appeler des fonction lors d'un simple clic et lors d'un double clic.

Include à rajouter

#include "MTdoubleButton.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

MTdoubleButton(pin, onDoubleSelectFunction, onSelectFunction, repos);
MTdoubleButton(pin, onDoubleSelectFunction, onSelectFunction);  //  repos = HIGH
MTdoubleButton(pin, onDoubleSelectFunction); //  onSelectFunction = PAS_D_ACTION, repos = HIGH
MTdoubleButton(pin); //  onDoubleSelectFunction = onSelectFunction = PAS_D_ACTION, repos = HIGH

pin (uint8_t): broche sur lequel est branché le bouton
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

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 .
doubleBounce (word): temps pendant lequel on attend le double clic. Par défaut 256ms, 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 un temps doubleBounce pour le savoir. Le simple clic est donc détecté avec ce temps de retard.

Fonctions utiles

boolean getSelect(void);
virtual void onDoubleSelect(void);
virtual void onSelect(void);

getSelect renvoie true si le bouton est appuyé
onDoubleSelect: fonction à surcharger appelée quand on fait un doubles clic
onSelect: fonction à surcharger appelée quand on fait un imple clic

Fonctions bonus

void setDoubleSelectFunction(onUnselectFunction);
void setDoubleSelectFunction();
void setOnSelectFunction(onSelectFunction);
void setOnSelectFunction();

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