Antirebond

Définition, exemples et bonnes pratiques

À retenir

  • Empêche la détection de faux appuis multiples.
  • Compense les imperfections mécaniques des contacts métalliques.
  • Peut être réalisé de manière matérielle (circuit) ou logicielle (code).

L'antirebond est un dispositif ou un algorithme qui permet d'ignorer les signaux parasites générés lors de l'activation d'un interrupteur physique. Lorsqu'on appuie sur un bouton, les lamelles métalliques à l'intérieur vibrent et s'entrechoquent pendant quelques millisecondes avant de se stabiliser. Sans antirebond, l'appareil pourrait interpréter ces micro-vibrations comme des dizaines d'appuis très rapides au lieu d'un seul.

Étymologie

Composé du préfixe anti- (contre) et du nom rebond. En anglais, on utilise le terme debouncing (littéralement "dé-bondissement"). Ce concept est né avec les premiers commutateurs électriques et s'est généralisé avec l'informatique pour traiter les entrées des utilisateurs.

Exemples d'usage

  • Une souris d'ordinateur qui ne clique qu'une seule fois même si le ressort interne vibre.
  • Un clavier qui évite de répéter une lettre dix fois à cause d'un contact électrique imparfait.
  • Une manette de console de jeux qui détecte un saut précis malgré la rapidité de l'appui.

Cas d'usage

On utilise l'antirebond principalement en électronique (via des condensateurs ou des circuits dédiés) et en programmation de microcontrôleurs (comme Arduino). On le retrouve aussi en développement web pour limiter le nombre d'exécutions d'une fonction si un utilisateur clique frénétiquement sur un bouton de validation.

Bonnes pratiques

En programmation, il est conseillé de définir une courte période de silence (souvent entre 20 et 50 millisecondes) après la détection du premier signal. Pendant ce laps de temps, toute nouvelle variation du signal est ignorée pour laisser les vibrations mécaniques se calmer. Attention toutefois à ne pas choisir une durée trop longue, ce qui créerait une sensation de lenteur ou de "lag".

Synonymes

debouncing filtrage de signal lissage

Antonymes

signal brut signal non filtré

Conseil

Si vous débutez en électronique ou en programmation, ne négligez jamais l'antirebond pour vos boutons. C'est souvent la cause numéro un des bugs incompréhensibles sur les interfaces physiques. Utilisez des bibliothèques logicielles déjà existantes (comme 'Bounce2' sur Arduino) pour vous simplifier la vie.

Questions fréquentes

Pourquoi mon compteur Arduino augmente de 3 ou 4 à chaque pression sur un bouton ?

C'est le symptôme typique d'une absence d'antirebond : le code est trop rapide et compte chaque vibration du métal comme un appui distinct.

L'antirebond ralentit-il le système ?

De manière imperceptible pour l'humain. Une attente de 30 ms est suffisante pour stabiliser le signal tout en restant instantanée à l'échelle de l'utilisateur.