ESEN propose une large gamme de modules LCD à caractères standard pour les applications des clients. Vous pouvez obtenir un affichage avec le minimum de broches de contrôle, ce qui facilite la sélection du MCU.
Les modules LCD à caractères courants sur le marché ajoutent une carte de transfert pour prendre en charge l'interface I2C, comme le montre la figure 1, ce qui entraîne une augmentation de l'épaisseur du LCM, plus de processus de fabrication et un taux de rendement plus faible.
![]() |
![]() |
Figure 1 :Le module LCD à caractères courant sur le marché qui ajoute une carte de transfert pour prendre en charge I2C. | Figure 2 :: Module à cristaux liquides à caractères 1602 d'ESEN. Il prend en charge les interfaces I2C et SPI et ne nécessite pas de carte de transmission supplémentaire. |
Vous n'avez pas besoin d'ajouter une carte relais. Connectez simplement la carte de développement Arduino Uno et vous pouvez contrôler directement le module LCD à caractères à l'aide de différentes interfaces de communication.
N° de broche | Symbole | Description |
---|---|---|
N°1 | Vss | Masse |
N°2 | Vdd | Alimentation pour la logique |
N°3 | V0 | Réglage du contraste |
N°4 | RS | Sélection commande/données |
N°5 | RW | Signal de sélection lecture/écriture pour l'interface 6800 8/4 bits uniquement |
N°6 | E | Signal d'activation pour l'interface 6800 8/4 bits uniquement |
N°7 | DB0/SA0 | Ligne de bus de données 0 pour l'interface 6800 8 bits uniquement Ligne de réglage d'adresse SA0 pour l'interface I2C |
N°8 | DB1/SA1 | Ligne de bus de données 1 pour l'interface 6800 8 bits uniquement Ligne de réglage d'adresse SA1 pour l'interface I2C |
N°9 | DB2 | Ligne de bus de données 2 pour l'interface 6800 8 bits uniquement |
N°10 | DB3 | Ligne de bus de données 3 pour l'interface 6800 8 bits uniquement |
N°11 | DB4 | Ligne de bus de données 4 pour l'interface 6800 8/4 bits uniquement |
N°12 | DB5/CSB/CSB | Ligne de bus de données 5 pour l'interface 6800 8/4 bits uniquement Lignes de sélection d'activation CSB pour l'interface I2C et SPI |
N°13 | DB6/SDA/SCLK | Ligne de bus de données 6 pour l'interface 6800 8/4 bits uniquement Ligne de données SDA pour l'interface I2C Synchronisation SCLK pour l'interface SPI |
N°14 | DB7/SCL/SID | Ligne de bus de données 7 pour l'interface 6800 8/4 bits uniquement Ligne de synchronisation SCL pour l'interface I2C Ligne de données SID pour l'interface SPI |
N°15 | A+ | Alimentation pour B/L + |
N°16 | K- | Alimentation pour B/L - |
En ce qui concerne V0 dans le tableau ci-dessus, une résistance variable de 20k Ohms est utilisée pour régler le contraste des caractères. Si le texte est invisible ou s'il continue d'afficher l'image d'arrière-plan pendant le test, veuillez tourner cette résistance variable pour régler le contraste.
La méthode de connexion de la résistance variable V0 est illustrée à la figure 3 :
![]() |
Figure 3 :Méthode de connexion de la résistance variable V0 |
Les méthodes de connexion des quatre interfaces de communication LCM (I2C, SPI, 6800 8 bits/4 bits) à Arduino Uno sont illustrées à la figure 4. Les utilisateurs peuvent observer que les interfaces I2C et SPI n'ont besoin que d'un petit nombre de broches GPIO pour contrôler les modules LCD à caractères.
Pour l'interface I2C, étant donné qu'Arduino Uno fournit les résistances pull-up à l'intérieur des broches I2C, il n'y a pas de résistances pull-up supplémentaires connectées aux broches SDA et SCL. Si la résistance pull-up interne est désactivée dans le programme, une résistance pull-up externe doit être connectée.
(a)Connexion de l'interface I2C |
(b) Connexion de l'interface SPI |
![]() |
![]() |
(c)Connexion de l'interface 6800-4 bits |
(d)Connexion de l'interface 6800-8 bits |
![]() |
![]() |
Figure 4 :Méthodes de connexion des 4 interfaces de communication LCM à Arduino Uno. |
Toutes les interfaces de communication ne peuvent pas utiliser l'ensemble complet de commandes du LCM ; avec l'interface SPI, il n'y a pas de ligne de contrôle RW et de broches MISO, par conséquent, la commande de lecture n'est pas prise en charge. Pour l'écriture, via la ligne de contrôle RS pour déterminer s'il faut écrire des données de commande ou afficher des données.
Dans l'interface I2C, il n'y a pas non plus de ligne de contrôle RW, il n'y a donc pas de prise en charge des commandes de lecture non plus. Avant d'écrire des données de commande ou d'afficher des données, le code de contrôle de commande (A0=0) ou le code de contrôle de données (A0=1) doit être envoyé pour déterminer si le prochain octet à envoyer est une donnée de commande ou une donnée d'affichage.
Deux diagrammes de synchronisation sont illustrés aux figures 5 et 6. Il s'agit du diagramme de synchronisation du contrôle du LCM via l'interface SPI. Les utilisateurs peuvent observer que le LCM utilise un SPI qui n'est pas l'interface SPI typique fournie par un MCU typique, il nécessite une ligne de signal RS supplémentaire pour déterminer si l'octet en cours d'envoi est une commande ? ou des données ? Les données de bits (BIT7~BIT0) de la ligne de données (SID) changent lorsque la ligne d'horloge (SCLK) est au niveau bas. Les données de bits (BIT7~BIT0) sont capturées lorsque la ligne d'horloge (SCLK) est au niveau haut (BIT7~BIT0).
![]() |
Figure 5 :Synchronisation de la commande d'écriture SPI |
![]() |
Figure 6 :Synchronisation des données d'écriture SPI |
Les figures 7 et 8 montrent le diagramme de synchronisation du contrôle du LCM via l'interface I2C. À l'exception de la barre de sélection de puce (CSB), les lecteurs peuvent observer que le contrôle de l'interface I2C consiste à envoyer trois octets à chaque fois pour écrire une donnée de commande ou afficher des données. Parmi eux, le bit A0 du deuxième octet déterminera si le troisième octet est une donnée de commande ou une donnée d'affichage.
![]() |
Figure 7 :Synchronisation I2C de l'écriture des commandes |
![]() |
Figure 8 :Synchronisation I2C de l'écriture des données |
Le LCM peut être compilé et utilisé directement en modifiant les paramètres du programme.
Étape 1 : définir le nombre maximum de caractères sur une seule ligne du LCM.
Par exemple, ce qui suit définit une seule ligne pour avoir un maximum de 16 caractères.
Étape 2 : définir le nombre maximum de lignes dans le LCM.
Par exemple, ce qui suit définit le LCM pour avoir 2 lignes.
Étape 3 : définir l'interface LCM.
Par exemple, ce qui suit définit l'interface I2C.
Étape 4 : compiler et télécharger le programme sur la carte de développement Arduino Uno.
La figure 9 montre un schéma des écrans de trois LCM.
Lorsque le contraste d'affichage est clair ou sombre, la résistance variable au niveau de la broche V0 peut être ajustée à un contraste approprié, comme illustré à la figure 10.
(a) Contraste clair Seuls les caractères clairs peuvent être vus. | (b) Contraste approprié | (c) Contraste sombre Chaque caractère a une ombre évidente. |
---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Figure 9 :un schéma des écrans de trois LCM |
Figure 10 :la broche V0 est réglable
Si vous avez besoin d'un code de démonstration complet, veuillez nous contacter.
Personne à contacter: Mr. james
Téléphone: 13924613564
Télécopieur: 86-0755-3693-4482