Année universitaire 2025/2026
Pr. M. HAMLICH
2ème AP
TRAVAUX PRATIQUES
Informatique Industrielle (ARDUINO)
TP7 : I2C & afficheur LCD 16x2
Un afficheur LCD I2C est un écran LCD qui utilise le protocole de communication I2C pour
échanger des données avec un microcontrôleur. L’utilisation d’un afficheur LCD I2C permet
d’économiser des broches du microcontrôleur, car la communication I2C ne nécessite que
deux broches (SDA et SCL) pour connecter plusieurs périphériques.
Dans ce TP, nous allons utiliser un afficheur LCD I2C pour afficher des informations à partir
d’un microcontrôleur Arduino. Nous allons utiliser la bibliothèque LiquidCrystal I2C.h pour
contrôler l’afficheur.
Ex.1 : Configuration et affichage sur une LCD I2C 16x2
Dans ce premier exercice nous allons nous familiariser avec les fonction de base de la
bibliothèque LiquidCrystal I2C.h.
1. Réaliser le montage suivant :
2) Tapez le code suivant
1 # include <Wire .h>
2 # include < LiquidCrystal_I2C .h>
3
4 LiquidCrystal_I2C lcd (0 x27 , 16,
2); // Adresse I2C et dimensions
de l’afficheur
5
6 void setup () {
7 lcd. init (); // Initialisation de
l’afficheur
8 lcd. backlight (); // Allumage du retroeclairage
9 lcd. setCursor (0 ,0); // Positionnement du curseur en haut a gauche
10 lcd. print ("Hello , world !"); // Affichage de la chaine de caracteres
11 }
1 void loop () {
2 lcd. setCursor (2 ,1); // Positionnement du curseur en haut a gauche
3 lcd. print (" TEST AFFICHEUR !");
4 delay (1000) ;
5 lcd. clear ();
6}
3) Changer la commande [Link](2,1) par [Link](2,0) et téléverser le
code. Commentez ?
Ex.2 : Affichage de nombres entiers et réels
1. Gardez le même montage de l’EX.1.
2. Tapez le code suivant :
Année universitaire 2025/2026
Pr. M. HAMLICH
2ème AP
1 # include <Wire .h>
2 # include < LiquidCrystal_I2C .h>
3 LiquidCrystal_I2C lcd (0 x27 , 16, 2);
4
5 void setup () {
6 lcd. init ();
7 lcd. backlight ();
8 lcd. setCursor (0 ,0);
9 lcd. print (" Entier : ");
10 lcd. setCursor (0 ,1);
11 lcd. print (" Reel : ");
12 }
13
14 void loop () {
15 int entier = 57;
16 float reel = 3.14159;
17 lcd. setCursor (9 ,0);
18 lcd. print ( entier );
19 lcd. setCursor (8 ,1);
20 lcd. print (reel ,2);
21 delay (500) ;
22 }
3. Téléverser le programme. Qu’est ce que vous remarquez ?
4. Changer la commande [Link](reel,2); par [Link](reel,3); et téléverser vers la carte. C’est quoi la
différence ?
Ex.3 : Affichage des valeurs d’un potentiomètre sur une afficheur LCD
1. Sur le montage de l’EX.1, ajouter un potentiomètre lié à la broche A0 comme suite :
2. En se basant sur les
codes élaborés dans
l’Ex.1 et EX.2, écrire un
programme
permettant d’afficher la
valeur du
potentiomètre sur la
première ligne de
l’afficheur et la tension
correspondante sur la
deuxième ligne.