Étape 13 : Code Détails - debounce Switch
Ici, nous allons aborder certains des aspects plus intéressants du code.
Manipulation du mode Switch :
Interrupteurs mécaniques comme les boutons poussoirs et interrupteurs à bascule sont très agréable et pratique à utiliser avec un micro contrôleur, mais ont un gros problème... Ils génèrent beaucoup de bruit électrique lorsque commuté ou enfoncée (voir la photo pour plus de détails). Ce « bruit » fait des ravages avec votre code pour lire un bouton ou un commutateur et peut entraîner le code mal lu un changement dans l’état de l’interrupteur. Pour remédier à cela, nous avons ajouter une certaine logique pour « debounce » de l’interrupteur.
Un debounce est juste un petit code supplémentaire pour garder une trace de la dernière fois s’est produit un changement dans l’état de l’interrupteur. Lorsque le commutateur est activé/désactivé ou activé, la fonction qui lit la broche numérique, permet d’économiser le temps que le changement est survenu. Lorsqu’un autre changement est noté, que sauvé temps est vérifiée pour voir si elle est hors de portée de la nouvelle heure. Si le nouveau changement est inférieure à 20 ms de la dernière, le changement est ignoré et supposé pour être bruit. Si il était supérieur à 20 ms, puis la modification est prise et une nouvelle ère de changement est enregistrée. Cela empêche le code d’obtention des multiples changements par commutateur chiquenaude.