Nous rencontrons des écrans LCD partout autour de nous. Ordinateurs, calculatrices, téléviseurs, téléphones portables, montres numériques utilisent une sorte d’affichage pour afficher l’heure.
Un écran LCD est un module d’affichage électronique qui utilise des cristaux liquides pour produire une image visible. L’écran LCD 16 × 2 est un module très basique couramment utilisé dans les bricolages et les circuits. The 16×2 translates o a display 16 characters per line in 2 such lines. In this LCD each character is displayed in a 5×7 pixel matrix.
16X2 LCD pinout diagram
Pin No. |
Function |
Name |
1 |
Ground (0V) |
Ground |
2 |
Supply voltage; 5V (4.7V – 5.3V) |
Vcc |
3 |
Contrast adjustment; the best way is to use a variable resistor such as a potentiometer. The output of the potentiometer is connected to this pin. Tournez le bouton du potentiomètre vers l’avant et vers l’arrière pour régler le contraste de l’écran LCD. |
Vo/VEE |
4 | Sélectionne le registre de commandes lorsqu’il est faible et le registre de données lorsqu’il est élevé | RS(Enregistrer Sélectionnez ) |
5 | Faible pour écrire dans le registre; Élevé pour lire à partir du registre | Lecture/ écriture |
6 | Envoie des données aux broches de données lorsqu’une impulsion haute à basse est donnée; Une poussée de tension supplémentaire est nécessaire pour exécuter l’instruction et le signal EN (enable) est utilisé à cette fin. Habituellement, nous définissons en = 0, lorsque nous voulons exécuter l’instruction, nous la rendons élevée en = 1 pendant quelques millisecondes. Après cela, nous le faisons à nouveau au sol, c’est-à-dire en = 0. | Enable |
7 | 8-bit data pins | DB0 |
8 | DB1 | |
9 | DB2 | |
10 | DB3 | |
11 | DB4 | |
12 | DB5 | |
13 | DB6 | |
14 | DB7 | |
15 | Rétroéclairage VCC (5V) | Led + |
16 | Terre de rétroéclairage (0V) | Led- |
RS(sélection du registre)
Un écran LCD 16X2 a deux registres, à savoir commande et données. La sélection de registre est utilisée pour passer d’un registre à l’autre. RS = 0 pour le registre de commande, alors que RS = 1 pour le registre de données.
Registre de commandes : Le registre de commandes stocke les instructions de commande données à l’écran LCD. Une commande est une instruction donnée à LCD pour effectuer une tâche prédéfinie. Des exemples comme:
- l’initialiser
- effacer son écran
- définir la position du curseur
- contrôler l’affichage etc.
Le traitement des commandes se fait dans le registre des commandes.
Registre de données: Le registre de données stocke les données à afficher sur l’écran LCD. Les données sont la valeur ASCII du caractère à afficher sur l’écran LCD. Lorsque nous envoyons des données à LCD, elles vont dans le registre de données et y sont traitées. Lorsque RS=1, le registre de données est sélectionné.
Important command codes for LCD
Sr.No. | Hex Code | Command to LCD instruction Register |
1 | 01 | Clear display screen |
2 | 02 | Return home |
3 | 04 | Decrement cursor (shift cursor to left) |
4 | 06 | Increment cursor (shift cursor to right) |
5 | 05 | Shift display right |
6 | 07 | Shift display left |
7 | 08 | Display off, cursor off |
8 | 0A | Display off, cursor on |
9 | 0C | Display on, cursor off |
10 | 0E | Display on, cursor blinking |
11 | 0F | Display on, cursor blinking |
12 | 10 | Shift cursor position to left |
13 | 14 | Shift cursor position to right |
14 | 18 | Shift the entire display to the left |
15 | 1C | Shift the entire display to the right |
16 | 80 | Force cursor to beginning ( 1st line) |
17 | C0 | Force cursor to beginning ( 2nd line) |
18 | 38 | 2 lines and 5×7 matrix |
Afficher des caractères personnalisés sur un écran LCD 16X2
Générer des caractères personnalisés sur un écran LCD n’est pas très difficile. Il nécessite des connaissances sur la mémoire vive générée sur mesure (CG-RAM) de l’écran LCD et du contrôleur de puce LCD. La plupart des écrans LCD contiennent un contrôleur Hitachi HD4478.
CG-RAM est le composant principal dans la création de caractères personnalisés. Il stocke les caractères personnalisés une fois déclarés dans le code. La taille de la mémoire vive est de 64 octets, offrant la possibilité de créer huit caractères à la fois. Chaque caractère a une taille de huit octets.
L’adresse CG-RAM commence à partir de 0x40 (hexadécimal) ou 64 en décimal. Nous pouvons générer des caractères personnalisés à ces adresses. Une fois que nous générons nos caractères à ces adresses, nous pouvons les imprimer en envoyant simplement des commandes à l’écran LCD. Les adresses de caractères et les commandes d’impression sont ci-dessous.
Dans le tableau ci-dessus, vous pouvez voir les adresses de départ de chaque caractère avec leurs commandes d’impression.
Le premier caractère est généré à l’adresse 0x40 à 0x47 et est imprimé sur l’écran LCD en envoyant simplement une commande 0.
Le deuxième caractère est généré à l’adresse 0x48 à 0x55 et est imprimé en envoyant une commande 1.
Comment générer des caractères personnalisés dans CG-RAM
Dans les écrans LCD, chaque caractère est dans une matrice 5×8. Où 5 sont le nombre de colonnes et 8 le nombre de lignes.
Voici un exemple simple de la façon de créer la lettre ‘b’ dans CG-RAM.
Le tableau pour générer ‘b’ est char b = {0x10, 0x10, 0x16, 0x19, 0x11, 0x11, 0x1E}; Autrement dit,
- Adresse d’envoi où vous souhaitez créer un caractère.
- Créez maintenant votre personnage à cette adresse. Envoyez les valeurs du tableau de caractères « b » définies ci-dessus une par une au registre de données de l’écran LCD.
- Pour imprimer le caractère généré à 0x40. Envoyer la commande 0 au registre de commande de l’écran LCD. Le tableau ci-dessous expliquerait cela plus clairement
L’interfaçage d’un écran LCD 16X2 avec Arduino
Les modules LCD constituent un élément très important dans de nombreuses conceptions de systèmes embarqués basés sur Arduino pour améliorer l’interface utilisateur du système. L’interfaçage avec Arduino donne au programmeur plus de liberté pour personnaliser facilement le code. N’importe quelle carte Arduino, un écran LCD 16X2, des fils de raccordement et une platine de prototypage suffisent pour construire le circuit. L’interface de l’Arduino à l’écran LCD ci-dessous.
Code source pour 16X2LCD et Arduino.
Afficher la luminosité de la LED sur un écran LCD 16×2
La combinaison d’un écran LCD et d’Arduino donne plusieurs projets, le plus simple étant l’écran LCD pour afficher la luminosité de la LED. Tout ce dont nous avons besoin pour ce circuit est un écran LCD, un Arduino, une platine de prototypage, une résistance, un potentiomètre, une LED et des câbles de démarrage. Les connexions du circuit sont ci-dessous.
Le projet détaillé est disponible pour afficher la luminosité d’une LED sur un écran LCD
Cet article a été publié pour la première fois le 21 Novembre 2016 et a été récemment mis à jour le 31 juillet 2020.