Seulement trois broches pour un clavier 4x3
Composants et fournitures
| × | 1 | ||||
| × | 3 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Outils et machines nécessaires
|
Applications et services en ligne
|
À propos de ce projet
Présentation
L'objectif de ce projet est de réduire considérablement le nombre de broches requises par un pavé numérique. En effet, nous avons souvent besoin de nombreuses broches d'E/S par rapport à celles disponibles sur les cartes Arduino Uno ou Nanoboards.
Les claviers numériques ordinaires sont structurés en matrice :un clavier 4x3, nécessite 4+3 broches numériques Arduino. De nombreuses librairies sont disponibles sur le net pour l'utiliser avec Arduino.
Ma solution
La solution que je propose est bien meilleure car elle n'utilise que trois entrées analogiques, avec un circuit comme celui représenté sur la figure suivante.
Pour chaque colonne, il n'y a que 4 valeurs de tension, correspondant à chacune des 4 touches, plus zéro volt au cas où aucune touche n'est enfoncée. Dans le schéma équivalent (b), le R1e indique l'une des quatre résistances R1-R4, tandis que R2e est l'une des trois résistances R5-R7.
Voyons maintenant comment faire les quatre intervalles les plus larges possibles. Tout d'abord les résistances R2e =R5 =R6 =R7 peuvent être rendues égales, puis on peut régler R1 =0 pour avoir les sorties correspondant à la première ligne à 5V.
Avec R2=330 ohm, R3=1 k ohm, R4=3 k ohm et R5, R6, R7=1 k ohm, les intervalles suivants sont obtenus pour chaque sortie :
Comme vous pouvez le voir, les intervalles sur les trois sorties sont les plus grands possibles et vous pouvez utiliser six résistances standards avec une tolérance de ±5%. Avec une entrée analogique supplémentaire et une autre résistance, un clavier 4x4 peut être utilisé et ainsi de suite. La figure suivante montre les connexions avec Arduino.
Dans le schéma, la résistance R1 est connectée à la ligne 2 car celle de la ligne 1 l'a dessinée avec un fil, donc les références de résistance ont été mises à l'échelle par un. Les affectations de broches peuvent être modifiées selon les besoins, tant qu'elles sont configurables en broches analogiques.
Bien sûr, si Arduino est alimenté à 3,3 V, rien ne changera car le convertisseur ADC par défaut utilise la tension d'alimentation et les numéros ADC ne changent pas.
Pour tester le programme, n'ayant pas de clavier de ce type, je l'ai construit avec des touches recyclées, la figure ci-dessous montre mon prototype. Le connecteur droit à 5 broches est utilisé pour le câbler à Arduino.
Code
- Analog4x3Keybf.ino
Analog4x3Keybf.inoArduino
Programme simple pour tester la fonction KeyPad()Schémas
Processus de fabrication