Arduino UNO R4 - clavier numérique 3x4

Ce tutoriel vous explique comment utiliser l'Arduino UNO R4 avec un clavier 3×4. En détail, nous allons apprendre :

Clavier numérique 3x4 Arduino UNO R4

À propos du pavé numérique 3×4

Le clavier à membranes comporte 12 boutons, disposés en rangées et en colonnes, que l'on appelle une matrice. Chaque bouton est appelé une touche.

Brochage

Un clavier 3x4 possède 7 broches, réparties en deux catégories : lignes et colonnes.

  • 4 broches sont destinées aux lignes (R1, R2, R3, R4).
  • 3 broches sont destinées aux colonnes (C1, C2, C3).
Plan de brochage du clavier 3x4

Diagramme de câblage

Schéma de câblage du clavier 3x4 pour Arduino UNO R4

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Voir Comment alimenter l'Arduino UNO R4..

Code pour Arduino UNO R4

#include <DIYables_Keypad.h> // DIYables_Keypad library const int ROW_NUM = 4; // four rows const int COLUMN_NUM = 3; // three columns char keys[ROW_NUM][COLUMN_NUM] = { { '1', '2', '3' }, { '4', '5', '6' }, { '7', '8', '9' }, { '*', '0', '#' } }; byte pin_rows[ROW_NUM] = { 9, 8, 7, 6 }; //connect to the row pinouts of the keypad byte pin_column[COLUMN_NUM] = { 5, 4, 3 }; //connect to the column pinouts of the keypad DIYables_Keypad keypad = DIYables_Keypad(makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM); void setup() { Serial.begin(9600); delay(1000); Serial.println("Keypad 3x4 example"); } void loop() { char key = keypad.getKey(); if (key) { Serial.println(key); } }

Étapes rapides

Suivez ces instructions étape par étape :

  • Si c'est la première fois que vous utilisez l'Arduino Uno R4 WiFi/Minima, consultez le tutoriel sur Arduino UNO R4 - Installation du logiciel..
  • Connectez l'Arduino Uno R4 au clavier numérique 3x4 selon le diagramme fourni.
  • Connectez l'Arduino Uno R4 à votre ordinateur à l'aide d'un câble USB.
  • Lancez l'IDE Arduino sur votre ordinateur.
  • Sélectionnez la carte Arduino Uno R4 appropriée (par exemple, Arduino Uno R4 WiFi) et le port COM.
  • Accédez à l'icône Libraries sur le côté gauche de l'IDE Arduino.
  • Tapez DIYables_Keypad dans la barre de recherche, et recherchez la bibliothèque de keypad par DIYables.io.
  • Appuyez sur le bouton Install pour installer la bibliothèque keypad.
Bibliothèque de clavier pour Arduino UNO R4
  • Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino.
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur l'Arduino UNO R4.
  • Ouvrez le moniteur série.
  • Appuyez sur quelques touches du pavé numérique.
  • Vérifiez les résultats dans le moniteur série.
COM6
Send
3 6 9 4 * #
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Pavé numérique et mot de passe

Un usage courant d'un clavier numérique consiste à saisir un mot de passe. Dans ce contexte, nous mettons en évidence deux touches spéciales :

  • Une touche pour commencer ou recommencer la saisie du mot de passe. Par exemple, la touche "*"
  • Une touche pour terminer la saisie du mot de passe. Par exemple, la touche "#"

Le mot de passe sera composé des touches restantes, en excluant deux touches spéciales choisies.

Lorsqu'une touche est pressée.

  • Si la touche n'est ni «*» ni «#», ajoutez la touche au mot de passe que l'utilisateur est en train de saisir.
  • Si la touche est «#», vérifiez si le mot de passe saisi par l'utilisateur correspond au mot de passe défini, puis effacez le mot de passe saisi.
  • Si la touche est «*», effacez le mot de passe saisi.

Pavé numérique - Code d'accès

/* * Ce code Arduino UNO R4 a été développé par newbiely.fr * Ce code Arduino UNO R4 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-uno-r4/arduino-uno-r4-keypad-3x4 */ #include <DIYables_Keypad.h> // DIYables_Keypad library const int ROW_NUM = 4; //four rows const int COLUMN_NUM = 3; //three columns char keys[ROW_NUM][COLUMN_NUM] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'*','0','#'} }; byte pin_rows[ROW_NUM] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad byte pin_column[COLUMN_NUM] = {5, 4, 3}; //connect to the column pinouts of the keypad DIYables_Keypad keypad = DIYables_Keypad( makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); const String password = "1234"; // change your password here String input_password; void setup(){ Serial.begin(9600); Serial.println("Keypad 3x4 password"); input_password.reserve(32); // maximum input characters is 33, change if needed } void loop(){ char key = keypad.getKey(); if (key){ Serial.println(key); if(key == '*') { input_password = ""; // clear input password } else if(key == '#') { if(password == input_password) { Serial.println("password is correct"); // DO YOUR WORK HERE } else { Serial.println("password is incorrect, try again"); } input_password = ""; // clear input password } else { input_password += key; // append new character to input password string } } }
  • Exécutez le code fourni ci-dessus.
  • Ouvrez le Moniteur Série.
  • Saisissez les touches «123456» puis appuyez sur «#».
  • Saisissez les touches «1234» puis appuyez sur «#».
  • Vérifiez les résultats sur le Moniteur Série.
COM6
Send
password is incorrect, try again password is correct
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !