This is an old revision of the document!
Il se peut que quand vous relâchez le bouton, vous réappuyez de manière transitoire, ce qui peut déclencher un flux supplémentaire. Dans ce cas, l'idée est de définir un temps minimal entre deux appuis du bouton, pour ne pas prendre en compte un tel rebond.
Pour ce faire, vous pouvez modifier le EventHandler
en vous assurant que ce temps minimal c'est bien déroulé entre deux événnements de type Pressed
, Released
et Changed
. Pour déterminer le temps qui s'est écoulé, il suffit de stocker dans un champ, par exemple int m_lastPressedTime
le temps auquel s'est déroulé le dernier événement pris en compte. La fonction ''millis()'' retourne le nombre de millisecondes qui se sont écoulés depuis le démarrage de la carte.
Modifier la classe EventHandler
de Button
pour prendre en compte ce mécanisme de contrôle de rebond.
Nous pouvons imaginer un fonctionnement plus complexe que celui actuel, où la carte ARDUNINO fonctionne comme un télérupteur. Vous appuyez une fois, cela allume la diode interne, une deuxième fois, cela l'éteint. Nous pouvons imaginer un cylce plus complexe :
Modifier votre classe pour implanter un tel comportement.
Précédent: Jalon 4: Ajouter à la classe Button la réactivité