- Das Geheimnis des Kreises -
Textausgabe mit LCD 20x4 (I2C) und Arduino Nano
In der folgenden Schaltung treten das 20x4 Display und Arduino Nano als Hauptakteure auf. Es soll auf dem Display ein Text
angezeigt werden. Das Display könnte man über seine digitalen Eingänge D0-D7 direkt ansteuern, doch das würde einen großen Verlust an
digitalen Ein-bzw. Ausgängen bei Arduino bedeuten. Um diese für andere Zwecke freizuhalten, soll in diesem Beispiel das Display über I2C-Bus
angesteuert werden. Damit werden lediglich zwei Anschlüsse des Arduino Nano in Anspruch genommen.
Ein Beispiel für direkte Ansteuerung des Displays findet man unter dem folgenden Link. Hier kann man erkennen, dass
sechs Verbindungen zwischen Display und Arduino hergestellt werden müssen.
Das Display kann allerdings ohne bestimmte Vorbereitungsmaßnahmen nicht über I2C-Bus mit Außenwelt kommunizieren. Hier muss ein
„Zwischenstück“ her, das eine solche Kommunikation ermöglicht. Die Rolle des Dolmetschers übernimmt in dem Beispiel der Displaytreiber
PCF8574T. Der IC-Baustein wurde extra für solche Anwendungen entwickelt und eignet sich sehr gut für die gestellte Aufgabe. Der PCF8574T
Expander kommuniziert selbst über I2C-Bus, übersetzt die ankommenden Kommandos und setzt entsprechend acht seiner Ausgänge auf Low oder High.
Diese müssen mit den Anschlüssen D0-D7 des Displays verbunden werden. Der Baustein benötigt ein wenig Umgebungselektronik, einige Verbindungen,
Widerstände etc. (Datenblatt), doch dieser Aufwand ist nicht immer zwingend notwendig. Wir umgehen das Problem und setzen in der Schaltung
ein fertiges Adapter mit dem IC, das für die I2C-Kommunikation und Datenaustausch mit dem Display bereits vorbereitet ist, ein. Das fertige Interface-Modul
mit dem Mikrochip PCF8574T wird einfach an das Display angelötet. Die fertigen Module mit PCF8574T werden im Handel breit angeboten und kosten
nicht selten weniger als der Selbstbau.
Das Duo sieht dann wie folgt aus:
LCD-Display mit angelötetem I2C-Modul
Die kleine Interface-Platine stellt uns zwei Pins (SCL, SDA) für die I2C-Kommunikation und zwei für Spannungsversorgung zur
Verfügung. Sie beinhaltet einen Poti, mit dem der Kontrast der Anzeige eingestellt werden kann. Mit einem Jumper kann die
Hintergrundbeleuchtung ein- bzw. ausgeschaltet werden.
Arduino
Arduino Nano
Nachdem alle Komponenten zusammengestellt wurden, kann man mit der Verdrahtung beginnen. Es sind nur wenige Verbindungen
notwendig. In diesem Beispiel wird Arduino mit 9 VDC eingespeist. Das Display wird mit 5 VDC versorgt. Die Verschaltung erfolgt nach
folgendem Plan:
Schaltplan
Testschaltung
Das Programm
Im Programm werden wir folgenden Text:
„Der Kreis
ist eine geometrische Figur,
bei der an allen Ecken und Enden gespart wurde.“
von unten nach oben scrollen. Um die I2C-Kommunikation mit dem Display herzustellen verwenden wir die Bibliothek „LiquidCrystal_I2C.h“.
Die Bibliothek kann über das Menü „Bibliotheken verwalten“ installiert werden. Infos im Internet findet man unter:
https://github.com/johnrickman/LiquidCrystal_I2C.
Im Programm wird die Länge der einzelnen Wörter ermittelt und so die X-Position jedes Wortes innerhalb einer Zeile bestimmt. Zwei
verschachtelte Schleifen sorgen für das Scrollen des Textes von unten nach oben.