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 :



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 :



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 :

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