Comment se connecter et lire un clavier avec un Arduino

Dans ce projet, nous allons sur la façon d'intégrer un clavier avec une carte arduino afin que le arduino peut lire les touches utilisées par un utilisateur.
Keypads sont utilisés dans tous les types d'appareils, y compris les téléphones cellulaires, télécopieurs, micro-ondes, fours, serrures de porte, etc. Ils sont pratiquement partout. Des tonnes d'appareils électroniques les utilisent pour les entrées utilisateur.
Alors savoir comment connecter un clavier à un microcontrôleur comme un arduino est très utile pour la construction de différents types de produits commerciaux.
A la fin quand tout est correctement connecté et programmé, lorsqu'une touche est pressée, elle apparaître au moniteur série sur votre ordinateur. Chaque fois que vous appuyez sur une touche, il apparaît sur le moniteur de série. Plus tard, dans un autre projet, nous allons connecter le circuit du clavier, de sorte qu'il ne sera pas affiché sur un écran LCD. Mais pour l'instant, à des fins de simplicité, nous commençons à montrer la touche enfoncée sur l'ordinateur.
Pour ce projet, le type de clavier, nous allons utiliser est un clavier de matrice. Ceci est un clavier qui suit un schéma de codage qui permet d'avoir beaucoup moins de broches de sortie que il y a des clés. Par exemple, le clavier de la matrice que nous utilisons a 16 touches (0-9, A-D, *, #), mais seulement 8 broches de sortie. Avec un clavier linéaire, il faudrait être 17 broches de sortie (un pour chaque clé et une broche de terre) afin de travailler. Le schéma de codage de la matrice permet moins de broches de sortie et donc beaucoup moins de connexions qui doivent fait pour le clavier pour travailler. De cette façon, ils sont plus efficaces que les claviers linéaires, étant qu'ils ont moins de câblage.
- Arduino
- 4x4 Clavier matricé
- 8 mâle à tête de broche mâle
Le clavier de matrice 4x4 peut être obtenue à partir d'un certain nombre de détaillants en ligne. Il peut être acheté sur amazon et beaucoup d'autres détaillants en ligne si vous google la partie.
Le type que nous utiliserons est par un manufactuer électronique appelé Sunkee.
Avec le clavier vers le haut afin que les clés sont et face à vous, de gauche à droite, les 4 broches 1er sont les broches de ligne et les 4 dernières broches sont les broches de colonne.

Lors de la connexion des broches à la carte Arduino, nous les connecter aux broches de sortie numériques, D9-D2. Nous connecter la première broche du clavier à D9, la seconde broche à D8, la troisième broche à D7, la quatrième broche à D6, la cinquième broche à D5, la sixième broche à D4, la septième broche à D3, et le huitième la broche à D2.
Ce sont les connexions dans un tableau:
Ceci est un visuel de la façon dont le circuit est lorsqu'il est connecté vers le haut.

Ici, vous voyez visuellement toutes les connexions qui ont été écrites ci-dessus.
Maintenant que nous avons la configuration physique, tout ce que nous devons maintenant est le code.
Avant de pouvoir exécuter cette commande, vous devez importer la bibliothèque du clavier, puis une fois que vous importez, vous pouvez entrer dans votre programme. Une fois qu'il est entré dans votre programme, vous devriez voir la ligne #include
Vous pouvez télécharger la bibliothèque du clavier ici: Bibliothèque clavier. Lorsque vous téléchargez, modifiez le nom de dossier à autre chose que du clavier. Si le dossier et le fichier que vous importez le même nom, il ne fonctionnera pas.
/ * Clavier numérique 4x4 connecté à Arduino
Ce code imprime la touche enfoncée sur le clavier au port série * /
const octets nbreLignes = 4; // nombre de lignes sur le clavier
const octets numCols = 4; // nombre de colonnes sur le clavier
// Le code qui montre les connexions du clavier aux bornes de arduino
octet rowPins [numRows] =; // Les lignes de 0 à 3
octet colPins [numCols] =; // Les colonnes 0 à 3
// initialise une instance de la classe clavier
Clavier myKeypad = clavier (makeKeymap (keymap), rowPins, colPins, nbreLignes, numCols);
void setup()
Serial.begin (9600);
>
// Si la touche est enfoncée, cette touche est stockée dans « keyPressed » variables
// Si la clé ne correspond pas à « NO_KEY », cette clé est imprimé
// si count = 17, alors compte est remis à 0 (ce qui signifie aucune touche est enfoncée pendant tout le processus d'analyse du clavier
void loop ()
carbonisation ToucheEnfoncée = myKeypad.getKey ();
si (keyPressed! = NO_KEY)
Serial.print (keyPressed);
>
>
Avec ce code, une fois que nous appuyer sur une touche du clavier, il devrait apparaître sur le moniteur de série du logiciel une fois que le arduino code est compilé et téléchargé sur la carte arduino.