Utiliser un écran LCD
Un écran LCD (Liquid Crystal Display ou écran à Cristaux Liquides en français) permet d’afficher des informations provenant d'une carte Arduino sans utiliser d'ordinateur.
Exemple : Sur l'écran du montage ci-dessous, il est possible de lire la distance mesurée par le capteur à ultrasons.
Il existe différentes tailles d'écran, nous utiliserons un 16×2, c'est à dire 16 colonnes par 2 lignes.
Utilisé seul, un écran LCD utilise beaucoup de broche sur l'Arduino.
Pour simplifier la connectique, nous utiliserons un écran LCD couplé avec un module de communication I2C. Il permet la communication entre la carte Arduino et l'écran via le protocole I2C en n'utilisant que 4 connecteurs.
Le montage
Branchez l'écran LCD aux broches de l’Arduino comme représenté ci-dessous :
Ecran LCD I2C | Arduino Uno |
---|---|
GND | GND |
VCC | +5V |
SDA | A4 |
SCL | A5 |
Installation de la bibliothèque
Pour utiliser l'écran LCD, il faut installer la bibliothèque LiquidCrystal_I2C :
- Ouvrez l’IDE Arduino et aller dans Croquis –> Inclure une bibliothèque –> Gérer les bibliothèques ;
- Sélectionner puis installer la bibliothèque indiquée ci-dessous.
Connaître l'adresse de l'interface I2C
Les modules utilisant une interface I2C ont tous une adresse. Les interfaces du lycée ont toutes pour adresse : 0x27.
En cas de doute, pour connaitre l'adresse de votre interface I2C, vous devez :
- brancher le module à l'Arduino ;
- téléverser le code téléchargeable sur le site : https://playground.arduino.cc/Main/I2cScanner/ ;
- ouvrir le port série et normalement vous obtiendrez l'adresse.
Afficher un message sur l'écran
Afficher du texte
Un exemple de code à téléverser pour afficher un texte :
#include <LiquidCrystal_I2C.h> // inclure la bibliothèque I2C LiquidCrystal_I2C lcd(0x27,16,2); // adresse i2c , nombre de colonnes, nombre de lignes de l'écran void setup() { lcd.init(); // initialisation du LCD lcd.backlight(); // active le rétroéclairage lcd.noBacklight() pour le désactiver lcd.setCursor(0,0); // mettre le curseur à la première ligne, première colonne lcd.print("Bonjour"); // afficher "Bonjour" delay(1000); lcd.setCursor(0,1); // mettre le curseur à la deuxième ligne, première colonne lcd.print("le monde"); // afficher "le monde" } void loop() { }
Attention, le texte ne doit pas comporter des caractères accentués !
Afficher une variable
Exemple de code pour afficher une variable :
#include <LiquidCrystal_I2C.h> // inclure la bibliothèque I2C LiquidCrystal_I2C lcd(0x27,16,2); // adresse i2c , nombre de colonnes, nombre de lignes de l'écran int variable = 25; void setup() { lcd.init(); // initialisation du LCD lcd.backlight(); // active le rétroéclairage lcd.noBacklight() pour le désactiver lcd.setCursor(0,0); // mettre le curseur à la première ligne, première colonne lcd.print(variable); // affiche le contenu de la variable, soit 25 } void loop() { }
Afficher du texte et une variable
Par exemple, pour afficher la température avec son unité T = 25°C, nous pouvons utiliser le code suivant :
#include <LiquidCrystal_I2C.h> // inclure la bibliothèque I2C LiquidCrystal_I2C lcd(0x27,16,2); // adresse i2c , nombre de colonnes, nombre de lignes de l'écran int temperature = 25; void setup() { lcd.init(); // initialisation du LCD lcd.backlight(); // active le rétroéclairage lcd.noBacklight() pour le désactiver lcd.setCursor(0,0); // mettre le curseur à la première ligne, première colonne lcd.print("T = "); lcd.print(temperature); lcd.print((char)223); lcd.print("C"); } void loop() { }
Les fonctions de la bibliothèque LiquidCrystal
Ci dessous une liste non exhaustive de fonctions apportées par la bibliothèque LiquidCrystal :
- lcd.home() : permet de replacer le curseur en haut à gauche de l’écran ;
- lcd.setCursor(0,0) : pour se placer en haut à gauche (équivalent à la fonction “home()”) ;
- lcd.setCursor(colonne,ligne) : pour placer le curseur sur la colonne et la ligne indiqués ;
- lcd.noDisplay() : fait disparaître le texte ;
- lcd.display() : fait apparaître le texte ;
- lcd.clear() : supprime le texte de l'écran de manière définitive ;
- lcd.Cursor() : fait apparaître le curseur ;
- lcd.noCursor() : fait disparaître le curseur ;
- lcd.blink() : pour activer le clignotement du curseur ;
- lcd.noBlink() : pour désactiver le clignotement du curseur.
Voici les différentes fonctions disponibles dans la bibliothèques LiquidCrystal_I2C.
A faire vous-même 1 | |
---|---|
Modifier le code précédent qui affiche “Bonjour le monde” pour que le message soit centré sur l'écran. |
A faire vous-même 2 | |
---|---|
Écrire le code permettant d'afficher sur l'écran LCD, le texte saisi dans le moniteur série. |
A faire vous-même 3 | |
---|---|
Écrire le code permettant d'afficher sur l'écran LCD un chronomètre. |
Statistiques du site
- Cette page a été consultée par 1 visiteurs aujourd'hui.
- Cette page a été consultée par 1962 visiteurs depuis le 17/04/2024.