Retour

Afficheur LCD 20x4 avec Arduino — Hello World dans Velxio

Introduction

Bienvenue dans un nouveau tutoriel Velxio ! Aujourd’hui, nous allons construire un projet classique Hello World en utilisant un afficheur LCD 20x4 et un Arduino Uno. C’est un projet parfait pour les débutants qui souhaitent apprendre à interfacer des afficheurs LCD à caractères avec des microcontrôleurs. Nous utiliserons la célèbre bibliothèque LiquidCrystal, qui simplifie grandement le contrôle de l’afficheur.

À la fin de cet article, vous serez capable de câbler un LCD 20x4, d’écrire du code pour afficher du texte sur plusieurs lignes, et même d’afficher des données dynamiques comme la durée de fonctionnement. C’est parti !

Schéma du circuit

Schéma du circuit lcd-hello sur le canevas du simulateur Velxio

Notre circuit se compose de deux éléments principaux : un Arduino Uno et un LCD 20x4 (modèle wokwi-lcd2004). L’afficheur possède 16 broches, mais nous n’en avons besoin que de 6 pour les données et le contrôle. Voici le câblage :

Nous utilisons le mode 4 bits, qui ne nécessite que quatre lignes de données (D4–D7) au lieu de huit. Cela permet d’économiser de précieuses broches d’E/S. L’affiche a également besoin d’alimentation (5V) et de masse, mais dans Velxio, ces connexions sont automatiques lors du placement des composants.

Pour construire ce circuit dans Velxio :

  1. Ouvrez l’exemple LCD Hello World ou démarrez un nouveau projet.
  2. Utilisez le sélecteur de composants pour ajouter un Arduino Uno et un LCD 20x4. Fenêtre modale du sélecteur de composants Velxio parcourant les pièces par catégorie
  3. Cliquez sur les broches et faites glisser les fils pour correspondre aux connexions ci-dessus. Vous pouvez changer la couleur des fils en cliquant sur l’échantillon de couleur.
  4. Votre canevas devrait ressembler au schéma de circuit ci-dessus.

Explication du code

Code source de lcd-hello dans l'éditeur Monaco de Velxio

Examinons maintenant le code. Ouvrez l’éditeur de code dans Velxio (vous verrez l’éditeur Monaco avec coloration syntaxique). Voici le sketch complet :

// LiquidCrystal Library - Hello World
// Demonstrates the use a 20x4 LCD display

#include <LiquidCrystal.h>

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(20, 4);
  // Print a message to the LCD.
  lcd.print("Hello, Arduino!");
  lcd.setCursor(0, 1);
  lcd.print("Velxio Emulator");
  lcd.setCursor(0, 2);
  lcd.print("LCD 2004 Test");
}

void loop() {
  // set the cursor to column 0, line 3
  lcd.setCursor(0, 3);
  // print the number of seconds since reset:
  lcd.print("Uptime: ");
  lcd.print(millis() / 1000);
}

Comment ça fonctionne

  1. Inclure la bibliothèque : #include <LiquidCrystal.h> nous donne accès à toutes les fonctions LCD.
  2. Définir les broches : Nous créons des constantes pour les numéros de broches : rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2. Elles correspondent à notre câblage.
  3. Créer l’objet LCD : LiquidCrystal lcd(rs, en, d4, d5, d6, d7); indique à la bibliothèque quelles broches sont connectées.
  4. Dans setup() :
    • lcd.begin(20, 4); initialise l’afficheur avec 20 colonnes et 4 lignes.
    • lcd.print() écrit du texte à la position actuelle du curseur.
    • lcd.setCursor(col, ligne) déplace le curseur à une position spécifique (indexée à partir de 0).
  5. Dans loop() :
    • Nous déplaçons le curseur à la ligne 3, colonne 0.
    • Nous affichons “Uptime: ” suivi de millis() / 1000 (secondes depuis la réinitialisation).

Pour exécuter le code, cliquez sur le bouton Compiler dans la barre d’outils, puis sur Exécuter. Barre d'outils de l'éditeur Velxio avec les contrôles de compilation et d'exécution Barre d'outils du canevas Velxio au-dessus de la fenêtre de simulation

Concepts clés

Pièges courants et conseils de débogage

Extensions suggérées

Une fois que le Hello World de base fonctionne, essayez ces améliorations :

  1. Texte défilant : Utilisez lcd.scrollDisplayLeft() ou lcd.scrollDisplayRight() pour créer des messages défilants.
  2. Afficher des données de capteur : Lisez un capteur analogique (par exemple, un potentiomètre) et affichez sa valeur sur le LCD.
  3. Caractères personnalisés : Créez vos propres symboles avec lcd.createChar().
  4. Entrée par bouton : Ajoutez un bouton pour changer le message affiché.
  5. Plusieurs écrans : Utilisez une machine d’états pour parcourir différentes pages d’informations.

Essayez par vous-même !

Prêt à construire votre propre projet LCD ? Ouvrez l’exemple LCD Hello World dans Velxio et commencez à expérimenter. Vous pouvez modifier le code, changer le câblage ou ajouter de nouveaux composants — le tout dans votre navigateur, sans matériel requis.

Bonnes créations !


Partager sur :
David Montero

Écrit par

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

Articles liés


Article précédent
Écho série avec Arduino : Apprenez la communication USART
Article suivant
Démo d'affichage TFT ILI9341 — Graphismes et balle rebondissante sur Arduino