Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
La bibliothèque de cristaux liquides a deux fonctions utiles scrollDisplayLeft() et scrollDisplayRight(). Ces fonctions font défiler tout l'affichage. C'est-à-dire qu'ils font défiler les deux lignes sur un écran LCD 1602 et les quatre lignes sur un écran LCD 2004. Ce dont nous avons souvent besoin, c'est de la possibilité de faire défiler une seule ligne sur ces écrans plutôt que de faire défiler l'ensemble de l'écran.
Ce Instructable fournit deux fonctions supplémentaires, scrollInFromRight (ligne pour afficher le texte, chaîne à faire défiler) et scrollInFromLeft (ligne pour afficher le texte, chaîne à faire défiler). Ces deux fonctions qui font défiler des lignes sur l'écran LCD combinées aux deux fonctions, scrollLineRight (ligne sur laquelle afficher le texte, chaîne à faire défiler) et scrollLineLeft (ligne sur laquelle afficher le texte, chaîne à faire défiler) de mon précédent Instructable, qui présentait fonctions pour faire défiler les lignes hors de l'écran, nous offre plusieurs moyens puissants de contrôler la manière dont le texte peut être présenté ou supprimé d'un écran LCD.
Étape 1: ce qui est nécessaire
- Un écran LCD autonome 1602 ou 2004 ou un écran LCD
-- Voir la note ci-dessous concernant l'utilisation d'un écran LCD 2004
- Un Arduino UNO R3 ou clone
- Un câble USB pour connecter l'Arduino à un ordinateur
- Une demi-taille, 400 points d'attache, une planche à pain
- L'IDE Arduino
- Une plateforme expérimentale (facultatif, mais utile)
Les éléments requis sont un écran LCD 1602 ou 2004 [si un 2004 est utilisé, cela fonctionnera sans problème pour faire défiler à partir de la droite en modifiant la fonction lcd.begin() pour refléter que vous utilisez maintenant une ligne de 20 caractères x 4 affichage. [Pour faire défiler depuis la gauche en utilisant un affichage 2004, une réécriture de code de la fonction crollInFromLeft() est nécessaire]. En plus d'un écran LCD, vous aurez besoin d'un Arduino UNO ou clone, de l'Arduino IDE et d'un câble USB pour connecter l'Arduino à un ordinateur.
Un écran LCD peut être utilisé à la place de l'écran LCD autonome illustré ici. Si tel est le cas, les affectations des broches de l'écran LCD dans le schéma ci-dessous devront être modifiées.
- Pour l'écran LCD indépendant 1602, j'ai utilisé les affectations de broches suivantes dans mes croquis:
// LiquidCrystal (rs, activer, d4, d5, d6, d7)
LiquidCrystal LCD (12, 11, 5, 4, 3, 2);
et inclus la bibliothèque Liquid Crystal LiquidCrystal.h.
- Pour le bouclier LCD, j'utilise les affectations de broches suivantes dans mes croquis, et j'ai également inclus la bibliothèque Liquid Crystal LiquidCrystal.h.
// LiquidCrystal (rs, activer, d4, d5, d6, d7)
LiquidCrystal LCD (8, 13, 9, 4, 5, 6, 7);
L'une ou l'autre route exécutera le code ici, c'est-à-dire un écran LCD ou un écran LCD autonome. Un écran LCD autonome 1602 a été utilisé dans ce Instructable, mais comme indiqué, un bouclier 1602 peut également être utilisé si les différentes affectations de broches sont prises en compte.
J'ai utilisé une "plate-forme expérimentale" pour connecter l'Arduino UNO à une planche à pain demi-taille, 400 points d'attache. (Voir un de mes précédents Instructable, " Plate-forme expérimentale pour l'Arduino UNO R3, Comment le préparer pour l'utiliser "). Cependant, une plate-forme expérimentale n'est pas nécessaire, bien que pour moi, cela rende la connexion de l'écran LCD à l'UNO beaucoup plus facile et plus rapide.
Les affectations que j'ai utilisées pour connecter l'écran LCD à l'UNO peuvent être vues ci-dessus.
Étape 2: Connexion
L'écran LCD est branché sur une planche à pain, puis les fils de raccordement sont connectés de la planche à pain aux broches appropriées de l'Arduino (voir l'étape 2 si vous avez des questions sur les connexions que j'ai utilisées).
J'ai préféré un écran LCD autonome pour ce projet plutôt qu'un shield car il était plus satisfaisant pour moi et me permettait de voir facilement quelles broches étaient disponibles. Cela me permet également d'utiliser un potentiomètre qui a un bouton, plutôt qu'un potentiomètre de bouclier qui doit être ajusté avec un tournevis.
L'écran LCD autonome nécessite l'utilisation d'un potentiomètre séparé de 10 kohms. Comme indiqué ci-dessus, j'en ai utilisé un avec un bouton dont l'essuie-glace est connecté à la troisième broche LCD (en comptant à partir de la droite avec les broches LCD face à vous). Le potentiomètre est utilisé pour contrôler le contraste de l'écran LCD. Les connexions sont les mêmes pour le 1602 et le 2004. Cependant, la déclaration lcd.begin (16, 2) doit être changée dans le sketch en lcd.begin (20, 4) pour montrer que notre écran LCD est passé d'un 16 affichage de caractère par deux lignes à un affichage de 20 caractères par quatre lignes.
Un regard sur les photographies ci-jointes montre le branchement que j'ai utilisé, y compris la plate-forme expérimentale et le potentiomètre 10k.
Étape 3: le croquis
Entrez simplement le croquis ci-joint dans l'IDE Arduino. Veuillez garder à l'esprit que le site Instructable supprime souvent tous les signes supérieurs et inférieurs à et le texte entre eux. Par conséquent, assurez-vous d'inclure le texte #include LiquidCrystal.h et placez les mots LiquidCrystal.h à l'intérieur des symboles supérieur et inférieur à.
// Esquisse pour faire défiler les caractères sur un écran LCD
#include // Voir la note dans le texte sur ce qui est nécessaire ici, c'est-à-dire LiquidCrystal.h inclus à l'intérieur
// supérieur et inférieur aux symboles
// Ce site supprime souvent les symboles supérieur et inférieur à et le texte entre eux
// LiquidCrystal (rs, activer, d4, d5, d6, d7)
LiquidCrystal LCD (12, 11, 5, 4, 3, 2);
// Déclarer l'écran LCD en tant qu'objet LiquidCrystal
entier je = 0;
entier j = 0;
entier k = 0;
int delayTime2 = 350; // Délai entre les quarts de travail
void scrollInFromRight (int line, char str1) {
// Écrit par R. Jordan Kreindler Juin 2016
i = strlen(str1);
pour (j = 16; j >= 0; j--) {
lcd.setCursor(0, ligne);
pour (k = 0; k <= 15; k++) {
lcd.print(" "); // Effacer la ligne
}
lcd.setCursor(j, ligne);
lcd.print(str1);
delay(delayTime2);
}
}
void scrollInFromLeft (ligne int, char str1) {
// Écrit par R. Jordan Kreindler Juin 2016
i = 40 - strlen(str1);
ligne = ligne - 1;
pour (j = i; j <= i + 16; j++) {
pour (k = 0; k <= 15; k++) {
lcd.print(" "); // Effacer la ligne
}
lcd.setCursor(j, ligne);
lcd.print(str1);
delay(delayTime2);
}
}
void setup() {
Serial.begin(9600);
Serial.println("Démarrage du test …");
lcd.begin (16, 2);
lcd.clear();
lcd.print("Test uniquement");
}
boucle vide() {
lcd.clear();
scrollInFromRight(0, "Ligne1 à partir de la droite");
scrollInFromRight(1, "Line2 From Right");
lcd.clear();
scrollInFromLeft(0, "Ligne1 à partir de la gauche.");
scrollInFromLeft(1, "Line2 From Left.");
lcd.clear();
scrollInFromRight(0, "Ligne1 à partir de la droite");
scrollInFromLeft(1, "Line2 From Left.");
lcd.clear();
}
Les deux fonctions: scrollInFromRight (ligne sur laquelle afficher le texte, chaîne à faire défiler) et scrollInFromLeft (ligne sur laquelle afficher le texte, chaîne à faire défiler) peuvent être déplacées dans votre croquis pour contrôler les lignes qui défilent sur l'écran LCD. Ces fonctions offrent un moyen élégant de déplacer du nouveau texte à l'écran.
Lorsqu'elles sont combinées avec les deux fonctions de l'esquisse contenue dans l'Instructable « Faire défiler une seule ligne LCD vers la gauche ou la droite, Comment faire », les quatre fonctions offrent des moyens élégants de faire défiler du texte sur et hors d'un écran LCD. Ces fonctions vous permettent de faire défiler le texte ligne par ligne et ne nécessitent pas de faire défiler tout l'affichage comme le font les fonctions scrollDisplayLeft() et scrollDisplayRight().
Cette capacité de défilement nous permet de présenter des lignes plus longues que l'écran est normalement capable de montrer. C'est-à-dire que pour un affichage 1602, nous ne sommes pas limités à seulement 16 caractères par ligne (bien que seuls 16 s'afficheront à la fois), et pour un 2004, nous ne sommes pas limités à 20 caractères par ligne.
Soit dit en passant, vous voudrez peut-être ajuster le temps d'affichage entre les défilements en fonction de vos besoins.
Étape 4: Ensuite
C'est tout ce qu'on peut en dire. Ces fonctions et les deux de mon précédent Instructable peuvent être ajoutées à n'importe quel croquis que vous avez qui utilise un écran LCD et affiche du texte. Comme indiqué, la possibilité d'utiliser des lignes plus longues est un avantage certain qui est possible grâce à l'utilisation du défilement.
Si vous souhaitez me contacter pour toute question ou pour des informations supplémentaires, ou pour approfondir mes connaissances dans le domaine présenté, je suis joignable à [email protected]. (veuillez remplacer le deuxième "i" par un "e" pour me contacter.