Mit dieser Library ist es möglich, Parallax-LCDs mit einem SX28AC/SS-G Chip anzusteuern (Parallax-LCD). LCDs von anderen Herstellern, aber mit dem gleichen Chip müssten auch funktionieren, solange sie mit drei Anschlüssen betrieben werden (+5V, GND und RX). Darüber hinaus ist die Library sehr leicht auf andere serielle LCDs anzupassen. Diese LCDs gibt es mit 4 Zeilen und 20 Zeichen und mit 2 Zeilen und 16 Zeichen. Die zweizeiligen Modelle gibt es mit und ohne Hintergrundbeleuchtung. Das vierzeilige Modell ist nur mit Hintergrundbeleuchtung erhältlich. Als Übertragungsrate sind 2400, 9600 oder 19200 bps möglich. Die Übertragungsraten werden auf der Rückseite per Minischaltern eingestellt und mässen in den Sketchs entsprechend gesetzt werden. Mit dem Display ist es mäglich, die ASCI-Zeichen 32 - 127 auszugeben. Es können 8 zusätzliche, benutzerdefinierte Zeichen erstellt werden.
Parallax Serial LCD Documentation v2.0 (.pdf)
Einschränkungen
Die Library erkennt nicht, ob es sich um ein zwei- oder vierzeilige Display mit oder ohne Hintergrundbeleuchtung handelt. Der Programmierer muss das bei der Cusor-Steuerung und bei der Hintergrundbeleuchtung berücksichtigen
Benutzerdefinierte Zeichen werden von der Library nicht unterstützt.
Beispiel
#include <SerialLCD.h> int datarate = 9600; // Übertragungsgeschwindigkeit SerialLCD mySerialLCD(datarate); // ein LCD-objekt erzeugen void setup() { Serial.begin(datarate); mySerialLCD.clearLCD(); //LCD löschen, falls sich da noch Müll befindet mySerialLCD.displayOn(, 0); // Display einschalten, ohne Cursor und Blinken mySerialLCD.backlightOn(); // Hintergrundbeleuchtung einschalten } void loop() { mySerialLCD.cursorPosition(1, 5); // Cursor in der LCD-Mitte positioniern Serial.print("Hello LCD"); mySerialLCD.cursorDown(); // Cursor eine Zeile runter positionieren for (int i = 9; i >= ; i--) { Serial.print(i); delay(1000); mySerialLCD.cursorLeft(); // Nach jeder Ausgabe den Cursor eine Stelle zurückbewegen } mySerialLCD.clearLCD(); // Bildschirm mit "*" füllen for (int zeile = ; zeile < 4; zeile++) { for (int spalte = ; spalte < 20; spalte++){ mySerialLCD.cursorPosition(zeile, spalte); Serial.print("*"); delay(100); } } delay(200); mySerialLCD.clearLCD(); // Alle Ausgaben löschen delay(200); }
Funktionen
Um die Library nutzen zu können, muss sie zip-Datei in das Verzeichnis "Arduino/hardware/libraries/" entpackt werden.
In dem Sketch, in dem das LCD genutzt werden soll, muss
"#include "SerialLCD.h"
eingefügt werden. Zusätzlich muss ein LCD-Objekt erzeugt werden, in etwa so:
int datarate = 9600; // Mögliche Werte: 2400, 9600 und 19200 SerialLCD mySerialLCD(datarate);
"datarate" kann dann auch für Serial.begin(datarate) benutzt werden. Normale Ausgaben werden mit Serial.print() bzw. Serial.println() ausgegeben. Serial.println() führt einen Zeilenvorscchub und einen Carriage Return aus, der Cursor wird also zwei Zeilen weiter gestellt.
backlightOn()
Schaltet die Hintergrundbeleuchtung ein.
backlightOff()
Schaltet die Hintergrundbeleuchtung aus.
clearLCD()
Der Cusor wird in die linke, obere Ecke gestellt und die Ausgabe auf dem Display gelöscht. Die Funktion pausiert 5 ms nach diesem Kommando.
carriageReturn
Der Cursor wird an den Anfang der nächsten Zeile gesetzt. Befindet er sich in der letzten Zeile, steht er danach auf der ersten Position der ersten Zeile.
cursorDown()
Der Cursor wird eine Zeile nach unten gesetzt. Die horizontale Position wird nicht verändert.
cursorLeft()
Der Cursor wird eine Position nach links versetzt.
cursorRight()
Der Cursor wird eine Position nach rechts versetzt.
cursorPosition(zeile, spalte)
Der Cursor wird an die durch "zeile" und "spalte" bestimmte Position gesetzt. "zeile" und "spalte" sind Integerwerte. Die erste Position oben links wird C-üblich mit zeile = 0 und spalte = 0 bestimmt.
displayOff()
Das Display wird abgeschaltet. Die Display-Inhalte bleiben bestehen. Das Display kann weiter beschrieben werden. So können im Hintergrund Ausgaben erstellt werden, die dann alle gleichzeitig auf dem Display wieder eingeblendet werden.
displayOn(cursor, blink)
Das Display wird eingeschaltet. Die Integer-Werte "cursor" und "blink" geben an, ob der Cursor sichtbar sein soll und ob er blinken soll.
| Wert = 0 | Wert = 1 | |
| cursor | aus | an |
| blink | aus | an |


vor 21 Wochen 12 Stunden
Wo finde ich zu diesem SerialLCD die Libary?
Antworten