PROGRAMMER UN ECRAN LCD 16x02 AVEC ARDUINO Qu'est-ce que l'écran LCD Arduino LCD signifie affichage à cristaux liquides. Fondamentalement, tous les écrans peuvent être utilisés avec Arduino, y compris affichage LCD à caractères alphanumériques, écran LCD graphique monochrome, écran LCD TFT couleur, Écran LCD IPS. Il peut également être utilisé pour des écrans non LCD tels que : Affichage PMOLED, Écran AMOLED, Écrans E-ink (E-paper). Orient Display a développé des écrans d'interface facile (SPI, I2C) qui peuvent être facilement utilisés avec Arduino. Présentation de l’écran LCD 16×2 Les afficheurs à cristaux liquides utilisent la propriété de modulation de lumière des cristaux liquides. Les écrans à cristaux liquides sont composés de deux couches de polariseurs, avec des directions de polarisation perpendiculaire, prenant en sandwich deux plaques de verres entre lesquelles sont placés les cristaux liquides. Sur les plaques de verre se trouve une matrice d’électrodes pour chaque pixel. Une tension appliquée entre les électrodes d’un pixel entraine un changement d’orientation des molécules et donc la transparence du pixel qui peut alors laisser, ou non, passer la lumière du rétroéclairage. Exaucé KIMBEMBE https://www.youtube.com/c/RachelSystème e-mail: [email protected] 1 Rôle des broches : L’écran LCD 16×2 présente 16 broches pour permettre la gestion de l’affichage et du contraste. VSS Relier à la masse de l’écran VDD Broche d’alimentation : Typiquement connectée à la broche 5V de l’Arduino. V0 Broche de contraste : Connecté à une sortie PWM ou à un potentiomètre. RS Register Select : Permet de sélectionner la zone mémoire. RW Read or Write : Toujours à la masse. E enable : active ou non l’affichage D0 mode 8bits, 4 bits de poids fort de la communication I2C D1 mode 8bits, 4 bits de poids fort de la communication I2C D2 mode 8bits, 4 bits de poids fort de la communication I2C D3 mode 8bits, 4 bits de poids fort de la communication I2C D4 4 bits de poids faible de la communication I2C D5 4 bits de poids faible de la communication I2C D6 4 bits de poids faible de la communication I2C D7 4 bits de poids faible de la communication I2C A (anode) : Borne (+) de la LED de rétroéclairage K (cathode) : Borne (–) de la LED de rétroéclairage Le module I2C Le module I2C permet de traiter les données de l'écran LCD, sans avoir besoin de brancher 14 câbles, comme le nécessite en temps normal l'écran LCD 16x2, mais seulement 4. Exaucé KIMBEMBE https://www.youtube.com/c/RachelSystème e-mail: [email protected] 2 Quelle est la différence entre l'écran LCD normal et un écran LCD I2C En réalité l'écran LCD I2C est un écran LCD normal. Il utilise juste un circuit à souder qui lui permet de fonctionner avec l'interface I2C. Ce qui rend le câblage plus facile. Note : L’adresse par défaut d’un écran LCD i2c 16 colonnes et 2 lignes est : « 39 » en base décimal ou « 0x27 » en hexadécimal. Il est possible changé l’adresse de l’écran lcd i2c. La partie encadrée en rouge permet de changer l’adresse i2c, connecté un cavalier au niveau de « A0 » permet de sélectionner l’adresse « 0x26 », au niveau de « A1 » permet de sélectionner l’adresse « 0x25 » et au niveau de « A2 » permet de sélectionner l’adresse « 0x24 », Schéma de montage d’un écran LCD en 4 bits : Exaucé KIMBEMBE https://www.youtube.com/c/RachelSystème e-mail: [email protected] 3 Schéma de montage d’un écran LCD en 8 bits : Note : Il faut savoir que la communication avec ces afficheurs, et les possibilités de l'Arduino, réduisent l'unité d'information à 8 bits (ou deux fois 4 bits). Les ordinateurs actuels peuvent communiquer à l'aide d'unités d'information de 32 bits et 64 bits. La vitesse de communication est donc bien plus rapide. Tout dépend donc du matériel. Exaucé KIMBEMBE https://www.youtube.com/c/RachelSystème e-mail: [email protected] 4 Schéma de montage d’un écran LCD I2C : Note : Sur la carte arduino Uno, la broche « SDA » correspond au pin « A4 » et la broche « SCL » correspond au pin « A5 ». Programmation Pour programmer nos écrans LCD nous allons utiliser les bibliothèques dédiées à cette tâche à savoir : « LiquidCrystal .h » pour les écrans LCD normale et « LiquidCrystal_I2C.h » pour les écrans LCD i2c. c’est deux bibliothèques sont à peu près distinct et contiennent plus ou moins les mêmes fonctions. Fonction de bases de la bibliothèques « LiquidCrystal .h » : LiquidCrystal : permet de créer le type de donnée begin : permet d’initialiser l’écran LCD clear : permet d’effacer le contenu de l’écran print : permet d’afficher un message sur l’écran setCursor : permet de positionner le curseur cursor : permet d’afficher le curseur noCursor : permet de cacher le curseur blink : permet de faire clignoter le curseur noBlink : permet de désactiver clignotement du curseur display : active l’affichage Exaucé KIMBEMBE https://www.youtube.com/c/RachelSystème e-mail: [email protected] 5 noDisplay : désactive l’affichage scrollDisplayLeft : permet de faire défiler l’affichage vers la gauche scrollDisplayRight : permet de faire défiler l’affichage vers la droite createChar : permet de créer un caractère Fonction de bases de la bibliothèques « LiquidCrystal_I2C.h .h » : LiquidCrystal_I2C : permet de créer le type de donnée Init : permet d’initialiser l’écran LCD I2C noBacklight : désactive le retro-éclairage backlight : active le rétro-éclairage Note : les fonctions sont identiques à celle de la bibliothèque « LiquidCrystal .h », voir la documentation de la bibliothèque pour plus d’infos. Applications : Ecrire un programme sur arduino qui permet d’afficher un message de votre choix sur deux lignes sur un écran lcd. Solution : Pour un montage en 4 bits : Exaucé KIMBEMBE https://www.youtube.com/c/RachelSystème e-mail: [email protected] 6 Pour un montage en 8 bits : Pour un écran I2C : Exaucé KIMBEMBE https://www.youtube.com/c/RachelSystème e-mail: [email protected] 7 Exercice 1 : Ecrire un programme sur arduino qui consiste à réaliser les taches suivantes en boucle sur un écran LCD : Affiche un message de votre choix sur deux ligne pendant 3 secondes Ensuite fais clignoter le même message afficher pendant 6 secondes Puis enfin, fait défiler les caractères vers la vers la droite puis vers la gauche. Les caractères défilent chaque 500ms. Note : utiliser un écran LCD de votre choix. Exercice 2 : Proposer un programme sur arduino qui permet d’allumer ou d’éteindre une led avec un bouton poussoir connecter avec un montage de votre choix. Utiliser un écran LCD de votre choix afin d’afficher l’état réel de la led. Note : prévoir un temps d’attente de 150ms après appuis du bouton poussoir. Exercice 3 : Proposer un programme sur arduino permettant de contrôler la position d’un servomoteur à base d’un potentiomètre et afficher la position réelle du servomoteur sur un écran LCD de votre choix. Exercice 4 : Proposer un programme en boucle sur arduino permettant de contrôler 1 écran LCD I2C et un écran LCD normale afin d’afficher et de faire clignoter les messages de votre choix. Note : le message reste afficher pendant 5 secondes puis clignotes pendant 15 secondes. Note : Prévoir un schéma de montage pour chaque exercice. Exaucé KIMBEMBE https://www.youtube.com/c/RachelSystème e-mail: [email protected] 8