Leçon 20/31 : Utiliser LCD1602 avec Arduino pour afficher du texte | Robojax
Introduction
Le LCD1602 est l'un des afficheurs alphanumériques les plus populaires pour les projets Arduino, et lorsqu'il est associé à un adaptateur I2C, il devient incroyablement facile à utiliser. Dans ce tutoriel, vous apprendrez à afficher du texte, des nombres et des caractères personnalisés, ainsi qu'à faire défiler du texte à l'écran. Nous vous montrerons également comment combiner l'afficheur LCD avec d'autres capteurs pour créer des outils de surveillance pratiques. Ce guide fait partie d'un cours Arduino plus large et est conçu pour vous aider à construire des dispositifs utiles pour votre maison, votre école ou votre atelier.
Voici quelques idées pratiques de ce que vous pouvez construire avec ces connaissances :
- Un moniteur de température et d'humidité pour une serre ou un terrarium pour reptiles.
- Un voltmètre simple pour vérifier les niveaux de batterie dans vos projets.
- Un capteur de distance pour une aide au stationnement ou une poubelle intelligente qui indique son niveau de remplissage.
Présentation du matériel
Le LCD1602 est un afficheur de 16 caractères sur 2 lignes. Le module à l'arrière est un adaptateur I2C (ou I²C), qui réduit le nombre de fils nécessaires d'une connexion parallèle standard à seulement quatre : Ground, VCC, SDA et SCL. Cela simplifie grandement le câblage et libère de nombreuses broches numériques sur votre Arduino.
L'afficheur dispose d'un rétroéclairage, qui peut être activé ou désactivé via le logiciel. Il possède également un petit potentiomètre sur le module I2C pour régler le contraste. Si vous allumez l'afficheur et ne voyez rien, il suffit de tourner cette vis jusqu'à ce que le texte devienne visible (dans la vidéo à 02:47).
Il existe différentes versions de cet afficheur, comme le LCD2004 qui a 20 caractères et 4 lignes. L'adresse I2C peut également être modifiée en soudant les cavaliers A0, A1 et A2 sur le module (dans la vidéo à 03:51). L'adresse par défaut est souvent 0x27, mais elle peut varier, il est donc toujours recommandé d'exécuter un scanner I2C pour trouver la bonne adresse pour votre module spécifique.
Composants matériels
Pour suivre la démonstration principale de cette vidéo, vous aurez besoin des composants suivants :
- Arduino Uno (ou toute carte compatible)
- LCD1602 avec module I2C
- Plaque d'essai et fils de connexion
Pour les sections suivantes, vous aurez également besoin d'un capteur DHT11, d'un potentiomètre ou d'un capteur ultrasonique, selon le projet que vous souhaitez construire.
Guide de câblage
Connecter l'afficheur LCD est simple. Le schéma de câblage montre clairement les connexions.
Connectez les broches du module I2C à votre Arduino comme suit :
- GND à la broche GND de l'Arduino
- VCC à la broche 5V de l'Arduino
- SDA à la broche A4 de l'Arduino
- SCL à la broche A5 de l'Arduino
Si votre carte Arduino possède des broches SDA et SCL dédiées, vous pouvez également vous y connecter (dans la vidéo à 05:47).
Installation de la bibliothèque
Ce module nécessite la bibliothèque "Arduino Liquid Crystal I2C". Vous pouvez la télécharger à partir du lien fourni dans la description de la vidéo ou sur le site Web de Robojax. Une fois téléchargée, installez-la dans votre IDE Arduino en allant dans Croquis > Inclure une bibliothèque > Ajouter la bibliothèque .ZIP et en sélectionnant le fichier téléchargé (dans la vidéo à 06:41).
Explication du code
Comme aucun extrait de code n'a été fourni, nous expliquerons la structure générale du code utilisé dans la vidéo.
Le code commence par inclure les bibliothèques nécessaires : Wire.h pour la communication I2C et la bibliothèque LiquidCrystal_I2C.h pour l'afficheur. La partie clé consiste à créer un objet pour le LCD. Vous devrez définir la bonne adresse I2C et les dimensions de votre afficheur :
// Définir l'adresse LCD à 0x27 pour un afficheur de 16 caractères et 2 lignes
LiquidCrystal_I2C lcd(0x27, 16, 2);
Si votre afficheur ne montre rien, vous devrez peut-être changer 0x27 en 0x3F ou une autre adresse trouvée par votre scanner I2C. Les valeurs 16 et 2 représentent le nombre de colonnes et de lignes de votre afficheur.
Dans la fonction setup(), vous initialisez le LCD et activez le rétroéclairage :
void setup() {
lcd.init();
lcd.backlight();
}
Pour imprimer du texte, vous utilisez la fonction lcd.setCursor(colonne, ligne) pour positionner le curseur, suivie de lcd.print() pour afficher vos données. Par exemple, pour imprimer sur la deuxième ligne, vous utiliseriez lcd.setCursor(0, 1). La vidéo explique également comment imprimer des caractères spéciaux comme le symbole du degré en utilisant lcd.write(223) (dans la vidéo à 31:42).
Démonstration
La vidéo démontre plusieurs fonctionnalités clés du LCD. Tout d'abord, elle montre l'impression de base du texte "Hello World" et comment utiliser la fonction lcd.scrollDisplayLeft() pour faire défiler le texte à l'écran. Ensuite, elle combine le LCD avec un capteur DHT11 pour afficher la température et l'humidité, avec un potentiomètre pour afficher la tension, et avec un capteur ultrasonique pour afficher la distance.
Pour l'affichage de la température, le code lit le capteur et imprime la valeur. Pour afficher un nombre entier sans décimales, vous pouvez convertir la valeur flottante en entier, comme montré dans la vidéo (dans la vidéo à 32:21).
Pour le voltmètre, le code lit la valeur analogique du potentiomètre, la convertit en une plage de tension de 0-5V, et l'affiche à l'écran (dans la vidéo à 34:31).
La démonstration finale combine l'écran LCD avec un capteur ultrasonique pour afficher la distance mesurée en centimètres (dans la vidéo à 37:55).
Projets connexes de cette vidéo
Cette vidéo contient également d'autres tutoriels de projets. Vous pouvez les trouver ici :
- Leçon 20/31 : Affichage de la température et de l'humidité du DHT11 sur écran LCD
- Leçon 20/31 : Affichage de la tension sur LCD1602
Chapitres
- [00:00] Introduction au LCD1602 et aperçu du cours
- [01:30] Aperçu matériel du LCD1602 et du module I2C
- [02:47] Réglage du contraste de l'affichage et du rétroéclairage
- [03:14] Connexions des broches et sélection de l'adresse I2C
- [05:28] Schéma de câblage pour l'écran LCD
- [06:16] Installation de la bibliothèque requise
- [07:24] Code de base pour imprimer du texte
- [11:10] Exemple de curseur clignotant
- [13:46] Caractères personnalisés et impression de symboles spéciaux
- [18:51] Exemple d'affichage série
- [23:16] Texte défilant sur l'écran LCD
- [36:51] Combinaison de l'écran LCD avec un capteur ultrasonique
/*
Lesson 20/31: Displaying text on LCD screen
Get this code and watch video Download and resource page https://robojax.com/RJT603
YouTube video https://www.youtube.com/watch?v=NXAswOc_2zg
*/
/*
This is code for LCD1602 Display with I2C module
* watch the video for this code https://youtu.be/q9YC_GVHy5A
* Permission granted to share this code given that this
* note is kept with the code.
* Disclaimer: this code is "AS IS" and for educational purpose only.
* This library is based on work done by DFROBOT (www.dfrobot.com).
*/
/*
* This code has been modefied from the Arduino library
* Updated by Ahmad Nejrabi on Jan 20, 2018 at 11:09
* in Ajax, Ontario, Canada
* for Robojax.com
*
* This is code for LCD1602 Display with I2C module
* which can display text on the screen.
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
// Robojax code for LCD with I2C
// initialize the LCD,
lcd.begin();
// Turn on the blacklight and print a message.
//lcd.backlight();
// Robojax code for LCD with I2C
}
void loop()
{
lcd.clear();
lcd.setCursor (0,0);
lcd.print("SunFounder ");
lcd.setCursor (0,1);
lcd.write(244);
delay(500);
//end of loopcode Robojax code for LCD with I2C
}
Common Course Links
Common Course Files
Ce dont vous pourriez avoir besoin
-
Amazon
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
-
Amazon
-
eBayAcheter un LCD1602-I2C sur eBayebay.us
-
AliExpressAchetez 10 pièces de LCD1602-I2C sur AliExpresss.click.aliexpress.com
Ressources et références
-
DocumentationDocumentation pour le kit d'apprentissage IoT/Smart Car/en 3 en 1 de SunFounderdocs.sunfounder.com
-
Externe
-
ExterneBibliothèque LCD de RoboJax (ZIP)robojax.com
Fichiers📁
Bibliothèques Arduino (zip)
-
Code source du kit d'apprentissage Smart Car 3-en-1 de SunFounder.
3in1-kit-main-v2.zip12.80 MB