Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Die Liquid Crystal Library verfügt über zwei nützliche Funktionen scrollDisplayLeft() und scrollDisplayRight(). Diese Funktionen scrollen durch das gesamte Display. Das heißt, sie scrollen beide Zeilen auf einem 1602-LCD und alle vier Zeilen auf einem 2004er LCD. Was wir oft brauchen, ist die Möglichkeit, eine einzelne Zeile auf diesen Displays zu scrollen, anstatt das gesamte Display zu scrollen.
Dieses Instructable bietet zwei zusätzliche Funktionen, scrollInFromRight (Zeile zum Anzeigen von Text, zu scrollende Zeichenfolge) und scrollInFromLeft (Zeile zum Anzeigen von Text, zu scrollende Zeichenfolge). Diese beiden Funktionen, die Zeilen in den LCD-Bildschirm scrollen, kombiniert mit den beiden Funktionen scrollLineRight (Zeile zum Anzeigen von Text, zu scrollende Zeichenfolge) und scrollLineLeft (Zeile zum Anzeigen von Text, zu scrollende Zeichenfolge) von meinem früheren Instructable, das präsentierte Funktionen zum Scrollen von Zeilen vom Bildschirm, bietet uns mehrere leistungsstarke Möglichkeiten, um zu steuern, wie Text auf einem LCD-Bildschirm dargestellt oder von diesem entfernt werden kann.
Schritt 1: Was wird benötigt?
- Ein eigenständiges LCD-Display 1602 oder 2004 oder ein LCD-Schild
-- Siehe Hinweis unten bezüglich der Verwendung eines LCD-Displays von 2004
- Ein Arduino UNO R3 oder Klon
- Ein USB-Kabel zum Anschluss des Arduino an einen Computer
- Eine halbe Größe, 400 Verbindungspunkte, Steckbrett
- Die Arduino-IDE
- Eine experimentelle Plattform (optional, aber hilfreich)
Die erforderlichen Elemente sind ein LCD-Bildschirm, entweder 1602 oder 2004 [wenn ein 2004 verwendet wird, funktioniert es problemlos, von rechts zu scrollen, indem Sie die Funktion lcd.begin() ändern, um widerzuspiegeln, dass Sie jetzt eine 20-Zeichen x 4-Zeile verwenden Anzeige. [Um mit einem 2004er Display von links hereinzuscrollen, ist ein Umschreiben des Codes der Funktion s crollInFromLeft() erforderlich]. Zusätzlich zu einem LCD benötigen Sie einen Arduino UNO oder Klon, die Arduino IDE und ein USB-Kabel, um das Arduino mit einem Computer zu verbinden.
Anstelle des hier gezeigten Standalone-LCDs kann ein LCD-Schild verwendet werden. Wenn dies der Fall ist, müssen die Pin-Belegungen für das LCD in der folgenden Skizze geändert werden.
- Für das unabhängige 1602 LCD-Display habe ich in meinen Skizzen folgende Pinbelegung verwendet:
// Flüssigkristall (rs, aktivieren, d4, d5, d6, d7)
Flüssigkristall-LCD (12, 11, 5, 4, 3, 2);
und enthielt die Flüssigkristallbibliothek LiquidCrystal.h.
- Für das LCD-Shield verwende ich in meinen Skizzen die folgenden Pinbelegungen und habe auch die Flüssigkristallbibliothek LiquidCrystal.h mitgeliefert.
// Flüssigkristall (rs, aktivieren, d4, d5, d6, d7)
Flüssigkristall-LCD (8, 13, 9, 4, 5, 6, 7);
Jede Route führt den Code hier aus, d. h. entweder ein LCD-Schild oder ein eigenständiges LCD. In diesem Instructable wurde ein 1602-Standalone-LCD-Display verwendet, aber wie bereits erwähnt, kann auch ein 1602-Shield verwendet werden, wenn die unterschiedlichen Pinbelegungen berücksichtigt werden.
Ich habe eine "experimentelle Plattform" verwendet, um das Arduino UNO mit einem Steckbrett mit halber Größe, 400 Verbindungspunkten, zu verbinden. (Siehe ein früheres Instructable von mir, „Experimentelle Plattform für das Arduino UNO R3, wie man es für den Gebrauch vorbereitet“). Eine experimentelle Plattform wird jedoch nicht benötigt, obwohl sie für mich den Anschluss des LCD an die UNO viel einfacher und schneller macht.
Die Zuordnungen, die ich für den Anschluss des LCD an die UNO verwendet habe, sind oben zu sehen.
Schritt 2: Anschluss
Das LCD wird in ein Steckbrett eingesteckt und dann werden Anschlussdrähte vom Steckbrett mit den entsprechenden Pins des Arduino verbunden (siehe Schritt 2, wenn Sie Fragen zu den von mir verwendeten Anschlüssen haben).
Ich habe für dieses Projekt ein eigenständiges LCD einem Schild vorgezogen, da es für mich zufriedenstellender war und ich leicht sehen konnte, welche Pins verfügbar waren. Es ermöglicht mir auch, ein Potentiometer mit einem Drehknopf anstelle eines Schildpotentiometers zu verwenden, das mit einem Schraubendreher eingestellt werden muss.
Das eigenständige LCD erfordert die Verwendung eines separaten 10-k-Ohm-Potentiometers. Wie oben erwähnt, habe ich einen mit einem Knopf verwendet, dessen Wischer mit dem dritten LCD-Pin verbunden ist (von rechts gezählt, wobei die LCD-Pins zu Ihnen zeigen). Das Potentiometer wird verwendet, um den Kontrast des LCD zu steuern. Die Anschlüsse sind beim 1602 und beim 2004 gleich. Allerdings muss die Anweisung lcd.begin(16, 2) in der Skizze in lcd.begin(20, 4) geändert werden, um zu zeigen, dass sich unser LCD von einem 16. geändert hat Zeichen-durch-Zweizeilen-Anzeige zu einer 20-Zeichen-durch-vierzeiligen Anzeige.
Ein Blick auf die beigefügten Fotos zeigt den von mir verwendeten Anschluss, einschließlich der experimentellen Plattform und des 10k-Potentiometers.
Schritt 3: Die Skizze
Geben Sie einfach die angehängte Skizze in die Arduino IDE ein. Bitte beachten Sie, dass die Instructable-Site oft alle größeren als und weniger als Zeichen und den Text zwischen ihnen entfernt. Stellen Sie daher sicher und fügen Sie den Text #include LiquidCrystal.h ein und schließen Sie die Wörter LiquidCrystal.h in größere als und kleinere als Symbole ein.
// Skizzieren Sie, um Zeichen auf einem LCD-Bildschirm zu scrollen
#include //Siehe Hinweis im Text, was hier benötigt wird, d. h. LiquidCrystal.h darin eingeschlossen
// größer als und kleiner als Symbole
// Diese Seite entfernt oft mehr als und weniger als Symbole und den Text dazwischen
// Flüssigkristall (rs, aktivieren, d4, d5, d6, d7)
Flüssigkristall-LCD (12, 11, 5, 4, 3, 2);
// LCD als LiquidCrystal-Objekt deklarieren
int i = 0;
intj = 0;
intk = 0;
int delayTime2 = 350; // Verzögerung zwischen den Schichten
void scrollInFromRight (int line, char str1) {
// Geschrieben von R. Jordan Kreindler Juni 2016
i = strlen(str1);
für (j = 16; j >= 0; j--) {
lcd.setCursor(0, Zeile);
für (k = 0; k <= 15; k++) {
lcd.print(" "); // Linie löschen
}
lcd.setCursor(j, Zeile);
lcd.print (str1);
Verzögerung (delayTime2);
}
}
void scrollInFromLeft (int line, char str1) {
// Geschrieben von R. Jordan Kreindler Juni 2016
i = 40 - strlen(str1);
Linie = Linie - 1;
für (j = i; j <= i + 16; j++) {
für (k = 0; k <= 15; k++) {
lcd.print(" "); // Linie löschen
}
lcd.setCursor(j, Zeile);
lcd.print (str1);
Verzögerung (delayTime2);
}
}
Leere Einrichtung () {
Serial.begin (9600);
Serial.println("Test starten …");
lcd.begin(16, 2);
lcd.clear();
lcd.print("Nur Test");
}
Leere Schleife () {
lcd.clear();
scrollInFromRight(0, "Zeile1 von rechts");
scrollInFromRight(1, "Line2 von rechts");
lcd.clear();
scrollInFromLeft(0, "Zeile1 von links.");
scrollInFromLeft(1, "Zeile2 von links.");
lcd.clear();
scrollInFromRight(0, "Zeile1 von rechts");
scrollInFromLeft(1, "Zeile2 von links.");
lcd.clear();
}
Die beiden Funktionen scrollInFromRight (Zeile zum Anzeigen von Text, String zum Scrollen) und scrollInFromLeft (Zeile zum Anzeigen von Text, String zum Scrollen) können in Ihre Skizze verschoben werden, um die Zeilen zu steuern, die auf dem LCD-Bildschirm gescrollt werden. Diese Funktionen bieten eine elegante Möglichkeit, neuen Text auf den Bildschirm zu verschieben.
In Kombination mit den beiden Funktionen in der Skizze, die im Instructable "Scrollen Sie eine einzelne LCD-Zeile nach links oder rechts, How to" enthalten ist, bieten die vier Funktionen elegante Möglichkeiten, Text auf und aus einem LCD-Display zu scrollen. Mit diesen Funktionen können Sie Text zeilenweise scrollen und erfordern nicht, dass die gesamte Anzeige gescrollt wird, wie dies bei den Funktionen scrollDisplayLeft() und scrollDisplayRight() der Fall ist.
Diese Scroll-Fähigkeit ermöglicht es uns, Zeilen länger darzustellen, als das Display normalerweise anzeigen kann. Das heißt, für ein 1602-Display sind wir nicht auf nur 16 Zeichen pro Zeile beschränkt (obwohl nur 16 gleichzeitig angezeigt werden), und für ein 2004 sind wir nicht auf 20 Zeichen pro Zeile beschränkt.
Nebenbei möchten Sie vielleicht die Anzeigezeit zwischen den Blättern an Ihre Bedürfnisse anpassen.
Schritt 4: Danach
Das ist alles dazu. Diese Funktionen und die beiden aus meinem vorherigen Instructable können zu jeder Skizze hinzugefügt werden, die ein LCD verwendet und Text anzeigt. Wie bereits erwähnt, ist die Möglichkeit, längere Zeilen zu verwenden, ein eindeutiger Vorteil, der durch Scrollen möglich ist.
Wenn Sie mich bei Fragen oder für weitere Informationen kontaktieren oder mein Wissen im vorgestellten Bereich erweitern möchten, bin ich unter [email protected] erreichbar. (Bitte ersetzen Sie das zweite 'i' durch ein 'e', um mich zu kontaktieren.