ESP8266 - Clavier - LCD

Ce tutoriel vous explique comment utiliser l'ESP8266 pour afficher les entrées d'un clavier sur un écran LCD.

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×LCD I2C
1×Keypad 3x4
1×Breadboard
1×Jumper Wires
1×(Optional) 5V Power Adapter for ESP8266
1×(Optional) ESP8266 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

Si vous n'êtes pas familier avec le clavier et l'écran LCD (brochage, fonctionnement, programmation...), les tutoriels suivants peuvent vous aider à les comprendre :

Diagramme de câblage

Schéma de câblage du clavier LCD ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.

Code ESP8266

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-keypad-lcd */ #include <Keypad.h> #include <LiquidCrystal_I2C.h> const int ROW_NUM = 4; //four rows const int COLUMN_NUM = 3; //three columns char key_layout[ROW_NUM][COLUMN_NUM] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'*','0','#'} }; byte pin_rows[ROW_NUM] = {D0, D3, D4, D5}; // The ESP8266 pins connect to the row pins byte pin_column[COLUMN_NUM] = {D6, D7, D8}; // The ESP8266 pins connect to the column pins Keypad keypad = Keypad(makeKeymap(key_layout), 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 column_cursor = 0; void setup(){ lcd.init(); // Initialize the LCD I2C display lcd.backlight(); } void loop(){ char key = keypad.getKey(); if (key) { lcd.setCursor(column_cursor, 0); // move cursor to (column_cursor, 0) lcd.print(key); // print key at (column_cursor, 0) column_cursor++; // move cursor to next position if(column_cursor == 16) { // if reaching limit, clear LCD lcd.clear(); column_cursor = 0; } } }

※ NOTE THAT:

L'adresse du LCD peut varier selon le fabricant. Dans notre code, nous avons utilisé 0x27 qui est spécifié par le fabricant DIYables.

Étapes rapides

Pour commencer avec l’ESP8266 sur l’Arduino IDE, suivez ces étapes :

  • Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est votre première utilisation de l'ESP8266.
  • Câblez les composants comme indiqué dans le schéma.
  • Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
  • Ouvrez Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, telle que (par exemple, NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Connectez un câble USB entre l'ESP8266 et le PC.
  • Ouvrez l'Arduino IDE, sélectionnez la carte et le port appropriés.
  • Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
  • Recherchez "keypad" et localisez la bibliothèque clavier créée par Mark Stanley et Alexander Brevig.
  • Ensuite, appuyez sur le bouton Install pour terminer l'installation de la bibliothèque clavier.
Bibliothèque de clavier ESP8266 NodeMCU
  • Recherchez "LiquidCrystal I2C" et trouvez la bibliothèque LiquidCrystal_I2C par Frank de Brabander.
  • Ensuite, cliquez sur le bouton Install pour l'installer.
Bibliothèque LiquidCrystal I2C pour ESP8266 NodeMCU

Étant donné que les broches de l'ESP8266 ne sont pas suffisantes, nous devons utiliser la broche D8 pour le clavier. Comme mentionné dans le tutoriel ESP8266 - Clavier, lorsque nous utilisons la broche D8 de l'ESP8266 pour une broche de colonne du clavier, nous devons modifier la bibliothèque Keypad de la manière suivante :

  • Trouvez le fichier Arduino\libraries\Keypad\src\Keypad.cpp, allez à la ligne 98, où cela ressemble à ceci : pin_mode(columnPins[c], INPUT);
  • Mettez cette ligne en commentaire. Après modification, le code à la ligne 98 devrait ressembler à ceci : //pin_mode(columnPins[c], INPUT);
  • Copiez le code et ouvrez-le avec l'IDE Arduino.
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour compiler et télécharger le code sur l'ESP8266.
Téléversement de code Arduino IDE
  • Appuyez sur certaines touches du clavier et
  • Observez le résultat affiché sur l'écran LCD.

Si l'affichage LCD ne montre rien, veuillez consulter Dépannage sur LCD I2C pour obtenir de l'aide.

Explication du code

Découvrez l'explication ligne par ligne contenue dans les commentaires du code source !

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!