Arduino: LCD mit ST7070 Driver (liquid crystal I2C)

In einer meiner Arduino LCD Bestellungen habe ich Displays mit ST7070 erhalten. Die Unterschiede zu HD44780 Displays möchte ich hier erklären.

ST7070: Seriell oder Parallel

Das ST7070 Display kann (analog den HD44780U Modellen) parallel im 8bit oder 4bit Modus angesprochen werden. Mein ST7070 LCD hat eine zusätzliche Kontakleiste. Es verfügt über serielle Schnittstellen (3 und 4 wire SPI). Die jeweilige Ansteuerung muss über Lötbrücken codiert werden: s-seriell p-parallel.

LCD mit deutschen Umlauten für Arduino

Im Auslieferungszustand war mein Display auf seriell Kommunikation gestellt. Für den parallele Anschluss (oder für einen üblichen I2C PCF8574) muss die Lötbrücke auf p (=parallel) gesetzt werden! Und das war eigentlich auch die größte Hürde. Nach Codierung auf parallel hat das LC-Display auf Anhieb funktioniert. Auch die Ansteuerung mit einem PCF8574P klappt wie gewohnt.

Der Zeichensatz des ST7070 LCD

Der ST7070 hat einen erweiterten Zeichensatz gegenüber dem Hitachi HD44780U A00 ROM, 240 Zeichen sind nutzbar:

Alle Sonderzeichen inkl. deutscher Umlaute am LCD für Arduino

Folgendes ist zu beachten:

  • Im Bereich 0x10-0x1F finden sich einige westeuropäische Schriftzeichen, auch die großen deutsche Umlaute sind darunter
  • Im Bereich 0x80-0xA0 sowie auf 0xEF befinden sich weitere Sonderzeichen. Interessant dürften § © ® ™ größer/gleich, kleiner/gleich und die Doppelpfeile sein
  • Im Gegensatz zum HD44780 kann das Displays auch auf das Pattern 2 umgeschaltet werden (Font table selection bit) und somit stehen insgesamt 512 Zeichen zur Verfügung.

Im Pattern 2 befinden sich weitere westeuropäische Schriftzeichen (vgl. Windows-1252 und ISO 8859-15) sowie einzelne kyrillische Schriftzeichen. Wenn diese Zeichen benötigt werden, bitte einen Blick in das ST7070 Datasheet werfen, für den Standard-Anwender wird das Pattern 1 ausreichen. Das Umschalten in das Pattern 2 erfolgt mit dem gleichen Befehl, der auf HD44780 Chips für das Blinken verwendet wird. Ein

lcd.blink();

aktiviert für die nächsten Ausgegeben Zeichen das Pattern 2.

Arduino Library für LCD mit ST7070

Prinzipiell kann für den ST7070 auch jede herkömmliche Arduino "Liquid Crystal Library" verwendet werden. Ich empfehle jedoch die Verwendung meiner Liquid Crystal I2C mit dem Konstruktor

LiquidCrystal_PCF8574 lcd(addr, cols, rows, convert_ST7070);

da diese einen einfachen Zugriff auf die deutschen Umlaute und viele Buchstaben aus Latin-1  bietet.

Noch mehr Sonderzeichen (aus Latin-2) sind mit folgendem Konstruktor am ST7070 Display möglich:

LiquidCrystal_PCF8574 lcd(addr, cols, rows, convert_ST7070_ext);

Zusammenfassung

Der ST7070 ist im großen Teilen kompatibel zum HD44780, in der parallelen Ansteuerung können die meisten bestehenden LCD Libraries für den Arduino verwendet werden. Heute sind die ST7070 schwer erhältlich, wenn man viele Europäische Schriften benötigt, wären LCD mit einem SPLC780D1 eine gut verfügbare Alternative. Wie bei den meisten LC Displays so weicht auch beim ST7070 die Zeichensatzbelegung von UTF8 ab, weswegen die Ausgabe von Sonderzeichen am Besten mit einer entsprechenden Library durchgeführt wird.

Links

Die mit Sternchen (*) gekennzeichneten Verweise sind sogenannte Affiliate/Provision-Links. Wenn du auf so einen Verweis klickst und über diesen Link einkaufst, bekomme ich von deinem Einkauf eine (kleine) Provision. Für dich verändert sich der Preis dadurch nicht. Ich empfehle nur Produkte die ich selber besitze und wenn ich überzeugt bin, dass sie für andere interesssant sind.

 


Protokoll

First upload: 2020-04-02 | Version: 2024-03-22