Table des matières
Les rebonds
Quand un contact mécanique est actionné des rebonds sont créés. Le passage d'un niveau haut à un niveau bas n'est jamais direct :
: Il y a aussi des rebonds lors de l'ouverture du bouton poussoir, donc du front montant.
La durée des rebonds est d'environ 1ms.
Ils deviennent problématiques si le CI est déclenché sur front descendant.
Dans notre cas il sera déclenché 4 fois au lieu d'une seule comme on le souhaite
Solutions
Circuit RC
Un circuit RC (Résistance/Condensateur) dont la constante de temps est grande devant la période des rebonds.
Bascule RS
Traitement logiciel
Si on a par exemple un bouton poussoir connecté à une entrée d'interruption d'un microcontroleur et que l'on souhaite comptabiliser le nombre d'action* sur le bouton poussoir. On peut :
- Configurer une interruption pour qu'elle se déclanche sur un changement d'état (front montant et front descendant)
- Lors de l'interruption :
- Désactiver les interruptions, pour ne pas déclancher l'interruption sur des rebonds.
- Faire une tempo de 20ms
- Incrémenter une variable : i=i+1, Si i == 1 on a juste détecté la fermeture du BP, si i == 2 on a détecté la fermeture et l'ouverture du BP, soit une action.
- Si i == 2 : compteur=compteur+1
- Réactiver les interruptions
*Action : Une pression + un relâchement