ESP32 - Clavier - LCD

Ce tutoriel vous explique comment utiliser l'ESP32 avec le clavier et l'affichage LCD. En détail, nous apprendrons comment afficher la touche pressée sur l'écran LCD.

Préparation du matériel

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×LCD I2C
1×Keypad 3x4 and 4x4 Kit
1×(Alternative) Keypad 3x4
1×(Alternative) Keypad 4x4
1×Breadboard
1×Jumper Wires
1×(Optional) DC Power Jack
1×(Recommended) ESP32 Screw Terminal Adapter

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 clavier et de l'écran LCD

Nous disposons de tutoriels spécifiques sur le clavier et l'écran LCD. Chaque tutoriel contient des informations détaillées et des instructions étape par étape sur le brochage du matériel, le principe de fonctionnement, la connexion des fils à l'ESP32, le code ESP32... Pour en savoir plus, consultez les liens suivants :

Diagramme de câblage

  • Schéma de câblage entre ESP32 et clavier 3x4
Schéma de câblage LCD 3x4 du clavier 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.

  • Schéma de câblage entre ESP32 et clavier 4x4
Schéma de câblage LCD à clavier ESP32

This image is created using Fritzing. Click to enlarge image

Code ESP32 - Clavier 3x4 - LCD I2C

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-keypad-lcd */ #include <Keypad.h> #include <LiquidCrystal_I2C.h> #define ROW_NUM 4 // four rows #define 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] = {19, 18, 5, 17}; // GPIO19, GPIO18, GPIO5, GPIO17 connect to the row pins byte pin_column[COLUMN_NUM] = {16, 4, 0}; // GPIO16, GPIO4, GPIO0 connect to the column pins Keypad keypad = Keypad(makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows int cursorColumn = 0; void setup(){ lcd.init(); // initialize the lcd lcd.backlight(); } void loop(){ char key = keypad.getKey(); if (key) { lcd.setCursor(cursorColumn, 0); // move cursor to (cursorColumn, 0) lcd.print(key); // print key at (cursorColumn, 0) cursorColumn++; // move cursor to next position if(cursorColumn == 16) { // if reaching limit, clear LCD lcd.clear(); cursorColumn = 0; } } }

※ NOTE THAT:

L'adresse I2C de l'écran LCD peut varier selon le fabricant. Dans le code, nous avons utilisé l'adresse 0x27 spécifiée par le fabricant DIYables.

Étapes rapides

  • Si vous utilisez ESP32 pour la première fois, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
  • Faites le câblage comme sur l'image ci-dessus.
  • Connectez la carte ESP32 à votre PC via un câble micro USB.
  • Ouvrez Arduino IDE sur votre PC.
  • Sélectionnez la bonne carte ESP32 (par exemple, ESP32 Dev Module) et le port COM.
  • Cliquez sur l'icône Libraries dans la barre gauche de l'Arduino IDE.
  • Tapez “keypad” dans la zone de recherche, puis cherchez la bibliothèque keypad de Mark Stanley, Alexander Brevig.
  • Cliquez sur le bouton Install pour installer la bibliothèque keypad.
Bibliothèque de clavier ESP32
  • Tapez "LiquidCrystal I2C" dans la zone de recherche, puis cherchez la bibliothèque LiquidCrystal_I2C de Frank de Brabander.
  • Cliquez sur le bouton Install pour installer la bibliothèque LiquidCrystal_I2C.
Bibliothèque LiquidCrystal I2C ESP32
  • Copiez le code ci-dessus et collez-le dans l'IDE Arduino.
  • Compilez et téléchargez le code sur la carte ESP32 en cliquant sur le bouton Upload dans l'IDE Arduino.
Téléversement de code IDE Arduino
  • Appuyez sur quelques touches du clavier
  • Voyez le résultat sur l'écran LCD

Si l'écran LCD n'affiche rien, consultez Dépannage sur LCD I2C

Explication du code ligne par ligne

Le code ESP32 ci-dessus contient des explications ligne par ligne. Veuillez lire les commentaires dans le code !

Code ESP32 - Clavier 4x4 - LCD I2C

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-keypad-lcd */ #include <Keypad.h> #include <LiquidCrystal_I2C.h> #define ROW_NUM 4 // four rows #define COLUMN_NUM 4 // four columns char keys[ROW_NUM][COLUMN_NUM] = { {'1','2','3', 'A'}, {'4','5','6', 'B'}, {'7','8','9', 'C'}, {'*','0','#', 'D'} }; byte pin_rows[ROW_NUM] = {19, 18, 5, 17}; // GPIO19, GPIO18, GPIO5, GPIO17 connect to the row pins byte pin_column[COLUMN_NUM] = {16, 4, 0, 2}; // GPIO16, GPIO4, GPIO0, GPIO2 connect to the column pins Keypad keypad = Keypad(makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows int cursorColumn = 0; void setup(){ lcd.init(); // initialize the lcd lcd.backlight(); } void loop(){ char key = keypad.getKey(); if (key) { lcd.setCursor(cursorColumn, 0); // move cursor to (cursorColumn, 0) lcd.print(key); // print key at (cursorColumn, 0) cursorColumn++; // move cursor to next position if(cursorColumn == 16) { // if reaching limit, clear LCD lcd.clear(); cursorColumn = 0; } } }

Vidéo

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