HD44780 kompatible LCDs parallel/IIC am Arduino Pro Mini

  • 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.

    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.

    Code
    lcd.begin(20,4);


    wird für ein 20 Zeichen, 4 Zeilen Display während

    Code
    lcd.begin(16,2);


    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

    Code
    LiquidCrystal lcd( ..., ... );


    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

    Code
    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-

  • HD44780 kompatible LCDs parallel/IIC am Arduino Pro Mini? Schau mal ob du hier fündig wirst!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!