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

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 :
- RS (Register Select) – connecté à la broche 12 de l’Arduino (fil vert)
- E (Enable) – connecté à la broche 11 de l’Arduino (fil vert)
- D4 – connecté à la broche 5 de l’Arduino (fil bleu)
- D5 – connecté à la broche 4 de l’Arduino (fil bleu)
- D6 – connecté à la broche 3 de l’Arduino (fil bleu)
- D7 – connecté à la broche 2 de l’Arduino (fil bleu)
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 :
- Ouvrez l’exemple LCD Hello World ou démarrez un nouveau projet.
- Utilisez le sélecteur de composants pour ajouter un Arduino Uno et un LCD 20x4.

- 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.
- Votre canevas devrait ressembler au schéma de circuit ci-dessus.
Explication du code

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
- Inclure la bibliothèque :
#include <LiquidCrystal.h>nous donne accès à toutes les fonctions LCD. - 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. - Créer l’objet LCD :
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);indique à la bibliothèque quelles broches sont connectées. - 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).
- 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.

Concepts clés
- Mode 4 bits vs 8 bits : Utiliser seulement 4 lignes de données (D4–D7) économise des broches. La bibliothèque LiquidCrystal gère le protocole.
- Positionnement du curseur :
setCursor(col, ligne)– rappelez-vous que les lignes et les colonnes commencent à 0. millis(): Renvoie le nombre de millisecondes écoulées depuis le démarrage du programme. Diviser par 1000 donne les secondes.- Gestion des bibliothèques : Velxio inclut la bibliothèque LiquidCrystal par défaut. Vous pouvez en ajouter d’autres via le Gestionnaire de bibliothèques.

Pièges courants et conseils de débogage
- Erreurs de câblage : Vérifiez que chaque fil connecte les bonnes broches. Un échange entre D4 et D5 provoquera des caractères illisibles.
- Mauvaises dimensions dans
begin(): Si vous utilisezlcd.begin(16, 2)avec un afficheur 20x4, le texte peut apparaître tronqué ou mal aligné. - Bibliothèque manquante : Si vous obtenez une erreur de compilation concernant
LiquidCrystal.h, assurez-vous que la bibliothèque est installée (elle devrait l’être par défaut). - Curseur invisible : Le curseur est invisible par défaut. Utilisez
lcd.cursor()pour afficher un curseur de soulignement. - Texte qui ne se met pas à jour : Dans la boucle, vous devrez peut-être effacer la ligne avant d’afficher de nouvelles données. Utilisez
lcd.setCursor(0, 3); lcd.print(" ");pour effacer la ligne.
Extensions suggérées
Une fois que le Hello World de base fonctionne, essayez ces améliorations :
- Texte défilant : Utilisez
lcd.scrollDisplayLeft()oulcd.scrollDisplayRight()pour créer des messages défilants. - Afficher des données de capteur : Lisez un capteur analogique (par exemple, un potentiomètre) et affichez sa valeur sur le LCD.
- Caractères personnalisés : Créez vos propres symboles avec
lcd.createChar(). - Entrée par bouton : Ajoutez un bouton pour changer le message affiché.
- 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 !