Étape 2: Logiciel Debouncing
Alors pourquoi avons-nous besoin d’aller sur une nouvelle méthode où l’autre se semblait fonctionner correctement ? Eh bien, la méthode de debounce logiciel est essentiellement libre si le cycle de programme spatial et le microcontrôleur lui permettra. Avec seulement quelques lignes de code, vous pouvez fournir beaucoup plus de contrôle de la façon dont les méthodes antirebonds fonctionnent avec la touche vous utilisez. Debouncing dans le matériel peut ajouter des coûts supplémentaires à chaque planche développé, et il est plus difficile de déterminer un bon debouncing pour tous les commutateurs de bouton poussoir qui seront utilisés. Toutefois, si vous souhaitez conserver les cycles de l’exécution des programmes, il est préférable d’aller avec l’itinéraire de matériel.
Ma méthode de debouncing avec le logiciel utilise seulement deux variables qui mesurent le niveau de confiance de la presse bouton réel. Avec l’aide de la variable pressée introduite dans le bouton Debouncing, il y aura un flux de 1 lorsque le bouton est enfoncé et un flux de 0 lorsque le bouton est relâché. Si il est rebondissant passe, le flux de 1 ou de 0 sera très court, donc nous pouvons tirer profit de cela en introduisant deux variables qui mesurent la longueur de ces cours d’eau. Les variables sont appelées, Pressed_Confidence_Level, pour mesurer l’état enfoncé le bouton a et Released_Confidence_Level pour mesurer l’État libéré de la touche.
Donc, si le bouton est enfoncé, le Pressed_Confidence_Level va augmenter et même avec Released_Confidence_Level lorsque le bouton est relâché. Mais, ces variables seront également devenir réinitialisées à 0 si la condition contraire existe. Par exemple, que le bouton a été activé pendant un certain temps et le Pressed_Confidence_Level est devenu un très grand nombre, comme 153 356. Si le bouton est relâché (ou un rebond s’est produit), la variable devrait être réinitialisée à 0. Le truc pour ces variables est de déterminer un seuil à déterminer une bonne touche ou exempter l’État concerné. Dire, si la Pressed_Confidence_Level montre que, après avoir augmenté à 500, que ce numéro s une indication forte d’une presse de bouton, puis la LED va basculer une fois. Il en va de même pour le Released_Confidence_Level parce que rebondir peut également se produire sur un communiqué de bouton. Donc, nous allons voir comment nous faire cela dans le code :