LCD Display an Raspi4

LCD Display an Raspi4

Kochbuch: LCD Display an Libreelec RPI4

Benötigte Zutaten

Abgesehen von einem Raspberry 4, auf dem vermutlich Libreelec läuft, braucht ihr natürlich noch ein Display – möglichst mit einem I2C Bus Adapter sowie vier Drähte um alles zu verbinden

Meine beiden, ein 4-zeiliges und ein 2-zeiliges, kamen beide sehr günstig über Amazon, ebenso die unten beschrieben I2C Adapter.

In meinem Beispiel verwende ich ein I2C Adapter, welches direkt auf der Rückseite des Displays aufgelötet wird.

Netter Nebeneffekt: Mit dem blauen Poti kann ich den Kontrast einstellen.

Anpassen der config.txt

Als erstes aktivieren wir den I2C Bus am Rapsberry. Das geht durch einfügen der folgenden Zeilen in die config.txt.
Wo diese liegt und wie ihr sie bearbeitet findet ihr z.B. hier.

dtparam=i2c_arm=on
dtoverlay=i2c-gpio

Anschliessen des Displays an den Raspberry

Der I2C Bus liegt nun nach einem Reboot an den PINs 3 & 5. Somit ergibt sich für das Display folgender Anschluss:

PIN am RaspberryFunktionName am LCD Display
2+5VVCC
3SDA1SDA
5SCL1SCL
6GNDGND

Eine grafische Hilfe wie man die PINs am RaspBerry zählt findet ihr hier.

Installieren der AddOns

Alle benötigten AddOns findet ihr in den offiziellen Paketquellen – nichts illegales und nichts geklautes. 

LCDproc

SystemTools

XBMC LCDproc

Konfigurieren LCDd.conf

Mit dem Tool i2cdetect aus dem AddOn Systemtools kann man per ssh auf der Konsole den Port des angeschlossenen I2C Dislplays auslesen. Dieser Wert muss in der Config angepasst werden!

Die Konfigurationsdatei liegt unter dem Pfad:

/storage/.kodi/userdata/addon_data/service.lcdd/LCDd.conf

LCDd.conf

## Server section with all kinds of settings for the LCDd server ##
[server]
## DriverPath=/storage/.config/raspdrivers/
DriverPath=/storage/.kodi/addons/service.lcdd/lib/lcdproc/
Driver=hd44780
Bind=127.0.0.1
Port=13666
User=root
Foreground=no
# Hello message: each entry represents a display line; default: builtin
Hello=“ Welcome to“
Hello=“ CineMaier“
# GoodBye message: each entry represents a display line; default: builtin
GoodBye=“Bye bye“
GoodBye=“ CineMaier“
# Sets the default time in seconds to displays a screen.
WaitTime=3
ServerScreen=no

[HD44780]
ConnectionType=i2c
Device=/dev/i2c-1
Speed=8
Contrast=500
OutputPort=no
CharMap=hd44780_default
Port=0x27
Backlight=yes
Size=17×2
DelayBus=true
DelayMult=2
Keypad=no
Heartbeat=off

Anpassen der LCD.xml

Grob gesagt steht in der .xml wie welcher Inhalt wann auf dem LCD Display dargestellt werden soll. Hier können auch Systemvariablen verwendet werden um Namen, Dauer, und Restspielzeit des aktuellen Filmes darzustellen.
Da mein Display lediglich zwei Zeilen hat habe ich die Darstellung ein wenig angepasst.

Austauschen des Treibers

Nun kommt der letzte Teil: Austauschen des HD44780 Treibers. Der Grund hierfür ist das der in Libreelec mitgelieferte, bzw. über ein AddOn kommende, nicht der richtige für einen Raspberry4 ist. Download des hd44780 Treiber für Raspberry4 Der Pfad zu dieser Datei steht in der Config oben, in meinem Beispiel: DriverPath=/storage/.kodi/addons/service.lcdd/lib/lcdproc/