Bonjour,
Je souhaite faire fonctionner une led de façon différente en fonction du type de pression sur 1 poussoir :
1 pression "courte" = Led allumée 10 secondes
2 pression "longue" = led allumée illimité
1 nouvelle pression alors qu'un cycle est lancé = réinitialise = led éteinte
Quelles sont les fonctions vers lesquelles je dois m'orienter ? pouvez-vous m'aider?
Merci !
Merci JP.
Dans la ligne n°2 : "boutonPoussoirPin" doit obligatoirement contenir "Pin" ou c'est juste un nom de constante ?
Je me mélange entre fonctions et nom de constantes...
ou alors la librairie OneButton de Matthias Hertel où on peut directement attacher un callback sur click, double_click et appui_long (documentation ici)
clickez sur la flèche verte
pour lancer la simulation et appuyez sur le bouton (simple, double, multi click ou appui long)
➜ la console affiche ce que vous avez fait
la bibliothèque OneButton permet la gestion avec appel d'une fonction lors du simple, double et multi-click (avec affichage du nombre de clicks) ou alors de l'appui long (avec appel de fonction au début et fin de l'appui long et en cours)
Génial ce simulateur !
donc ok je comprends le coup des simple clic, double clic.
Comment je dois faire pour exécuter une action en fonction de ces clics maintenant ?
Il faut utiliser les fonctions de gestion des appuis c'est ça ? :
Non, "Pin" n'est pas obligatoire, ça présence rend plus "explicite" quand au rôle de cette constante.
Il en va de même pour les fonctions, un nom explicite évite, souvent, des commentaires.
il suffit de le dire dans le callback (la fonction simpleClick() est appelée lors d'un appui simple puisqu'on a déclaré bouton.attachClick(simpleClick). ➜ c'est ce qu'on appelle un callback)
un exemple avec le click qui allume et le double click qui éteint une LED:
en C++ on peut initialiser une variable en passant sa valeur entre parenthèses (en fait on appelle le constructeur sur le type choisi et quand c'est juste un entier, ça fait l'affectation)