Introduction

Un clavier est une interface, c’est-à-dire un dispositif qui permet la communication entre un appareil électronique et un utilisateur. Les touches sont généralement des boutons en plastique reliées chacune à un interrupteur électronique. Le clavier  permet donc à l’utilisateur d’entrer une séquence de données, notamment textuelle. Il existe différents types de clavier comme le clavier d’ordinateur, le clavier d’un téléphone portable. Il existe aussi des claviers virtuels (tablette, smart phone…). Dans ce tutoriel nous parlerons du clavier matriciel qui est beaucoup plus utilisé dans les systèmes de sécurité électroniques.

  1. Description

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.

  • Fonctionnement

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 1, 2, 3, et 4 représentent les lignes dans l’ordre, aussi les pins 5, 6, 7 et 8 représentent les colonnes dans l’ordre.

Utilisation avec Arduino

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.

  • Matériels

-Clavier matriciel 4×4

  • Carte Arduino
  • Fils de connexion

Câblage dans Fritzing

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

1.Code

#include <Keypad.h> // ajout de la bibliothèque au fichier
const byte LIGNES = 4; // nombre de lignes du clavier
const byte COLONNES = 4; // nombre de colonnes du clavier
char touches [LIGNES] [COLONNES] = {{‘1′,’2′,’3′,’A’}, // définition
{‘4′,’5′,’6′,’B’}, {‘7′,’8′,’9′,’C’}, {‘*’,’0′,’#’,’D’}}; // des touches du clavier
byte lignPins [LIGNES] = {11, 10, 9,8}; // se connecter aux pins des lignes du clavier dans l’ordre
byte colPins [COLONNES] = {7, 6, 5,4}; // se connecter aux pins des colonnes du clavier dans l’ordre
char touche; // variable stockant la touche pressée
Keypad clavier = Keypad (makeKeymap (touches), lignPins, colPins, LIGNES, COLONNES);
//création d’un objet keypad : initialisation du clavier
void setup () {
Serial.begin(9600);
Serial.println (“Initialisation du clavier”);
}
void loop () {
touche = clavier.getKey (); // lecture de la touche appuyé
if (touche != NO_KEY) // gestion d’une touche si elle est pressée
{
Serial.println (touche); // affichage du caractère dans le moniteur série
delay(300);
}
}

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.

Les détails ne sont pas renseignés

0.00 average based on 0 ratings

5 Star
0%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%

Course Features

  • Duration : 10 week
  • Max Students : 1000
  • Enrolled : 0
  • Re-take Course : 0
  • Assessments : Self
Price :
Gratuit

Rating

Average Rating: 0.00

Star
0%
Star
0%
Star
0%
Star
0%
Star
0%

Leave a Comment