Comment utiliser un clavier avec arduino ?

Estimated read time 4 min read

A la fin de ce tutoriel vous serez capable d’intégrer un clavier dans vos projets électroniques, de lire les valeurs qu’on a tapé sur un clavier et de les afficher sur un afficheur LCD.

Les claviers numériques, ou keypad en anglais, sont très utilisés dans notre quotidien, on peut les trouver dans les calculatrices, téléphone, guichet automatique… ils représentent une solution incontournable pour vérifier un code de sécurité ou encore modifier les paramètres d’un menu… il existe plusieurs modèles de keypad matriciel dans le marché, avec différentes formes et un nombre de boutons diffèrent(4×4 ou 4×3 …), et puisque leur principe de fonctionnement reste le même, on va s’intéresser dans ce tutoriel plutôt au clavier matriciel de type 4×4.

Un clavier numérique est constitué d’un ensemble de bouton poussoir réunis en matrice (sous forme de ligne et de colonne) afin de réduire le nombre de broche nécessaire pour lire leurs états séparément. Entre autres pour lire l’état de 16 boutons poussoirs il faut avoir 16 pins numériques, On pourrait raccorder 16 pins d’un coté au 5v ou à la masse et de l’autre côté aux 16 pins numériques, cependant un clavier 4×4 qui contient 16 boutons ne demande que 8 pins, 4 pins pour les 4 colonnes et 4 pins pour les 4 lignes.

Il m’est apparu nécessaire de mener une analyse plus détaillée sur le principe de fonctionnement d’un clavier numérique, cela peut vous aider à fabriquer le vôtre ou ça pourrait être aussi une source d’inspiration dans vos futurs projets.

Pour commencer, imaginer qu’on a une maille constituée de 4 lignes et 4 colonnes posés les uns sur les autres et sans qu’il y aura des connexions entre les lignes et les colonnes, comme il est indiqué dans le figure ci-dessous, c’est-à-dire que les lignes et les colonnes sont parfaitement isolés entre eux.

Dans chaque nœud, croisement entre ligne et colonne, on met un bouton poussoir de telle manière que l’une de ses broches sera liée à une ligne et l’autre à une colonne, comme il est indiqué sur la figure ci-dessus.  Par conséquence on appuyant sur un bouton poussoir le courant électrique va passer de la lige connectée au bouton poussoir en question vers la colonne liée à celui-ci. Prenons l’exemple de la figure ci-dessous : si on appui sur le bouton N°2 le courant va passer de la ligne 1 vers la colonne 2, de cette manière le courant sera détecté sur la broche d’arduino associée à la colonne en question.

Mais il reste un seul petit problème, si on appuie en même temps sur plusieurs boutons qui se trouve sur la même colonne comment notre carte Arduino peut savoir lequel de ces boutons est fermé, puisque, comme dans le cas où appuie sur un seul bouton ou dans le cas où on appuie sur plusieurs boutons, de toute façon Arduino va détecter une impulsion sur la colonne en question ?

L’astuce pour dénouer à ce problème est d’envoyer des impulsions de très courte durée successivement sur chaque ligne est ensuite de lire les valeurs de courant sur chaque colonne, de manière à répéter ce processus une dizaine de fois par seconde. 

Maintenant que vous avez compris comment un clavier numérique fonctionne, on va faire un petit programme afin de coroner notre tutoriel :

 Programme :

Le but de ce montage est de réussir à lire les valeurs tapées sur le clavier numérique 4×4 et de les afficher sur un moniteur série et un afficheur LCD.

Matériel nécessaire :

  • Clavier matriciel (keypad) 4×4
  • Afficheur LCD avec module i2c
  • Carte arduino
  • 8 fils mal-mal
  • 4 fils mal-femelle

Bibliothèques utilisé :

  • « Keypad.h » 
  • « LiquidCrystal_I2C.h » 

You May Also Like

More From Author

+ There are no comments

Add yours