Bonjour , je voudrais utilisé la fonction millis() afin que lorsque que j'appuie + 3secondes sur mon bouton poussoir celui-ci eteind mes leds. Mais malheuresement je bloque , je ne comprends pas tellement cette fonction
C’est quoi etatBouton ? Quelle est la cohérence de la formule sur le temps?
Notez que Pour éviter les soucis de rollover, on procède toujours par soustraction plutôt qu’maddition sur le tempsif (millis() - tempsDebut >= durée) {...}
Calculer le temps d’appui, ça veut dire détecter l’appui, détecter le relâchement, calculer le temps entre les 2 et si c’est plus de 3 secondes alors faire votre action (ou éventuellement si pas de relâchement avant 3s et que vous voulez agir sans relâcher le bouton)
On ne voit pas ces détections d’appui et relâche dans ce que vous avez posté, donc on ne peut pas vous dire...
Donc
si transition d’appui noter t0
si relâche calculer millis()-t0 et décider quoi faire
(Et/ou si pas relâche comparer millis()-t0 et décider quoi faire)
Il faut une petite machine à états
Et oui d’une manière générale poster tout un code compilable, votre projet ou un extrait qui met en lumière ce que vous testez
Bonsoir, je voudrais utiliser la fonction millis() afin de vouloir faire un interrupteur avec un boutton , que lorsque je reste appuyé 3s ma LED s'éteigne, mais malheuresement étant débutant dans arduino , je n'arrive pas réellement a comprendre comment faire. Et comment commencer la partie loop du programme
Pour éviter de jongler avec la fonction millis() si tu ne sais pas t'en servir, tu peux utiliser la bibliothèque button2 qui permet de gérer les appuis longs. Voir les exemples fournis avec la bibli.