Raspberry Pi LCD Display: 16×2 Zeichen anzeigen (HD44780)

Der gängigste Controller der mehrzeiligen Zeichen-Displays ist der HD44780. Es gibt verschiedene Raspberry Pi LCD Display Größen (8×2, 16×2, 20×4, etc.), die damit laufen. In diesem Tutorial wird der Aufbau eines 16×2 Zeichen Displays als auch ein Test Skript gezeigt.

Einige Worte vorweg gesagt: In diesem Tutorial werden alle Pins direkt angesprochen, wodurch recht viele GPIOs belegt werden. Eine andere Methode ist die Verbindung via I2C.

 

Zubehör

Folgendes Material wird benötigt:

 

Aufbau

Ich beziehe mich in diesem Fall auf die Pin Numerierung (GPIO.BOARD), nicht auf die GPIO Nummern:

 

Raspbery Pi GPIO Belegung

Raspbery Pi GPIO Belegung

 

LCD Pin an RPi GPIO Beschreibung
 1. VSS  Pin 6 (GND)  Versorgunsspannung (Masse)
 2. VDD  Pin 2 (5V)  Versorgunsspannung 5V
 3. V0  Pin 6 (GND)  Kontrastspannung
 4. RS  Pin 7 (GPIO4)  Registerauswahl (0: Befehlsregister, 1: Datenregister)
 5. RW  Pin 6 (GND)  Read/Write (0: Write Modus, 1: Read Modus)
 6. E  Pin 11 (GPIO17)  Taktflanke
 7. D0  –  Datenleitung 0
 8. D1  –  Datenleitung 1
 9. D2  –  Datenleitung 2
 10. D3  –  Datenleitung 3
 11. D4  Pin 12 (GPIO18)  Datenleitung 4
 12. D5  Pin 15 (GPIO22)  Datenleitung 5
 13. D6  Pin 16 (GPIO23)  Datenleitung 6
 14. D7  Pin 18 (GPIO24)  Datenleitung 7
 15. A  Pin 2 (5V) (mit Poti)  Hintergrundbeleuchtung Anode
 16. K  Pin 6 (GND)  Hintergrundbeleuchtung Kathode

 

Schematisch sieht das ganze folgendermaßen aus:

Raspbery Pi LCD Display Anschluss

Raspbery Pi LCD Display Anschluss

 

Durch drehen des Potentiometers kann die Hintergrundbeleuchtung geregelt werden. Manche Displays vertragen keine 5V für die Hintergrundbeleuchtung, daher sollte entweder ins Datenblatt geschaut werden, oder immer zumindest ein 470Ω – 510Ω Widerstand zwischen geschaltet werden.

 

Raspberry Pi LCD Display testen

Du kannst das Skript, welches ich verwendet habe, entweder hier ansehen, oder einfach downloaden und ausprobieren.

wget http://www.tutorials-raspberrypi.de/wp-content/uploads/scripts/hd44780_test.py
chmod +x hd44780_test.py
python hd44780_test.py

Solltest du ein anderes Display oder eine andere Pin Belegung gewählt haben,vergiss nicht das Skript anzupassen.

Durch die einfache Ansteuerung kannst du verschiedene Skripte, die bspw. den Status des Pi’s anzeigen, erstellen.

196 Kommentare

  1. Hi,
    ich habe das Problem, dass mein Display (und ein weiteres welches ich mir testweise besorgt habe) nur noch weiße Pixel zeigt. Ich habe ein Poti am Kontrast 🙂

    Interessanterweise haben deine Beschreibung und dein Script anfangs wunderbar funktioniert. Ich weiß allerdings nicht mehr, warum es plötzlich nicht mehr läuft.

    Ich hatte auch schon von einer möglichen Überspannung gehört, nachgemessen und nun einen 22R Widerstand am 5V0, so dass die Spannung nun bei 5,03 V liegt. Hilft aber auch nicht.

    Sobald ich Strom drauf gebe ist die 1. Zeile weiß und die 2. Zeile dunkel. Sobald der erste Text kommt, flackert alles und das display ist komplett mit weißen Pixeln gefüllt.

    Antworten
    • Das klingt schwer danach, dass ein Fehler im Display ist. Ob es kaputt gegangen ist, kann ich dir nicht sagen, aber hast du mal alle Bauteile ausgetauscht, ggf. einen 10k Widerstand statt dem Poti genommen? Wenn du am Skript und am Pi nichts verändert hast, muss es nunmal an der Hardware liegen. Wackelkontakte kannst du ausschließen oder?

      Antworten
    • Probiere mal die 4 in eine 14 zu ändern. Bei mir hat es erst funktioniert, nachdem ich die GPIO Pins festlegte und bei der LCD_RS (TXD) von 4 auf 14 änderte.
      Lg

      Antworten
  2. Hi,

    Tolle Anleitung. Werde versuchen diese mal nachzubauen. Teile sind schon bestellt. Nur eine Frage habe ich noch. Welcher Poti wird denn genau benötigt?

    Antworten
    • Ein Poti ist hier eigentlich nur nice-to-have. Du kannst auch einen normalen Widerstand benutzen, nur den Poti kannst du eben regeln, bis du deine ideale Hintergrundbeleuchtung gefunden hast. Ich habe einen 10k Poti verwendet, soweit ich mich erinnere.

      Antworten
  3. Ist es denn auch möglich das Display ohne Steckkarte, Widerstände und Poti zu verwenden?

    Mit freundlichen Grüßen

    Antworten