[HD44780] 4x20 Zeichen Display an I2C

  • Einige kennen mein Lego Haus schon ansonsten hier nochmal der Link, in diesem habe ich ein 4x20 Zeichen Display verbaut. Da dieses Display mir zu viele GPIO Ports verbraucht möchte ich es über den I2C Bus betreiben. Um das Display an den I2C Bus anzuschließen habe ich mir diesen Adapter Bestellt, aus China dauert es aber noch eine weile :P


    Das Display funktioniert laut Datenblatt mit 5V, der I2C Bus des Raspi soweit ich weiß aber nur mit 3,3V.
    Kann ich das Display mit dem Adapter anschließen oder benötige ich noch einen I2C Level Converter wie diesen Hier.


    Im Anhang habe ich das Datenblatt meines Displays angehängt, daraus konnte ich aber nicht schließen das ich das ganze so direkt nutzen kann.


    Für Anregungen und Ideen bin ich Dankbar.


    trek_star

    Files

    • HD44780.pdf

      (329.8 kB, downloaded 191 times, last: )

  • also ich bin der Meinung was für RS232 funktioniert geht auch für I2C:
    http://www.forum-raspberrypi.d…rry-pi?pid=46849#pid46849


    1. I2C sollte für oc open collector stehen, dann genügen am PI zwei 3,3k Ohm nach +3,3V für die beiden I2C Leitungen SCL und SDA.


    2. Es gab leider hier Meldungen dasd sich nicht alle I2C Module daran halten, sondern selber nach +5V verschaltet sind, also bräuchte man zum PI eine Anpassung, von deinen genannten Modulen habe ich schon schlechtes gehört.


    Ich würde meinen Vorschlag übernehmen, 470 Ohm zwischen den Leitungen und Pullupdioden als Schutzdioden am GPIO und 3,3V.


    Sollte am I2C tatsächlich kein Pullup nach 5V sitzen muss man natürlich an den GPIO zwei pullup nach 3,3V setzen (3,3k)


    die 470 Ohm rüber zum 5V Modul und die Schutzdioden schaden trotzdem nicht !

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Edited once, last by jar ().

  • Laß den Adapter doch ersteinmal ankommen, dann verbindest Du diesen mit dem LCD und schaltest das Ganze an 5V & GND. Wenn Du mit einem Meßgerät dann am Adapter von GND zu SCL & SDA keine Spannung ( bzw. gleich od. < 3,3V ) messen kannst, ist alles i.O. und einem sicheren Betrieb am RPi steht nichts im Weg. Wenn daß nicht so ist, müßte man sich ein paar Gedanken zum Schutz des RPi machen.

  • Hallo TrekStar,



    das ist ja witzig! Ich hatte vor genau einer Woche das selbe Problem.


    Um es vorweg zu nehmen: ja das funktioniert alles und lässt sich machen...
    ich hab aber jetzt mehrere Tage gekämpft das Display über i2c betrieben zu bekommen... nun hab ichs endlich geschafft... bin grad dabei ne passende Klasse zu schreiben... wenn du das dann haben möchtest geb bescheid :)


  • .....Wenn daß nicht so ist, müßte man sich ein paar Gedanken zum Schutz des RPi machen.


    es kann nix schaden auch vorher darüber nach zu denken.... ;)


    so eine abenteuerliche Schutzschaltung mit FETs (Feldeffekttransistoren) kann ja auch mal durchbrennen.....


    das macht meine eher nicht, die 470 Ohm halten schon locker 5V sowie statische Entladung aus, die Dioden leiten Überschüssiges sicher ab.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Natürlich macht es am meisten sinn erstmal abzuwarten bis der Adapter da ist. Vorher kann man sich bei sowas sowieso nicht sicher sein was verbaut ist. Eine Absicherung ist natürlich immer sinnvoll, bei solchen Basteleien bin ich aber eher skeptisch und passe da auf.


    jar: danke für deine Idee, ich stecke in der Hardwareseite als Programmierer leider nicht weit genug drin um sowas zu planen.
    Da bin ich immer froh wenn es schlaue köpfe im Forum gibt :)


    Fliegenhals: das werde ich machen, laut Händler kommt der Adapter heute bei mir an, ich lass mich mal Überraschen :D


    p3pp0: hast du auch so einen Controller in Benutzung wie ich?
    Und hast du alles direkt angeschlossen oder irgendwie abgesichert?
    Wenn du einer Anleitung gefolgt bist wäre es super wenn du mir einen Link dazu geben könntest.

  • Das Display und auch der Adapter sind beide 5 V tollerant, sie laufen sowohl auf 3.3V wie auch auf 5 V


    Ich habe das Display sowohl am Level Shifter und auch schon direkt am Rasperry betrieben.


    Wenn du ein Script zum ansteuern brauchst , sag einfach bescheid.


    Uwe

  • Das Script ist auch nicht mir , klappt aber wunderbar.


    Das Script schiebe ich mal als ZIP-Datei hoch , dann gibts auch keine Formatierungsprobleme..


    Uwe

  • Anbei ein fritzing Schema um ein HD44780 Display mit I2C zu betreiben. ( http://fritzing.org/ )


    Dabei ist der Adafruit CharLCDPlate Quelltext und einmal angepasst für 4 Zeilen CharLCDPlate4.
    Ansonsten sind die beiden identisch.


    Das Schema kann man bei platinenbelichter günstig bekommen, oder selbst löten.


    Getestet und gebaut: http://imgur.com/DxhsuQE


    Schaltung enthält: 2 Poti ( Hintergrund + Font ), 1 Transistor damit man das Licht an/ab schalten kann.
    Einen I2C MCP23017 Chip.


    Quelltext ist dabei.


  • Das Script ist auch nicht mir , klappt aber wunderbar.


    Das Script schiebe ich mal als ZIP-Datei hoch , dann gibts auch keine Formatierungsprobleme..


    Uwe


    Moin Uwe,


    wollte grad dein Script testen.
    Beim Ausführen bekomme ich folgenden Fehler:

    Code
    Traceback (most recent call last):
      File "lcdtest.py", line 1, in <module>
        import pylcd
    ImportError: No module named pylcd


    Vermutlich ein leicht zu behebender Fehler, die Datei "pylcd" liegt im selben Verzeichnis.

  • Vielen Dank, jetzt läuft das Script endlich Problemlos durch.
    Es gibt aber auch gleich ein neues Problem, das Display blinkt nur einmal kurz auf und geht dann wieder aus.

  • Hi,


    bei mir auch. Was vorher drauf geschrieben wurde, bleibt erhalten. Nur die Hintergrundbeleuchtung geht aus. (und ich musste 0x3f einstellen -> da drauf ist das modul zu finden)



    mit angehangenen File geht eine Darstellung bei mir. (im Netz gefunden)
    raspi2.zip

    cu C-3po

    Edited once, last by C-3po ().