Ce que vous apprendrez

Comme son nom l’indique il est représenté selon un schéma matriciel. Il en existe de plusieurs types : 4×4, 3×4, 4×5… Nous utiliserons le type 4×4. Ce clavier comprend 16 touches disposées en 4 lignes et 4 colonnes. L’appui sur une touche fait communiquer une ligne avec une colonne.

Prérequis

aucun

Contenu du cours

Que ce soit une calculatrice ou le digicode d’un immeuble, nous nous servons couramment des claviers numériques. Le clavier numérique 4×4 est une matrice de 16 boutons dont les états peuvent être détectés par un microcontrôleur.
KeyPad 16 touches - avec et sans membrane - MCHobby - Le Blog

Image : Clavier matriciel 4*4

Chaque touche correspond à une ligne et à une colonne. Les lignes sont des sorties. Les colonnes sont des entrées maintenues au niveau haut  par une résistance interne à Arduino. Nous n’entrerons pas dans les détails de la programmation vu que les programmeurs ont pensé à tout. Ils ont écrit une bibliothèque qui nous facilite la tâche.
Les pins L1, L2, L3, et L4 représentent les lignes dans l’ordre, aussi les pins C1, C2, C3 et C4 représentent les colonnes dans l’ordre.

Avant de continuer, allez vérifier si vous disposez de la bibliothèque parlée précédemment, Keypad.h. Ouvrez votre IDE puis effectuez cette action après avoir ouvert la barre de menu :

  • Croquis -> Inclure une bibliothèque. Défilez donc pour voir si vous disposez  de cette bibliothèque.

Dans le cas où vous ne l’aurez pas suivez les instructions suivantes :

  • Croquis -> Inclure une bibliothèque -> Gérer les bibliothèques ;
  • Ensuite recherchez clavier, une fois trouvé, cliquez sur son entrée et le bouton d’installation apparaitra ;

Voici quelques fonctions de cette bibliothèque :

  • char waitForKey (), elle attend l’appui sur une touche ;
  • char getKey (), elle retourne la valeur de la touche pressée, dans le cas contraire elle retourne la constante NO_KEY ;
  • char getState (), elle renvoie l’état d’une touche ;
  • setHoldTime (unsigned int hour), elle définit le temps que doit durer l’appui sur une touche pour être prise en compte ;
  • setDebounceTime (unsigned int hour), elle empêche la prise en compte de la touche trop proche du précédent ;
  • addEventListener (keypadEvent), elle déclenche un évènement si le clavier est utilisé.

Dans notre programme nous utiliserons getKey (). Les autres explications suivront dans le code.

  • Clavier matriciel 4×4
  • Carte Arduino
  • Fils de connexion

Câblage dans Fritzing

  • Connectez la ligne 1 au pin 9
  • Connectez la ligne 2 au pin 8
  • Connectez la ligne 3 au pin 7
  • Connectez la ligne 4 au pin 6
  • Connectez la colonne 1 au pin 5
  • Connectez la colonne 2 au pin 4
  • Connectez la colonne 3 au pin 3
  • Connectez la colonne 4 au pin 2

Chine Insaisissable Maison clavier arduino uno fond décran bêche batterie

.Code

Il est possible d’utiliser un autre clavier pour gérer d’autres caractères de votre choix. Il suffit juste de l’ajouter au câblage et de reprendre le même processus que dans le code ci-dessus en utilisant d’autres noms pour vos nouvelles variables et votre deuxième clavier. Vous pouvez donc initialiser vos nouveaux caractères de la manière suivant identique à celle faite dans le code :

char TOUCHES [LIGNES] [COLONNES] = {{‘a’,’b’,’c’,’d’}, {‘e’,’f’,’g’,’h’}, {‘i’,’j’,’k’,’l’}, {‘m’,’n’,’o’,’p’}};

Ce qui voudrait dire que si vous pressez la touche ‘1’ du clavier, vous envoyez à l’Arduino le caractère ‘a’. 

Nous sommes donc à la fin de ce tutoriel, nous espérons avoir comblé vos attentes.

 A très bientôt pour d’autres aventures.

Fonctionnement d'un clavier matriciel.

Catégorie

Electronique

Durée

01:00:00

Nombre de vidéos

0

Certificat de fin de formation

NON