Panier d’achat

Aucun produit dans le panier.

KEYPAD – CLAVIER 16 BOUTONS MATRICIEL 4×4

35.00 د.م.


  • Clavier à film mince
  • Clavier d’extension externe d’un micro-ordinateur à puce unique
  • 16 boutons, clavier matriciel 4X4
  • Modules d’application de développement étendus.

1 en stock

UGS : CM011 Catégories : , Étiquettes : ,

Tutoriel: Utilisation d’un Clavier 16 Boutons Matriciel 4×4 avec Arduino


Que ce soit une calculatrice ou le digicode d’un immeuble, nous nous servons couramment des claviers. Le clavier 16 boutons matriciel 4×4 est une matrice de 16 boutons dont les états peuvent être détectés par un microcontrôleur (Arduino / ESP / Raspberry).


Matériel

  • Ordinateur
  • Arduino UNO
  • Câble USB A Mâle/B Mâle
  • clavier 16 boutons matriciel 4×4

Principe de fonctionnement

Clavier est un ensemble de 16 boutons qui montés sous forme de matrice, c’est à dire que tous les boutons d’une colonne sont reliés une entrée et tous les boutons d’une même ligne sont reliés à une autre. Lorsqu’on appuie sur un bouton l’entrée correspondant à la ligne est reliée à l’entrée correspondant à la colonne ce qui ferme le circuit. L’avantage de ce type de montage est que l’on peut gérer 16 boutons avec seulement 8 entrées du microcontrôleur.

keypad 4x4 Arduino Maroc principle

Schéma

Le clavier 16 boutons matriciel 4×4 utilise 8 broches de l’Arduino. Il est possible de les brancher sur n’importe quelle broche. Les broches 0 et 1, utilisées pour la connexion série via le port USB, sont à éviter.

KeyPad - Clavier 16 Boutons Matriciel 4x4 avec arduino Maroc

Code

Pour gérer le clavier 16 boutons matriciel 4×4, le principe est de passer chaque entrée des colonnes à l’état haut et de lire la valeur des entrées qui correspondent aux lignes. Si une ligne à la même état que la colonne, c’est qu’un bouton est pressé. En pratique nous pouvons utilise la bibliothèque Keypad.h, qui permet de gérer une matrice de boutons de n’importe quelle taille. Plus d’information visite notre page Facebook.

/* 

* Réaliser par Micro-Electroniques Générales au Maroc 
* Visite notre site megma.ma 

*/ //Libraries #include <Keypad.h>//https://github.com/Chris--A/Keypad //Constants #define ROWS 4 #define COLS 4 //Parameters const char kp4x4Keys[ROWS][COLS]  = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowKp4x4Pin [4] = {9, 8, 7, 6}; byte colKp4x4Pin [4] = {5, 4, 3, 2}; //Variables Keypad kp4x4  = Keypad(makeKeymap(kp4x4Keys), rowKp4x4Pin, colKp4x4Pin, ROWS, COLS); void setup() {   //Init Serial USB   Serial.begin(9600);   Serial.println(F("Initialize System")); } void loop() {   readKp4x4(); } void readKp4x4() { /* function readKp4x4 */   //// Read button states from keypad   char customKey = kp4x4.getKey();   if (customKey) {     Serial.println(customKey);   } }

Bonus: Enregistrer les caractères dans un tableau et les comparer

Pour enregistrer les caractères, nous allons créer un tableau ou array de la taille désirée digits et une variable contenant le nombre de touches appuyées index. Lorsque la chaine de caractères atteint sa taille maximale nous le comparons à une autre chaine de caractères, en utilisant strcmp(), et nous le remettons à zéro. Plus d’information visite notre page Facebook.

/* 

* Réaliser par Micro-Electroniques Générales au Maroc 
* Visite notre site megma.ma 

*/ //Libraries #include <Keypad.h>//https://github.com/Chris--A/Keypad //Constants #define ROWS 4 #define COLS 4 #define DLENGTH 2 //Parameters const char kp4x4Keys[ROWS][COLS]  = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowKp4x4Pin [4] = {9, 8, 7, 6}; byte colKp4x4Pin [4] = {5, 4, 3, 2}; char digits[DLENGTH]; char code[]="A0"; int index=0; //Variables Keypad kp4x4  = Keypad(makeKeymap(kp4x4Keys), rowKp4x4Pin, colKp4x4Pin, ROWS, COLS); void setup() {   //Init Serial USB   Serial.begin(9600);   Serial.println(F("Initialize System")); }  void loop() {   readKp4x4(); } void readKp4x4() { /* function readKp4x4 */   //// Read button states from keypad   char customKey = kp4x4.getKey();   if (customKey) {     Serial.println(customKey);    digits[index]=customKey;     index=index+1;     if(index==DLENGTH) {       Serial.println(digits);       index=0;       if(strcmp(digits,code)==0) {        Serial.println(F("Code bon !"));       }     }   } } 

Applications

  • Créer une interface avec plusieurs boutons
  • Créer une serrure actionnée par digicode
  • Développer une alarme qui s’active ou se désactive à l’aide d’un mot de passe

Plus d’information visite notre page Facebook.


 

Avis

Il n’y a pas encore d’avis.

Soyez le premier à laisser votre avis sur “KEYPAD – CLAVIER 16 BOUTONS MATRICIEL 4×4”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Tous les résultats de recherche
×