|
ARDUINO
Des boutons poussoirs sur un port
analogique |
Version avec réseau de résistance :
Cette version a été testé, mais ne s'est pas révélée très efficace.
En effet, j'ai utilisé la série E12 (12 valeurs par décades) et avec une tolérance de 5%.
Il est compliqué de trouver une bonne linéarité des valeurs lues.
Version avec diodes
Cette version sera celle retenue.
Sur les conseils de mon ami Louis / F1FWG, je vais jouer sur la chute de tension
induite par les diodes.
La tolérance est très précise et permet en fonction de leurs valeurs d'obtenir
une excellente linéarité.
Dans ce cas de figure, j'ai opté pour l'essai de diodes 1N4148.
J'en disposais d'une série d'un même lot, donc avec les mêmes tolérances.
La diode D1 permet de ne pas saturer l'entrée et d'occulter de fausses valeurs.
La première valeur lue sera donc juste un peu inférieur à 1024.
Par la suite, la chute de valeur sera d'approximativement 100 à 150 de la valeur
1024.
La chute de tension étant d'approximativement 0.6V pour de la diode
traditionnelle.
Louis (F1FWG) pour sa part utilise des diodes Schottky BAT47.
Dans ce cas, la chute de tension étant de 0.3V, le nombre de bouton possible devient plus
important.
Enfin, la résistance R1 de 100K permet de référencer à 0 l'entrée lorsqu'il n'y
a pas de bouton appuyé.
Une autre solution consiste à écrire
digitalWrite(clavier, HIGH);
Cela met en service une résistance interne. R1 deviens donc inutile
Si vous souhaitez tester sur BreakBoard, voici le montage :
Enfin, le circuit imprimé est ici, et le fichier au format Fritzing ici.
Pour de vrai :
Les bouton poussoirs mis en place :
Une plaque de veroboard, les pistes sont continu à la
verticale...
Mise en place des diodes :
J'ai utilisé des 1N4148 récupérées à droite et à gauche sur de vieilles
cartes HS
Les strap et les pins :
Quelques pattes de composants pour les straps. Pour les pins, encore de
la récupération...
C'est fini...
Il ne reste plus qu'à découper le surplus...
Comme expliqué plus haut, si vous utilisez la fonction DigitalWrite, la
résistance peut être supprimée...
Le code source de test :
Je ne peut que vous conseiller le liens du site de Louis / F1FWG.
L'article qu'il a publié est suffisamment complet pour qu'il ne soit pas besoin
d'en rajouter...
Le site de Louis , Arduino, Article N° 10 Clavier analogique ICI
Des questions, des commentaires en direct ?
© 17/03/2013 - Dernière modification : 21/07/2016 - F4CVM / Pascal