ESP32 - Clavier 1x4

Dans ce guide, nous découvrirons comment utiliser un clavier 1x4 avec un ESP32. Nous aborderons :

Clavier ESP32 1x4

Préparation du matériel

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×Keypad 1x4
1×Jumper Wires
1×(Recommended) Screw Terminal Expansion Board for ESP32
1×(Recommended) Power Splitter For ESP32

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 du pavé numérique 1x4

Un clavier 1x4 dispose de quatre boutons à membrane alignés en ligne. Il est souvent utilisé pour permettre aux utilisateurs de saisir des données, comme des mots de passe, de naviguer dans des menus ou de contrôler des appareils.

Schéma de broches

Le clavier 1x4 a 5 broches. La disposition de ces broches ne correspond pas à l'ordre des étiquettes des touches.

  • Broche 1 : reliée à la clé 2
  • Broche 2 : reliée à la clé 1
  • Broche 3 : reliée à la clé 4
  • Broche 4 : reliée à la clé 3
  • Broche 5 : connectée à toutes les clés et est une broche commune
Pavé numérique 1x4 Schéma de broches
image source: diyables.io

Diagramme de câblage

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

This image is created using Fritzing. Click to enlarge image

Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.

Code ESP32

Chaque touche du pavé numérique 1x4 fonctionne comme un bouton. Cela nous permet d'utiliser la fonction digitalRead() pour vérifier l'état de chaque touche. Mais, tout comme d'autres boutons, ces touches peuvent « rebondir ». Cela signifie qu'une seule pression peut être détectée comme de nombreuses pressions. Pour résoudre ce problème, nous devons ébavurer chaque touche. Faire cela pour quatre touches sans interrompre d'autres parties du code peut être difficile. Heureusement, la bibliothèque ezButton facilite les choses.

#include <ezButton.h> #define KEY_NUM 4 // the number of keys #define PIN_KEY_1 26 // The ESP32 pin GPIO26 connected to the key 1 #define PIN_KEY_2 25 // The ESP32 pin GPIO25 connected to the key 2 #define PIN_KEY_3 14 // The ESP32 pin GPIO14 connected to the key 3 #define PIN_KEY_4 27 // The ESP32 pin GPIO27 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

  • Si c'est la première fois que vous utilisez l'ESP32, consultez Installation du logiciel ESP32..
  • Connectez l'ESP32 au clavier 1x4.
  • Connectez la carte ESP32 à votre PC via un câble USB.
  • Ouvrez l'IDE Arduino sur votre PC.
  • Sélectionnez la bonne carte ESP32 (par exemple, ESP32 Dev Module) et le port COM.
  • Naviguez vers l'icône Libraries dans la barre gauche de l'IDE Arduino.
  • Cherchez « 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 et ouvrez-le dans l'IDE Arduino
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour envoyer le code à l'ESP32
  • Ouvrez le Moniteur Série
  • Appuyez sur chaque touche du clavier 1x4
  • Vérifiez les résultats 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!