Étape 4: Arduino code et tests
Le code est jointe pour un Arduino (au format .ino et .txt). J’ai testé avec un Uno et il fonctionne très bien. J’ai également écrit une bibliothèque qui utilise la manipulation directe de port pour la vitesse.
Le principe de base du code est la suivante :
- Tourner le pivot de l’accusation-cela va commencer à charger la broche d’entrée.
- Compter combien de boucles vides l’Arduino fait jusqu'à ce que la broche d’entrée est élevée.
- Couper la tige de l’accusation.
- Tourner le pivot de la décharge-cela va décharger le circuit à travers la résistance de 220Ω.
- Désactiver le code pin de décharge.
J’ai ajouté une logique pour debounce l’interrupteur. Fondamentalement, il attend jusqu'à ce que le commutateur a été éteint pendant 100ms jusqu'à ce qu’il indique un interrupteur. Cela semble fonctionner assez bien.
Vous devrez peut-être modifier la valeur de la LOOP_LIMIT dans le présent code. Un processeur plus rapide ou un code plus efficace (à l’aide de manipulation directe port peut-être) aura probablement besoin d’une valeur supérieure.