Utiliser des Écrans LCD avec Arduino pour Afficher des Données

Introduction

Les écrans LCD (Liquid Crystal Display) sont largement utilisés dans les projets Arduino pour afficher des informations textuelles, telles que des messages, des données de capteurs, ou des menus de contrôle. L’utilisation d’un écran LCD avec Arduino permet de rendre vos projets plus interactifs et informatifs. Cet article vous guidera à travers les étapes pour connecter un écran LCD à Arduino et afficher des données.

Matériel Nécessaire

  • Carte Arduino (par exemple, Arduino Uno)
  • Écran LCD 16×2 avec interface I2C ou sans
  • Module I2C pour écran LCD (optionnel, pour simplifier les connexions)
  • Câbles de connexion et breadboard
  • Potentiomètre (si vous n’utilisez pas de module I2C, pour régler le contraste)

Types d’Écrans LCD

Il existe plusieurs types d’écrans LCD compatibles avec Arduino, les plus courants étant les écrans 16×2 et 20×4. Ces écrans peuvent être utilisés avec ou sans interface I2C. L’utilisation de l’interface I2C simplifie les connexions et réduit le nombre de broches nécessaires sur l’Arduino.

Écran LCD sans I2C

  • Broches de l’écran LCD :
    • VSS : Terre (GND)
    • VDD : Alimentation (5V)
    • V0 : Contraste (via potentiomètre)
    • RS : Sélection de registre
    • RW : Lecture/Écriture (connecter à GND pour l’écriture uniquement)
    • E : Enable (activation)
    • D4-D7 : Broches de données (4 bits)
    • A et K : Anode et cathode du rétroéclairage (facultatif, pour la lumière de fond)

Écran LCD avec I2C

  • Broches de l’I2C :
    • GND : Terre
    • VCC : Alimentation (5V)
    • SDA : Données série (connecter à A4 sur l’Arduino Uno)
    • SCL : Horloge série (connecter à A5 sur l’Arduino Uno)

Connexion de l’Écran LCD à Arduino

Option 1 : Connexion sans I2C

Si vous utilisez un écran LCD sans interface I2C, vous devrez connecter plusieurs broches entre l’écran et l’Arduino. Voici un exemple de schéma de connexion :

  1. VSS : Connectez à GND de l’Arduino.
  2. VDD : Connectez à 5V de l’Arduino.
  3. V0 : Connectez au curseur du potentiomètre (les autres bornes du potentiomètre vont à 5V et GND).
  4. RS : Connectez à la broche numérique 7 de l’Arduino.
  5. RW : Connectez à GND.
  6. E : Connectez à la broche numérique 8 de l’Arduino.
  7. D4 à D7 : Connectez aux broches numériques 9 à 12 de l’Arduino.
  8. A et K : Connectez à 5V et GND respectivement pour activer le rétroéclairage.

Option 2 : Connexion avec I2C

Avec l’interface I2C, la connexion est beaucoup plus simple :

  1. GND : Connectez à GND de l’Arduino.
  2. VCC : Connectez à 5V de l’Arduino.
  3. SDA : Connectez à la broche A4 de l’Arduino.
  4. SCL : Connectez à la broche A5 de l’Arduino.

Programmation de l’Arduino pour Afficher des Données

Configuration de la Bibliothèque

Pour utiliser l’écran LCD avec Arduino, vous devez inclure la bibliothèque LiquidCrystal pour les connexions sans I2C, ou LiquidCrystal_I2C si vous utilisez un module I2C.

  1. Ajout de la bibliothèque LiquidCrystal_I2C (pour les écrans avec I2C) :
    • Dans l’IDE Arduino, allez dans Croquis > Inclure une bibliothèque > Gérer les bibliothèques.
    • Recherchez « LiquidCrystal_I2C » et installez la bibliothèque.

Exemple de Code pour un Écran sans I2C

#include <LiquidCrystal.h>

LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // (RS, E, D4, D5, D6, D7)

void setup() {
lcd.begin(16, 2); // Initialise l'écran LCD avec 16 colonnes et 2 lignes
lcd.print("Hello, World!"); // Affiche un message
}

void loop() {
// Code pour mettre à jour l'affichage en fonction des données
}

Exemple de Code pour un Écran avec I2C

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // Adresse I2C 0x27, écran 16x2

void setup() {
lcd.init(); // Initialise l'écran LCD
lcd.backlight(); // Allume le rétroéclairage
lcd.print("Hello, World!"); // Affiche un message
}

void loop() {
// Code pour mettre à jour l'affichage en fonction des données
}

Affichage de Données de Capteurs

Une fois l’écran LCD configuré, vous pouvez l’utiliser pour afficher des données de capteurs en temps réel. Par exemple, pour afficher la température mesurée par un capteur DHT11 :

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>

#define DHTPIN 2 // Broche de données du DHT11
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
lcd.init();
lcd.backlight();
dht.begin();
}

void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();

lcd.clear(); // Efface l'écran LCD
lcd.setCursor(0, 0); // Positionne le curseur au début de la première ligne
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print(" C");

lcd.setCursor(0, 1); // Positionne le curseur au début de la deuxième ligne
lcd.print("Hum: ");
lcd.print(humidity);
lcd.print(" %");

delay(2000); // Mise à jour toutes les 2 secondes
}

Conclusion

L’utilisation d’écrans LCD avec Arduino ouvre un large éventail de possibilités pour vos projets. Que ce soit pour afficher des messages simples ou pour créer des interfaces utilisateur plus complexes, un écran LCD est un excellent moyen de rendre vos projets plus interactifs. En combinant l’affichage avec des capteurs, vous pouvez créer des systèmes en temps réel qui affichent des données cruciales, comme la température ou l’humidité.

N’hésitez pas à explorer d’autres fonctionnalités, comme le défilement du texte ou la création de caractères personnalisés pour enrichir encore davantage votre expérience avec Arduino et les écrans LCD. Si vous avez des questions ou besoin d’aide supplémentaire, je suis à votre disposition pour vous guider dans votre projet.


Abonnez-vous à notre Newsletter !

Restez à jour avec les dernières tendances, articles et actualités directement dans votre boîte de réception. En vous abonnant à la newsletter de Wordly Fusion, vous recevrez des contenus exclusifs, des recommandations personnalisées, et les nouveautés les plus passionnantes de notre site. Ne manquez aucune mise à jour et soyez toujours informé des sujets qui vous intéressent. Inscrivez-vous dès maintenant pour rejoindre notre communauté !

×