ESP32 - Clavier 4x4

Ce guide vous apprendra à utiliser un ESP32 avec un clavier matriciel 4x4 sous MicroPython. Nous passerons en revue les étapes suivantes :

Clavier 4x4 MicroPython pour ESP32

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 4x4
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 4x4

Le pavé numérique 4x4 comprend 16 boutons tactiles organisés en lignes et en colonnes, formant une grille. Chaque bouton est appelé une touche.

Schéma des broches

Un clavier 4x4 utilise 8 broches, divisées en deux types : lignes et colonnes.

  • 4 broches se connectent aux rangées (R1, R2, R3, R4).
  • 4 broches se connectent aux colonnes (C1, C2, C3, C4).
Schéma de brochage du clavier 4x4

Diagramme de câblage

  • Comment connecter l'ESP32 et le clavier 4x4 en utilisant breadboard
Schéma de câblage ESP32 MicroPython pour clavier 4×4

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

Comment connecter l'ESP32 et un clavier 4×4.

Code MicroPython pour ESP32

from DIYables_MicroPython_Keypad import Keypad import time NUM_ROWS = 4 NUM_COLS = 4 # Constants for GPIO pins ROW_PINS = [19, 18, 5, 17] # The ESP32 pin GPIO19, GPIO18, GPIO5, GPIO17 connect to the row pins COLUMN_PINS = [16, 4, 0, 2] # The ESP32 pin GPIO16, GPIO4, GPIO0, GPIO2 connect to the column pins # Keymap corresponds to the layout of the keypad 4x4 KEYMAP = ['1', '2', '3', 'A', '4', '5', '6', 'B', '7', '8', '9', 'C', '*', '0', '#', 'D'] # 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 4x4 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 le clavier 4x4 à l'ESP32 comme 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é. Thonny IDE le détecte généralement automatiquement, mais vous pourriez avoir besoin de 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 ESP32 MicroPython pour clavier numérique
  • Copier le code MicroPython fourni et le coller dans l'éditeur de Thonny.
  • Enregistrez le code sur votre ESP32 en procédant comme suit :
    • En cliquant sur le bouton Enregistrer ou en appuyant sur Ctrl+S.
    • Dans la boîte de dialogue d'enregistrement, choisissez périphérique MicroPython.
    • Nommez le fichier main.py.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
  • Appuyez sur quelques touches du clavier matriciel 4x4.
  • Consultez le message dans la Shell en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot Keypad 4x4 example Key pressed: 1 Key pressed: 2 Key pressed: 3 Key pressed: 4 Key pressed: A Key pressed: B Key pressed: C Key pressed: * Key pressed: #
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

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

Clavier numérique et mot de passe

Un pavé numérique est souvent utilisé pour taper un mot de passe. Ici, nous utilisons deux touches spéciales :

  • Une touche pour commencer ou réentrer le mot de passe, comme la touche «*».
  • Une touche pour compléter la saisie du mot de passe, comme la touche «#».

Le mot de passe sera composé d'autres touches, à l'exception des deux touches spéciales. 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. Ensuite, réinitialisez le mot de passe.
  • Si la touche est '*', réinitialisez le mot de passe.

Clavier numérique - Code d'accès

/* * 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-4x4 */ from DIYables_MicroPython_Keypad import Keypad import time NUM_ROWS = 4 NUM_COLS = 4 # Constants for GPIO pins ROW_PINS = [19, 18, 5, 17] # The ESP32 pin GPIO19, GPIO18, GPIO5, GPIO17 connect to the row pins COLUMN_PINS = [16, 4, 0, 2] # The ESP32 pin GPIO16, GPIO4, GPIO0, GPIO2 connect to the column pins # Keymap corresponds to the layout of the keypad 4x4 KEYMAP = ['1', '2', '3', 'A', '4', '5', '6', 'B', '7', '8', '9', 'C', '*', '0', '#', 'D'] # 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 = "1234A" input_password = "" print("Keypad 4x4 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 les touches « 123 » puis appuyez sur « # ».
  • Saisissez les touches « 1234A » puis appuyez sur « # ».
  • Consultez le message dans le Shell en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot MPY: soft reboot Keypad 4x4 password 1 2 3 # Password is incorrect, try again 1 2 3 4 A # 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 !