Arduino - Bouclier LCD et clavier

Le bouclier LCD Keypad pour Arduino est un module utile qui associe un écran LCD 16x2 à six boutons-poussoirs (Droite, Haut, Bas, Gauche, Sélection et Réinitialisation) pour l'interaction utilisateur. Ce tutoriel vous guidera dans la mise en place et la programmation de ce bouclier à l'aide d'une carte Arduino.

Préparation du matériel

1×Arduino Uno R3
1×Câble USB 2.0 type A/B (pour PC USB-A)
1×Câble USB 2.0 type C/B (pour PC USB-C)
1×LCD Keypad Shield
1×(Recommended) Shield à bornier à vis pour Arduino Uno
1×(Recommended) Shield plaque d'essai pour Arduino Uno
1×(Recommended) Boîtier pour Arduino Uno
1×(Recommended) Kit plaque de base prototypage et plaque d'essai pour Arduino Uno

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables STEM V3 (Arduino 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 bouclier LCD et clavier

Le bouclier LCD avec clavier numérique dispose de :

  • Un écran LCD 16x2 contrôlé par la bibliothèque LiquidCrystal
  • 5 boutons-poussoirs connectés à une seule broche analogique (A0)
  • Un bouton de réinitialisation pour redémarrer l'Arduino
  • Un potentiomètre pour ajuster le contraste de l'écran LCD

Schéma des broches

Répartition des broches du bouclier LCD et clavier

Le tableau ci-dessous illustre la correspondance des broches entre le bouclier LCD avec clavier et l'Arduino lorsque le bouclier est empilé sur la carte.

Shield Pin Function Arduino Pin
DB4 Data 4
DB5 Data 5
DB6 Data 6
DB7 Data 7
RS Register Select 8
E Enable 9
Analog A0 Button Input A0

Bouton de réinitialisation

Le bouclier comprend un bouton de réinitialisation, qui est connecté à la broche de réinitialisation de l'Arduino. En appuyant sur ce bouton, l'Arduino redémarrera et le programme sera réinitialisé.

potentiomètre

Le bouclier comporte un petit potentiomètre près de l'écran LCD. Il sert à régler le contraste de l'écran LCD. Si le texte n'est pas visible, essayez de tourner lentement le potentiomètre pour améliorer la lisibilité.

Diagramme de câblage

Il suffit de brancher le bouclier LCD Keypad sur votre carte Arduino. Les broches s’aligneront automatiquement.

Schéma de câblage du bouclier Arduino LCD et clavier

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

code Arduino

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino/arduino-lcd-keypad-shield */ #include <LiquidCrystal.h> LiquidCrystal lcd(8, 9, 4, 5, 6, 7); void setup() { Serial.begin(9600); Serial.println("Started"); // Debugging lcd.begin(16, 2); lcd.print("Hello!"); delay(3000); } void loop() { int key = analogRead(A0); //Serial.println(key); // Debugging lcd.clear(); if (key < 50) lcd.print("RIGHT"); else if (key < 200) lcd.print("UP"); else if (key < 400) lcd.print("DOWN"); else if (key < 600) lcd.print("LEFT"); else if (key < 800) lcd.print("SELECT"); else if (key < 1000) lcd.print("RST"); // If RST has a value, add here else lcd.print("Press key!"); delay(200); }

Étapes rapides

  • Installez le bouclier LCD Keypad sur votre Arduino
  • Connectez votre Arduino au PC via un câble USB
  • Ouvrez l'IDE Arduino, sélectionnez la bonne carte et le bon port
  • Copiez le code ci-dessus et collez-le dans l'IDE Arduino
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur votre Arduino
  • Appuyez sur chaque bouton du bouclier, un par un, et vérifiez si le texte correspondant apparaît sur l'écran LCD
  • Vérifiez le résultat sur l'écran LCD

Si l'écran LCD reste vide, assurez-vous que :

  • Le bouclier est correctement connecté à l'Arduino.
  • Le potentiomètre est ajusté pour un contraste approprié.
  • Le code téléversé correspond à l'exemple fourni.
  • La carte Arduino est correctement alimentée.

Suivre ces étapes devrait vous aider à faire fonctionner correctement votre bouclier LCD et clavier Arduino !

Pour davantage de fonctions de contrôle de l'affichage LCD, veuillez vous référer à ce tutoriel Arduino LiquidCrystal LCD.

Pour améliorer la modularité et la lisibilité, nous réorganisons le code précédent en fonctions distinctes :

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino/arduino-lcd-keypad-shield */ #include <LiquidCrystal.h> // Define constants for key representations const int KEY_RIGHT = 0; const int KEY_UP = 1; const int KEY_DOWN = 2; const int KEY_LEFT = 3; const int KEY_SELECT = 4; const int KEY_NONE = 5; LiquidCrystal lcd(8, 9, 4, 5, 6, 7); int getKey() { int analogValue = analogRead(A0); //Serial.println(analogValue); // Debugging if (analogValue < 50) return KEY_RIGHT; else if (analogValue < 200) return KEY_UP; else if (analogValue < 400) return KEY_DOWN; else if (analogValue < 600) return KEY_LEFT; else if (analogValue < 800) return KEY_SELECT; else return KEY_NONE; } void setup() { Serial.begin(9600); Serial.println("Started"); // Debugging lcd.begin(16, 2); lcd.print("Hello!"); delay(3000); } void loop() { lcd.clear(); int key = getKey(); switch (key) { case KEY_RIGHT: lcd.print("RIGHT"); break; case KEY_UP: lcd.print("UP"); break; case KEY_DOWN: lcd.print("DOWN"); break; case KEY_LEFT: lcd.print("LEFT"); break; case KEY_SELECT: lcd.print("SELECT"); break; default: lcd.print("Press key!"); break; } delay(200); }

Vidéo

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