Software Library "SerialLCD"

vor 1 Jahr 16 Wochen

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


Trackback URL für diesen Artikel:

http://freeduino.de/trackback/516

Dieser Artikel wurde geschrieben von:

gatonero - hat Artikel auf Freeduino geschrieben.


Blog des Autors

2 Antworten auf “Software Library "SerialLCD"”


  1. Christian Himmler sagt:

    Wo finde ich zu diesem SerialLCD die Libary?

    Antworten

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
Array
CAPTCHA
Diese Frage hat den Zweck zu testen, ob man ein menschlicher Benutzer ist und um automatisierten Spam vorzubeugen.
_ideokassette:
Inhalt abgleichen