Hallo zusammen,
ich habe noch eine Kurzanleitung für Euch.
Diesmal geht es um die beliebten und oft eingesetzten LCDs mit einem HD44780 Controller.
Da gibt es mittlerweile ja eine ganze Reihe verschiedener Anzeigen: solche mit 16 Zeichen und zwei Zeilen, 20 Zeichen und vier Zeilen, ...
Dazu bekommt man inzwischen eine kleine Zusatzplatine, die dazu dient I/O Pins zu sparen und es ermöglicht, diese Displays über IIC anzusteuern.
Ausserdem auf dem Markt: HD44780 kompatible LCDs, die bereits mit einer IIC-Adapterplatine bestückt sind.
Diese Displays richtig an einen Arduino Pro Mini anzuschliessen ist Zweck dieses Beitrags.
Tutorials gibt es in diesem Zusammenhang wie Sand am Meer und ich will auch nicht das Rad wieder neu erfinden. Deshalb alles nur in Kurzform damit ihr hier zentralen Zugriff auf eine überprüfte, deutsche Anleitung habt.
Voraussetzung:
Die LiquidCrystal- bzw. die LiquidCrystal_I2C Library muss in Eurem Arduino Envornment installiert sein (siehe -> hier <- bzw. -> hier <-).
Zunächst nehmen wir uns die parallele Verbindung vor. Dazu benötigt ihr das Display ohne IIC Adapter-Board.
Falls ihr an der Verbindung mit dem IIC-Adapter interessiert seid, könnt ihr diesen Absatz überspringen.
Als Grundlage habe ich -> dieses <- Tutorial genommen, in dem alles noch etwas ausführlicher erklärt wird. Es funktionierte bei mir "out of the box".
Ihr benötigt:
einen Arduino Pro Mini
ein Potentiometer mit ca. 10 kOhm
einen Widerstand ab 40 Ohm aufwärts (dient zur Strombegrenzung für die Beleuchtung)
einen FTDI Flash Adapter für den Pro Mini
ein Breadboard als Verbindungshilfe
17 Kabel
ein HD44780 kompatibles Display ohne IIC Adapter
Verdrahtung:
Zitat
Das Poti auf des Breadboard aufstecken oder den linken und rechten Pin des Poti mit + 5V bzw. GND verbinden
Den Widerstand auf das Breadboard aufstecken.Code Alles anzeigenPin #1 (VSS) des LCD mit GND verbinden Pin #2 (VDD) des LCD mit + 5V verbinden Pin #3 (VO) des LCD mit dem mittleren Anschluss des Poti verbinden Pin #4 (RS) des LCD mit Pin #12 des Arduino verbinden Pin #5 (RW) des LCD mit Pin #11 des Arduino verbinden Pin #6 (E) des LCD mit Pin #10 des Arduino verbinden Pin #11 (D4) des LCD mit Pin #5 des Arduino verbinden Pin #12 (D5) des LCD mit Pin #4 des Arduino verbinden Pin #13 (D6) des LCD mit Pin #3 des Arduino verbinden Pin #14 (D7) des LCD mit Pin #2 des Arduino verbinden Pin #15 (A) des LCD mit einer Seite des Widerstands verbinden Pin #16 (K) des LCD mit GND verbinden
Pin #7, Pin #8, Pin #9 und Pin #10 des LCD bleiben unbeschaltet.
Vcc des Arduino mit + 5V verbinden
GND des Arduino mit GND verbinden
die freie Seite des Widerstands mit Pin #13 des Arduino verbinden
Jetzt erst mal, wie immer, die Verkabelung (mehrfach) überprüfen und die Stromversorgung anschliessen.
Jetzt die Arduino IDE starten. Auf der Seite mit dem Tutorial ( -> hier <- ) könnt ihr jetzt das Beispiel mittels copy/paste in den Editor laden, oder ihr zieht Euch das zip-File.
Den Flash-Adapter auf den Arduino aufstecken, den sketch abspeichern und flashen.
Jetzt sollte der Text "Hello, World" in der ersten und "hacktronics.com" in der zweiten Zeile des Displays erscheinen.
Noch eine kleine Anmerkung: durch Ändern der Initialisierung können unterschiedliche Displays angesteuert werden.
wird für ein 20 Zeichen, 4 Zeilen Display während
für ein 16 Zeichen Display mit 2 Zeilen verwendet wird.
Analog dazu 16x4, 20x2, ...
Auch die Daten-Pins sind nicht fest vergeben und können beim Aufruf von
geändert werden.
Doch nun das Ganze in Verbindung mit einem IIC-Adapter.
Auch hier habe ich bereits existierendes Tutorial als Grundlage genommen. Ihr könnt es -> hier <- finden. Auch hier gab es keine Probleme und das Beispiel funktionierte auf Anhieb.
Hierfür benötigt ihr:
einen Arduino Pro Mini
einen FTDI Flash Adapter für den Pro Mini
evtl. ein Breadboard als Verbindungshilfe
16 Kabel oder eine mind. 16 pol. Flachbandleitung zur Verbindung IIC-Modul <-> LCD
6 Kabel für Spannungsversorgung und IIC-Bus
und schliesslich
ein HD44780 kompatibles Display mit IIC Adapter
oder
ein HD44780 kompatibles Display und einen IIC-Adapter
Hier sei, wie im Tutorial, angemerkt, dass wohl verschiedene IIC - Adapter auf dem Markt kursieren
Mir ist allerdings bisher immer das Gleiche untergekommen.
-> Hier <- mal so ein Querschnitt als Beispiel, was beim Auktionshaus Eures Vertrauens in diesem Zusammenhang so alles zu bekommen ist.
Kommen wir zu Verdrahtung.
Das ist jetzt so simpel, dass es kaum erwähnenswert ist. Zunächst verdrahtet ihr das IIC-Modul mit dem LCD. Hier werden einfach die Pins #1 bis #16 eins zu eins verbunden.
Am elegantesten und einfachsten ist es wohl, die Verbindungen mit einem passenden Flachbandkabel mit aufgepressten Steckern/Buchsen herzustellen.
Möglich ist auch, an das Display eine 16-polige Stiftleiste anzulöten und direkt eine Verbindung mit dem Modul über das Breadboard herzustellen. Allerdings steht das Display dann Kopf ...
Und natürlich geht es auch mit einzelnen Kabeln.
Als nächsten werden noch
SDA des Moduls mit SDA des Arduino ( Pin A4 )
SCL des Moduls mit SCL des Arduino ( Pin A5 )
Vcc des Arduino mit + 5V
GND des Arduino mit GND
Vcc des Moduls mit + 5V
GND des Moduls mit GND
verbunden.
Nun, jetzt noch die Spannungsversorgung einschalten und die Arduino IDE starten.
Nach antecken des FTDI Adapters das erste Beispiel mit copy/paste in den Editor der IDE einfügen und auf den Arduino flashen.
Ob es jetzt tatsächlich verschiedene IIC-Adapter mit unterschiedlichen IIC-Adressen gibt, entzieht sich meiner Kenntnis. Ich vertraue da auf die Arbeit, die der Autor der Tutorial-Seite investiert hat.
Das bedeutet, dass ihr evtl. hier ein wenig probieren müsst, was die Addresse betrifft. Wie schon erwähnt hat bei mir das erste Beispiel auf Anhieb funktioniert.
So ... ich hoffe, ich habe jetzt nichts vergessen und keinen Fehler eingebaut ...
Bei Problemen bitte melden ... zusammen bekommen wir das dann schon hin.
//EDIT: Hatte die LiquidCrystal_I2C Library übersehen. sorry ... ist korrigiert.
Viel Spass wünscht Euch
-ds-