Arduino - Clavier 1x4

Dans ce tutoriel, nous apprendrons comment utiliser un clavier 1x4 avec un Arduino. Plus en détail, nous apprendrons :

Clavier Arduino 1x4

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B (for USB-A PC)
1×USB 2.0 cable type C/B (for USB-C PC)
1×Keypad 1x4
1×Jumper Wires
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Recommended) Breadboard Shield For Arduino Uno
1×(Recommended) Enclosure For Arduino Uno

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos de Keypad 1x4

Un clavier 1x4 est composé de quatre boutons à membrane disposés en une seule rangée. Il est couramment utilisé pour la saisie de l'utilisateur dans des projets tels que l'entrée de code, la navigation dans les menus ou les interfaces de contrôle.

Brochage

Le clavier 1x4 possède 5 broches, qui ne correspondent pas directement aux étiquettes des touches dans l'ordre. Plus précisément :

  • Broche 1 : connecte à la touche 2
  • Broche 2 : connecte à la touche 1
  • Broche 3 : connecte à la touche 4
  • Broche 4 : connecte à la touche 3
  • Broche 5 : est une broche commune qui connecte à toutes les touches
Configuration des broches du clavier 1x4
image source: diyables.io

Diagramme de câblage

Schéma de câblage du clavier Arduino 1x4

This image is created using Fritzing. Click to enlarge image

Code Arduino

Chaque touche du pavé numérique 1x4 fonctionne comme un bouton. Cela signifie que nous pouvons utiliser la fonction digitalRead() pour vérifier l'état de chaque touche. Cependant, en pratique, comme avec n'importe quel bouton, nous devons gérer le problème du rebondissement, où une seule pression pourrait être détectée à tort comme plusieurs pressions. Pour éviter cela, nous devons anti-rebondir chaque touche. Cette tâche devient difficile lorsqu'on essaie d'anti-rebondir quatre touches sans bloquer d'autres parties du code. Heureusement, la bibliothèque ezButton simplifie ce processus.

#include <ezButton.h> #define KEY_NUM 4 // the number of keys #define PIN_KEY_1 3 // The Arduino pin connected to the key 1 #define PIN_KEY_2 2 // The Arduino pin connected to the key 2 #define PIN_KEY_3 5 // The Arduino pin connected to the key 3 #define PIN_KEY_4 4 // The Arduino pin connected to the key 4 ezButton keypad_1x4[] = { ezButton(PIN_KEY_1), ezButton(PIN_KEY_2), ezButton(PIN_KEY_3), ezButton(PIN_KEY_4) }; void setup() { Serial.begin(9600); for (byte i = 0; i < KEY_NUM; i++) { keypad_1x4[i].setDebounceTime(100); // set debounce time to 100 milliseconds } } void loop() { int key = getKeyPressed(); if (key) { Serial.print("The key "); Serial.print(key); Serial.println(" is pressed"); } } int getKeyPressed() { for (byte i = 0; i < KEY_NUM; i++) keypad_1x4[i].loop(); // MUST call the loop() function first for (byte i = 0; i < KEY_NUM; i++) { // get key state after debounce int key_state = keypad_1x4[i].getState(); // the state after debounce if (keypad_1x4[i].isPressed()) return (i + 1); } return 0; }

Étapes rapides

  • Connectez Arduino au clavier 1x4
  • Connectez Arduino au PC via un câble USB
  • Ouvrez l'IDE Arduino, sélectionnez la bonne carte et le bon port
  • Naviguez vers l'icône Libraries sur la barre de gauche de l'IDE Arduino.
  • Recherchez “ezButton”, puis trouvez la bibliothèque de boutons par ArduinoGetStarted.com
  • Cliquez sur le bouton Install pour installer la bibliothèque ezButton.
Bibliothèque de boutons Arduino
  • Copiez le code ci-dessus et ouvrez-le avec Arduino IDE.
  • Cliquez sur le bouton Upload dans Arduino IDE pour téléverser le code sur Arduino.
  • Ouvrez le Moniteur Série.
  • Appuyez sur les touches du clavier 1x4 une par une.
  • Voyez le résultat dans le Moniteur Série.
COM6
Send
1 2 3 4
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!