Un module d’affichage LCD 16x2 est un simple affichage textuel permettant d’afficher des informations courtes dans les circuits électroniques. Il peut afficher des valeurs, des messages, des étiquettes de menus et l’état du système sans écran graphique. Il fonctionne avec un câblage parallèle ou I2C et est courant dans les projets Arduino, compteurs, minuteurs et panneaux de contrôle. Cet article fournit des informations sur le câblage, le fonctionnement et la configuration.

Qu’est-ce qu’un module d’affichage LCD 16x2 ?
Un module d’affichage LCD 16x2 est un affichage textuel utilisé pour afficher des informations courtes dans les circuits électroniques. Il n’est pas conçu pour des graphismes complets comme les écrans OLED ou TFT. Il est préférable d’obtenir des informations simples telles que les relevés de tension, les valeurs de température, les données du minuteur, les messages système et les étiquettes de menu.
Chaque caractère est formé à l’aide d’une petite matrice de points, généralement de 5x8 points. Parce que l’écran est simple, abordable et pris en charge, il reste un choix courant pour l’électronique DIY, les panneaux de contrôle et les systèmes embarqués.
Spécifications du module d’affichage LCD 16x2
| Spécification | Valeur |
|---|---|
| Format d’affichage | 16 caractères × 2 lignes |
| Matrice de caractères | 5 × 8 points |
| Total des pixels | 1280 pixels (32 caractères × 40 pixels chacun) |
| IC de contrôleur | HD44780U ou compatibles |
| Tension de fonctionnement | 5V DC |
| Courant de fonctionnement | 1-3 mA (sans rétroéclairage) |
| Courant de rétroéclairage | 120-200 mA |
| Température de fonctionnement | 0°C à +50°C |
| Modes de communication | 4 bits ou 8 bits parallèle |
| Total Pins | 16 quilles |
Fonctions de brochage et de brochage LCD 16x2

| Sr. No | Épingle n° | Nom postal | Type de goupille | Description de la broche | Connexion de broches |
|---|---|---|---|---|---|
| 1 | Épingle 1 | Terrain | Épingle source | C’est une broche de masse de l’écran LCD | Connecté à la terre du MCU/source d’alimentation |
| 2 | Broche 2 | VCC | Épingle source | C’est la broche de tension d’alimentation de l’écran LCD | Connecté à la broche d’alimentation de la source d’alimentation |
| 3 | Broche 3 | V0/VEE | Goupille de contrôle | Ajuste le contraste du LCD. | Connecté à un POT variable pouvant fournir de 0 à 5V |
| 4 | Épingle 4 | Inscrivez-vous Sélectionnez | Goupille de contrôle | Bascule entre le registre de commande/données | Je suis connecté à une broche MCU et obtient soit 0 soit 1. |
| 0 -> Mode de commande | |||||
| 1-> Mode Données | |||||
| 5 | Épingle 5 | Lecture/Écriture | Goupille de contrôle | Bascule l’écran LCD entre l’opération lecture/écriture | Je suis connecté à une broche MCU et obtient soit 0 soit 1. |
| 0 -> Opération d’écriture | |||||
| 1-> Opération de lecture | |||||
| 6 | Broche 6 | Activer | Goupille de contrôle | Doit être maintenu en hauteur pour effectuer l’opération de lecture/écriture | Connecté au MCU et toujours resté élevé. |
| 7 | Broches 7-14 | Bits de données (0-7) | Broche de données/commande | Les broches sont utilisées pour envoyer des commandes ou des données au LCD. | En mode 4 fils |
| Seules 4 broches (0-3) sont connectées au MCU | |||||
| En mode 8 fils | |||||
| Les 8 broches (0-7) sont toutes connectées au MCU | |||||
| 8 | Broche 15 | LED positive | Broche LED | Fonctionnement normal de type LED pour illuminer l’écran LCD | Connecté à +5V |
| 9 | Broche 16 | LED négatif | Broche LED | Fonctionnement normal de type LED pour illuminer l’écran LCD connecté au GND. | Connecté à la terre |
Comment fonctionne un écran LCD 16x2 ?

Un écran LCD 16x2 reçoit des commandes et des données de caractères d’un microcontrôleur. Les commandes contrôlent des actions telles que vider l’écran, déplacer le curseur et allumer ou éteindre l’affichage. Les données de caractères indiquent à l’écran LCD quelles lettres, chiffres ou symboles afficher.
La broche RS sélectionne si le signal entrant est une commande ou une donnée d’affichage. La broche E permet le transfert. Les broches de données transportent les informations réelles. Le contrôleur LCD place alors les caractères à la bonne position d’affichage.
Modes de câblage LCD 16x2 : 4 bits, 8 bits et I2C

| Mode | Broches utilisées pour les données | Principal avantage | Limitation | Meilleur pour |
|---|---|---|---|---|
| Mode 4 bits | D4, D5, D6, D7 | Économise les broches GPIO | Légèrement plus lent que le mode 8 bits | Projets Arduino, menus simples, écrans de capteurs |
| Mode 8 bits | D0 à D7 | Envoie un octet complet d’un coup | Utilise plus de broches GPIO | Anciens systèmes ou conceptions avec de nombreuses broches libres |
| Mode I2C | SDA et SCL | Réduit le câblage | Besoin d’adresse et de bibliothèque correctes | Projets compacts et câblage plus propre |
Comment connecter un écran LCD 16x2 à un Arduino ?

La connexion Arduino la plus courante utilise le mode 4 bits. Cette méthode utilise quatre broches de données LCD et quelques broches de contrôle.
| Broche LCD | Connectez-vous à Arduino | But |
|---|---|---|
| VSS | GND | Terrain |
| VDD | 5V | Alimentation LCD |
| V0 / VEE | Broche centrale du potentiomètre | Contrôle du contraste |
| RS | Broche numérique Arduino | Sélectionne commande ou données |
| RW | GND | Mode d’écriture |
| E | Broche numérique Arduino | Activer le signal |
| D4-D7 | Broches numériques Arduino | Transfert de données |
| A / LED+ | 5V via résistance, si nécessaire | Rétroéclairage positif |
| K / LED- | GND | Contre-jour négatif |
Exemple de code Arduino
#include
// RS, E, D4, D5, D6, D7
LiquidCrystal LCD (12, 11, 5, 4, 3, 2) ;
void setup() {
LCD.BEGIN (16, 2) ;
lcd.print (« 16x2 LCD prêt « ) ;
lcd.setCursor(0, 1) ;
lcd.print (« Hello World » ») ;
}
boucle du vide() {
}
Ce code initialise l’écran LCD et imprime le texte sur les deux lignes.
Comment utiliser un écran LCD 16x2 avec un module i2C ?

Un écran LCD I2C 16x2 possède une petite carte sac à dos fixée à l’écran. Cette carte convertit l’interface parallèle normale en une interface de communication à deux fils utilisant SDA et SCL.
La version I2C est utile lorsque le projet a peu de broches de microcontrôleur ou nécessite un câblage plus propre. Il n’a besoin que de VCC, GND, SDA et SCL.
Exemple de code LCD I2C de base
#include
#include
Adresses I2C courantes : 0x27 ou 0x3F
LiquidCrystal_I2C LCD(0x27, 16, 2) ;
void setup() {
lcd.init() ;
LCD.rétroéclairage() ;
lcd.setCursor(0, 0) ;
lcd.print (« I2C LCD Ready ») ;
lcd.setCursor(0, 1) ;
lcd.print (« Adresse : 0x27 ») ;
}
boucle du vide() {
}
Si l’écran ne répond pas, utilisez un scanner I2C pour trouver la bonne adresse.
LCD parallèle 16x2 vs LCD I2C 16x2

| Fonctionnalité | LCD parallèle 16x2 | I2C LCD 16x2 |
|---|---|---|
| Câblage | Utilise plus de fils | Utilise moins de fils |
| Utilisation du GPIO | Plus haut | Lower |
| Configuration du code | Utilise le cartographie directe des broches | Utilise l’adresse I2C |
| Focus sur le dépannage | Ordre des broches, RS, E, lignes de données | Adresse, SDA/SCL, bibliothèque |
| Valeur d’apprentissage | Mieux pour comprendre les signaux LCD | Mieux pour construire rapidement des projets |
| Coût | Moins cher | Généralement légèrement plus haut |
| Meilleure utilisation | Contrôle direct et apprentissage | Projets de câblage compact et GPIO limité |
Problèmes courants de LCD 16x2 et dépannage
| Problème | Cause possible | Solution |
|---|---|---|
| Le rétroéclairage s’allume, mais aucun texte n’apparaît | Mauvais contraste ou échec d’initialisation | Ajuster le contraste et vérifier le code |
| Des boîtes noires apparaissent | L’écran LCD a de l’alimentation mais n’est pas initialisé | Vérifiez RS, E, les broches de données et la configuration de la bibliothèque |
| Des personnages aléatoires apparaissent | Fils lâches ou mauvais mappage des broches | Revérifier le câblage et l’ordre des broches du code |
| Pas de rétroéclairage | Broches A/K inversées ou pas d’alimentation en rétroéclairage | Vérifiez le câblage LED+ et LED |
| LCD I2C non détecté | Mauvaise adresse ou problème SDA/SCL | Utilisez un scanner I2C |
| Le texte est trop faible | Mauvais contraste ou faible tension d’alimentation | Ajustez V0 et vérifiez la puissance |
| Scintillements d’affichage | Alimentation instable ou nettoyage répété de l’écran | Utilisez une alimentation stable et réduisez les appels clear() fréquents |
| L’affichage fonctionne parfois | Connexion desserrée sur la planche de type ou soudure faible | Sécuriser le câblage et inspecter la soudure |
Commandes LCD 16x2 et caractères personnalisés
Un écran LCD 16x2 prend en charge des commandes pour contrôler la position du curseur, le nettoyage de l’affichage, le mouvement du texte et les caractères personnalisés. Les caractères personnalisés sont stockés dans la CGRAM et peuvent être utilisés pour de petites icônes telles que des symboles de batterie, des flèches, des marques de degré, des barres de signal ou des blocs de progression.
Exemple simple de personnage personnalisé
#include
LiquidCrystal LCD (12, 11, 5, 4, 3, 2) ;
octet batteryIcon[8] = {
B01110,
B11011,
B10001,
B10001,
B11111,
B11111,
B11111,
B00000
};
void setup() {
LCD.BEGIN (16, 2) ;
lcd.createChar(0, batteryIcon) ;
lcd.setCursor(0, 0) ;
lcd.print (« Batterie : « ) ;
lcd.write(octet(0)) ;
}
boucle du vide() {
}
Les caractères personnalisés rendent l’affichage plus utile pour des interfaces utilisateur simples sans avoir besoin d’écran graphique.
LCD 16x2 vs écrans OLED, TFT, 7 segments et séries
| Type d’affichage | Meilleur pour | Avantage | Limitation |
|---|---|---|---|
| LCD 16x2 | Messages, SMS, chiffres et statuts | Peu coûteux et facile à utiliser | Pas de graphismes complets |
| I2C LCD 16x2 | Affichage texte avec moins de fils | Câblage simple | Il faut la bonne adresse et la bonne bibliothèque |
| Écran OLED | Texte net et petits graphiques | Fort contraste et taille compacte | Surface d’affichage plus petite dans de nombreux modules |
| Affichage TFT | Interface couleur et graphismes | Prend en charge, images et couleurs | Code et câblage plus complexes |
| Affichage à 7 segments | Valeurs numériques | Très lisible pour les chiffres | Pauvre pour le texte |
| LCD série | Communication simple avec microcontrôleur | Contrôle facile | Souvent plus cher |
Foire aux questions [FAQ]
Q1. Quand devrais-je utiliser un écran LCD parallèle au lieu d’un LCD I2C ?
Utilisez un écran LCD parallèle lorsque vous voulez apprendre le contrôle direct des écrans LCD. Utilisez un écran LCD I2C quand vous avez besoin de moins de fils et que vous voulez un câblage plus propre.
Q2. Pourquoi les boîtes noires apparaissent-elles sur le LCD ?
Les boîtes noires signifient que l’écran LCD est alimenté mais n’est pas bien initialisé. Vérifiez le code, la configuration de la bibliothèque et les connexions électriques.
Q3. À quoi sert le code RS ?
La broche RS sélectionne si l’écran LCD reçoit une commande ou des données d’affichage. Cela aide l’écran LCD à savoir s’il doit contrôler l’écran ou montrer les personnages.
Q4. Pourquoi la broche RW est-elle souvent connectée à la terre ?
La plupart des projets n’écrivent que les données sur l’écran, donc RW est connecté à la terre pour le maintenir en mode écriture. Cela permet également d’économiser une broche de microcontrôleur.
Q5. Pourquoi un scanner I2C est-il nécessaire ?
Un scanner I2C aide à trouver la bonne adresse LCD, comme 0x27 ou 0x3F. Si l’adresse est incorrecte, l’affichage peut ne pas répondre.