Oui, un anti-rebond dans les deux sens est nécessaire si vous voulez un front unique garanti chaque fois que le commutateur change d'état.
Heureusement, vous n'avez pas besoin de matériel supplémentaire pour anti-rebond si le commutateur est connecté à un microcontrôleur. Si le micro a un pullup interne, ce que beaucoup font, vous n'avez besoin de rien de plus externe que le commutateur entre la micro broche et la masse.
Je trouve que 50 ms est un bon temps de rebond. La plupart des commutateurs rebondissent bien moins que cela, mais quelques-uns peuvent être presque aussi longs. Mais, 50 ms sembleront toujours instantanés pour un utilisateur humain, vous pourriez donc aussi bien être extrêmement fiable. La seule différence est le nombre que vous comptez dans le firmware, donc pas de frais supplémentaires. J'ai généralement une interruption périodique de 1 ms pour d'autres raisons de toute façon, donc si le commutateur est dans le même état 50 fois de suite dans cette interruption, alors vous le déclarez rebondi au nouvel état.
Détails sur la logique anti-rebond en réponse au commentaire:
Généralement, vous aurez un bit global qui indique l'état de rebond officiel du commutateur. C'est ce que toute logique qui a besoin de savoir de quelle manière le commutateur est réglé utilise. Le seul état supplémentaire dont vous avez besoin est un compteur, généralement un seul octet, dans la routine d'interruption. Disons que l'interruption est toutes les 1 ms et le temps de rebond est de 50 ms. Pour chaque interruption:
Si l'état instantané correspond à l'état anti-rebond:
Remettre le compteur à 50
Terminé
Si l'état instantané diffère de l'état anti-rebond:
Décrémenter le compteur
Si le compteur atteint 0:
Déclarer le nouvel état rebondi
Remettre le compteur à 50
Terminé
Ouais j'en utiliserais un, le mécanisme est fondamentalement le même. Lorsque vous coupez le contact, vous aurez des moments où l'interrupteur établit un bon contact électrique ainsi que ne fait pas un bon contact électrique. Comme lorsque vous établissez le contact.
la source
En général, oui. Les interrupteurs mécaniques peuvent produire du bruit électrique (rebond) à la fois en fermeture et en ouverture.
la source
Généralement, oui, mais cela dépend toujours de ce que vous faites avec l'entrée numérique. J'ai eu quelques systèmes qui n'avaient absolument pas besoin d'être rebondis dans les deux sens.
Si vous conduisez une interruption, cependant, vous devriez probablement rebondir.
la source