Étape 4: Le Code
Le code est jointe.
Le véritable nœud du script se trouve dans une fonction qui doit être appelée chaque boucle. Cette fonction vérifie qu’une seule touche. Il envoie un modèle de bits du Registre à décalage qui désactive tous les boutons sauf la touche une cible pour cette boucle. Il vérifie ensuite l’état de la broche d’entrée à cet instant : si elle est haute, cette touche est enfoncée, si faible, le bouton n’est pas. Puis, il compare cet État contre l’état précédent pour ce bouton de décider si l’utilisateur fait juste quelque chose de nouveau ou non. Il stocke l’état de ce bouton et un index des avances pour le bouton suivant dans l’ordre est vérifié dans la boucle suivante. J’ai aussi inclus une minuterie, ainsi vous pouvez accorder le scénario d’utilisation de l’UC vs sensibilité du bouton.
Faites-moi savoir si vous trouvez des bugs.
J’espère que cette aide quiconque est confronté au problème de devoir gérer l’entrée d’un grand nombre de boutons en utilisant le moins de nombre de broches de l’Arduino. Je suis très intéressé à l’audience de toute personne qui a résolu ce problème par d’autres moyens.