ESP32 - Pavé numérique 3x4

Ce tutoriel vous explique comment utiliser un ESP32 et un clavier 3x4 avec MicroPython. En détail, nous allons apprendre :

ESP32 MicroPython clavier 3x4

Préparation du matériel

1×Module de développement ESP32 ESP-WROOM-32
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×Membrane Keypad 3x4
1×Fils de connexion
1×Recommandé: Carte d'extension à bornier à vis pour ESP32
1×Recommandé: Breakout Expansion Board for ESP32
1×Recommandé: Répartiteur d'alimentation pour ESP32

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables ESP32 (ESP32 inclus)
1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
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 clavier numérique 3x4

Le pavé numérique 3×4 comporte 12 touches disposées en grille de rangées et de colonnes. Chaque touche représente un bouton.

Schéma de brochage

Un pavé numérique 3x4 comporte 7 broches. Ces broches se répartissent en deux types : lignes et colonnes.

  • 4 broches se connectent aux lignes (R1, R2, R3, R4).
  • 3 broches se connectent aux colonnes (C1, C2, C3).
Schéma de brochage du pavé numérique 3x4

Diagramme de câblage

ESP32 MicroPython – Schéma de câblage du clavier 3x4

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

Comment connecter l'ESP32 et un clavier 3×4

Code MicroPython ESP32

from DIYables_MicroPython_Keypad import Keypad import time NUM_ROWS = 4 NUM_COLS = 3 # Constants for GPIO pins ROW_PINS = [18, 5, 17, 16] # The ESP32 pin GPIO18, GPIO5, GPIO17, GPIO16 connect to the row pins COLUMN_PINS = [4, 0, 2] # The ESP32 pin GPIO4, GPIO0, GPIO2 connect to the column pins # Keymap corresponds to the layout of the keypad 3x4 KEYMAP = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '*', '0', '#'] # Initialize the keypad keypad = Keypad(KEYMAP, ROW_PINS, COLUMN_PINS, NUM_ROWS, NUM_COLS) keypad.set_debounce_time(400) # 400ms, addjust it if it detects twice for single press print("Keypad 3x4 example") # Main loop to check for key presses while True: key = keypad.get_key() if key: print("Key pressed: ", key)

Étapes rapides

Voici des instructions sur la façon de configurer et d’exécuter votre code MicroPython sur l’ESP32 en utilisant l’IDE Thonny :

  • Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
  • Confirmez que le firmware MicroPython est chargé sur votre carte ESP32.
  • Si c'est votre première utilisation d'un ESP32 avec MicroPython, consultez le guide ESP32 - Premiers pas. pour des instructions étape par étape.
  • Connectez votre ESP32 au clavier 3x4 tel qu'indiqué sur le diagramme.
  • Connectez la carte ESP32 à votre ordinateur avec un câble USB.
  • Ouvrez l'IDE Thonny sur votre ordinateur.
  • Dans l'IDE Thonny, allez dans Outils Options.
  • Sous l'onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
  • Assurez-vous que le bon port est sélectionné. L'IDE Thonny le détecte généralement automatiquement, mais vous devrez peut-être le sélectionner manuellement (comme COM12 sur Windows ou /dev/ttyACM0 sur Linux).
  • Accédez à Outils Gérer les packages dans l'IDE Thonny.
  • Recherchez “DIYables-MicroPython-Keypad”, puis trouvez la bibliothèque Keypad créée par DIYables.
  • Cliquez sur DIYables-MicroPython-Keypad, puis cliquez sur le bouton Install pour installer la bibliothèque Keypad.
Bibliothèque Keypad MicroPython ESP32
  • Copiez le code MicroPython fourni et collez-le dans l’éditeur de Thonny.
  • Enregistrez le code sur votre ESP32 en:
    • Cliquer sur le bouton Enregistrer ou appuyer sur Ctrl+S.
    • Dans la boîte de dialogue d’enregistrement, choisissez appareil MicroPython.
    • Nommez le fichier main.py.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour lancer le script.
  • Appuyez sur quelques touches de votre clavier.
  • Vérifiez le message dans le Shell en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot Key pressed: 3 Key pressed: 6 Key pressed: 9 Key pressed: 4 Key pressed: * Key pressed: #
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Si cela ne fonctionne pas, veuillez vérifier attentivement votre câblage. Il est très facile de se tromper lors de la connexion de l'ESP32 au clavier numérique 3x4.

Clavier numérique et mot de passe

Un pavé numérique est souvent utilisé pour saisir un mot de passe. Ici, nous nous concentrons sur deux touches importantes :

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

Le mot de passe sera composé des autres clés, à l'exception de deux clés spéciales qui ne sont pas incluses.

Lorsque vous appuyez sur une touche.

  • Si la touche n'est ni '*' ni '#', incluez-la dans le mot de passe en cours de saisie.
  • Si la touche est '#', vérifiez si le mot de passe saisi est correct, puis effacez-le.
  • Si la touche est '*', effacez le mot de passe.

Pavé numérique - Code du mot de passe

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython 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/esp32-micropython/esp32-micropython-keypad-3x4 */ from DIYables_MicroPython_Keypad import Keypad import time NUM_ROWS = 4 NUM_COLS = 3 # Constants for GPIO pins ROW_PINS = [18, 5, 17, 16] # The ESP32 pin GPIO18, GPIO5, GPIO17, GPIO16 connect to the row pins COLUMN_PINS = [4, 0, 2] # The ESP32 pin GPIO4, GPIO0, GPIO2 connect to the column pins # Keymap corresponds to the layout of the keypad 3x4 KEYMAP = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '*', '0', '#'] # Initialize the keypad keypad = Keypad(KEYMAP, ROW_PINS, COLUMN_PINS, NUM_ROWS, NUM_COLS) keypad.set_debounce_time(400) # 400ms, addjust it if it detects twice for single press # Define the correct password correct_password = "1234" input_password = "" print("Keypad 3x4 password") # Main loop while True: key = keypad.get_key() if key: print(key) if key == '*': input_password = "" # Clear input password elif key == '#': if input_password == correct_password: print("Password is correct") # DO YOUR WORK HERE else: print("Password is incorrect, try again") input_password = "" # Clear input password else: input_password += key # Append new character to input password string
  • Copiez le code ci-dessus et collez-le dans l’éditeur de l’IDE Thonny.
  • Enregistrez le script sur votre ESP32.
  • Saisissez « 123 », puis appuyez sur « # ».
  • Saisissez « 1234 », puis appuyez sur « # ».
  • Vérifiez le message dans le Shell en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot MPY: soft reboot Keypad 3x4 password 1 2 3 # Password is incorrect, try again 1 2 3 4 # Password is correct
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Vidéo

Tutoriels connexes

※ 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 !