Bibliothèque et code Arduino pour écran LCD2004 avec I2C

Bibliothèque et code Arduino pour écran LCD2004 avec I2C

Dans ce tutoriel, nous verrons comment utiliser l'écran LCD2004 avec la communication I2C. Cette configuration vous permet d'afficher du texte sur quatre lignes, ce qui la rend idéale pour diverses applications. Nous aborderons le câblage requis, des extraits de code et la façon d'implémenter efficacement cette fonctionnalité.

Nous utiliserons la bibliothèque LiquidCrystal_I2C pour gérer l'écran LCD. Cette bibliothèque simplifie l'interaction avec l'écran LCD en gérant la communication I2C pour vous. Pour une compréhension complète, veillez à consulter la vidéo pour un guide visuel (dans la vidéo à 00:00).

Le matériel expliqué

Le composant principal de ce projet est l'écran LCD2004, qui dispose de 20 colonnes et 4 lignes pour l'affichage de texte. Il communique via I2C, ce qui permet de réduire le nombre de connexions par rapport aux connexions parallèles traditionnelles. Cela le rend adapté aux projets où le nombre de broches disponibles sur l'Arduino est limité.

L'interface I2C utilise deux lignes, SDA (ligne de données) et SCL (ligne d'horloge), qui se connectent aux broches correspondantes sur l'Arduino. L'écran LCD nécessite également des connexions d'alimentation et de masse. Dans cette configuration, nous connecterons l'écran à une source d'alimentation 5V, qui peut être fournie directement par l'Arduino.

Détails de la fiche technique

FabricantGénérique
Numéro de pièceLCD2004
Tension logique / E/S5 V
Tension d'alimentation5 V
Courant de sortie (par canal)Typiquement 20 mA
Courant de crête (par canal)Typiquement 40 mA
Recommandations sur la fréquence PWMSans objet
Seuils logiques d'entrée0.3 Vcc (bas), 0.7 Vcc (haut)
Chute de tension / RDS(en conduction)/ saturationTypiquement 0.2 V
Limites thermiquesde 0 °C à 50 °C
PaquetÉcran LCD standard 4x20
Notes / variantesDisponible avec différentes options de rétroéclairage

  • Assurez-vous d'une alimentation électrique appropriée pour éviter tout dommage.
  • Utilisez des résistances pull-up sur les lignes SDA et SCL si nécessaire.
  • Vérifiez l'adresse I2C ; généralement 0x27 pour cet écran.
  • Gardez les connexions courtes pour minimiser les interférences.
  • Confirmez que la bibliothèque est correctement installée avant de téléverser le code.

Instructions de câblage

Pour connecter l'écran LCD2004 en I2C à l'Arduino, suivez ces connexions :

  • Connectez leVCCbroche de l'écran LCD au5Vbroche sur l'Arduino.
  • Connectez leGNDbroche de l'écran LCD à unGNDbroche sur l'Arduino.
  • Connectez leSDAbroche de l'écran LCD vers leA4broche de l'Arduino.
  • Connectez leSCLbroche de l'écran LCD àA5la broche sur l'Arduino.

Si votre carte Arduino utilise d'autres broches I2C, veillez à adapter les connexions en conséquence. La vidéo montre également une configuration de câblage alternative (à 01:30).

Exemples de code et guide pas à pas

Voyons un exemple simple d'initialisation de l'écran LCD et d'affichage d'un message. Le fragment suivant configure l'écran LCD et affiche "Hello, world!" à l'écran.

lcd.begin(); // Initialize the LCD
lcd.backlight(); // Turn on the backlight
lcd.print("Hello, world!"); // Display message

Ce code initialise l'écran LCD et active le rétroéclairage. Ensuite, il affiche le message sur la première ligne de l'écran LCD. Le rétroéclairage est essentiel pour la visibilité dans des conditions de faible luminosité.

Ensuite, nous examinerons un exemple plus complexe qui affiche des données dynamiques, telles que des mesures de tension.

lcd.setCursor(0,0); // Set cursor to the first line
lcd.print("Voltage: "); // Display voltage label
float v = 8.254; // Example voltage value
lcd.print(v); // Print voltage value

Dans cet extrait, nous positionnons le curseur sur la première ligne et affichons une étiquette de tension suivie de la valeur réelle. Cela vous permet d'afficher des mesures en temps réel dans un format convivial.

Pour des fonctionnalités supplémentaires, vous pouvez mettre en place une entrée série pour permettre aux utilisateurs de saisir des caractères via le moniteur série et de les afficher sur l'écran LCD.

if (Serial.available()) { // Check for serial input
  lastChar = Serial.read(); // Read the last character
  lcd.write(lastChar); // Display character on LCD
}

Ce code vérifie s'il y a des données disponibles sur le port série. Le cas échéant, il lit le dernier caractère saisi et l'affiche sur l'écran LCD. Cette interaction améliore l'expérience utilisateur en permettant des affichages dynamiques en fonction de la saisie de l'utilisateur.

Pour le code complet, veuillez consulter le programme complet chargé sous l'article.

Démonstration / À quoi s'attendre

Lorsque vous exécutez le code, vous devriez voir le message initial affiché sur l'écran LCD, suivi des relevés de tension et de tous les caractères saisis via le moniteur série. Assurez-vous que les connexions sont bien sécurisées pour éviter tout problème d'affichage. Si l'écran LCD n'affiche rien, revérifiez le câblage et l'adresse I2C (dans la vidéo à 02:15).

Images

LCD2004_display-3
LCD2004_display-3
LCD2004_display-1
LCD2004_display-1
LCD2004_display-2
LCD2004_display-2
121-Arduino code for LCD2004 with I2C: Hello World sketch
Langue: C++
122-Arduino code for LCD2004 with I2C RoboJax custom sketch
Langue: C++
123-Arduino code for LCD2004 with I2C: blinking sketch
Langue: C++
124-Arduino code for LCD2004 with I2C serial monitor sketch
Langue: C++
Copié !

Ressources et références

Fichiers📁

Aucun fichier disponible.