Arduino: LCD mit SPLC780D1 003A Treiber IC (Liquid Crystal Library)
Ich habe eine gute Variante von LCDs mit dem SPLC780D1 003A Treiber IC gefunden. Der SPLC780D1 ist weitgehend kompatibel zum HD44780, hat aber einen erweiterten Zeichensatz der viele europäischen Sprachen abdeckt und somit die bei uns üblichen Sonderzeichen einfach darstellen kann.
Der Zeichensatz des SPLC780D1 LCD
SPLC780D1 LCDs sind in verschiedenen Varianten erhältlich. Für europäische Sprachen benötigst du den Zeichensatz 003A. Die Displays werden üblicherweise als "European" verkauft. Am Ende dieser Seite findest du einen Link wo diese Displays erhätlich sind. Das SPLC780D1 003A ROM beinhaltet mehr Zeichen als das HD44780 A00 ROM. Insgesamt sind 240 Zeichen definiert:
Dabei enteckt man einige interessante Sachen:
- In Spalte 0x01 finden sich mathematische Symbole.
- Die Spalten 0x02 - 0x07 entsprechen ASCII. Im Unterschied zum üblichen HD44780 sind auch der Backslash (\) und die Tilde (~) korrekt verfügbar.
- In den Spalten 0x08 - 0x0A befinden sich Zeichen von Latin-1 und Latin-2. Diese werden für "Western European" (ISO/IEC 8859-1), "Scandinavian" und "Southern European" Sprachen benötigt werden.
- In den Spalten 0x0B - 0x0C befinden sich mehr mathematische Symbole.
- In den Spalten 0x0D - 0x0F findet man weitere griechische Buchstaben.
Arduino Library für das SPLC780D1 LCD
Das SPLC780D1 soll mit allen Liquid Crystal Bibliotheken funktionieren. Aber erst meine "Noiasca Liquid Crystal" macht die Verwendung der Sonderzeichen einfach.
Abhängig von der Anschlussart deines Displays musst du nur den entsprechenden Converter für ein SPLC780D1 LCD dem Konstruktor übergeben. Beispielhaft für ein LCD mit einem I2C Expander Chip:
LiquidCrystal_PCF8574 lcd(addr, cols, rows, convert_SPLC780D1_003A);
Damit wird die Übersetzungseinheit für Latin-1 (Western European languages) and Latin-2 aktiviert. Die Sprachen Deutsch, Norwegisch, Schwedisch, Spanisch, Italienisch sind damit abgedeckt. Sprachen die Latin-2 benötigen sind gut - aber nicht vollständig unterstützt. Dazu zählen Französisch, Ungarisch, Tschechisch, Slowakisch, Slowenisch, Kroatisch, Polnisch.
Die Library enthält ein Beispiel, das viele der europäischen Sonderzeichen zeigt. Für einige Sprachen (Dänsich, Englisch, Schwedisch) können alle Zeichen dargestellt werden:
Im Deutschen verwenden wir das griechische Beta als Ersatz für das Scharfe-S:
Einige Sprachen verwenden mehr Diaktrische Zeichen (Punkte, Striche, Akut...) als im Zeichensatz verfügar sind. Diese Zeichen werden durch die jeweiligen Standardzeichen ersetzt:
Die Beispiele von Französisch und Italiensich zeigen sehr gut, dass die Kleinbuchstaben besser unterstützt werden als die Großbuchstaben:
And auch wenn gar keine Sonderzeichen verfügbar sind, dann werden zumindest die Standard-Zeichen dargestellt, so wie man es für Polnisch und Slowenisch benötigt:
Übrigens: wenn du kyrillisch für Russisch, Ukrainisch oder Bulgarisch benötigst, es gibt diese LCDs auch mit der Erweiterung um kyrillische Zeichen. Meistens werden diese Displays als "Russian" verkauft. Die Bibliothek unterstützt auch Displays mit dem SPLC780D1 002A Zeichensatz.
Zusammenfassung
Das SPLC780D1 LCD ist derzeit DIE Lösung wenn du möglichst viele europäische Sonderzeichen auf einem LCD darstellen möchtest. Das SPLC780D1 unterstützt den Latin-1 und Latin-2 Zeichensatz sowie einige Zeichen aus Latin-3. Wenn du eine Arduino Library für diese Displays benötigst, emfpehle ich dir die "Noiasca Liquid Crystal" mit dem entsprechenden Konverter für die SPLC780D1 ROMs.