Raspberry Pi – LCD Display ansteuern

In meinem Hardware-Fundus hatte ich noch ein 16×2 Zeichen LCD Display wiederentdeckt, das wollte ich schon länger mal am Raspberry Pi testen und in Betrieb nehmen. Was liegt da näher, um für einen Funktionstest, die aktuelle Uhrzeit und die IP-Adresse meines Mini-Rechners auf dem Display auszugeben. In diesem kleinen Raspberry Pi Projekt zeige ich euch wie ihr ein 16×2 Zeichen LCD an den RasPi anschließt und via Python Script ansteuert.

Material

Folgendes Material habe ich verwendet

  • QC1602a 16×2 Zeichen LCD Display
  • Drehpotentiometer 50k Ohm
  • Breadboard
  • Steckbrettkabel Male-Male
  • GPIO Breakout

Falls ihr noch kein Breadboard und Kabel besitzt, das Ganze gibt es auch als Set inkl LCD und Poti.

Verkabelung des LCD Display

Die Verkabelung des Display scheint auf den ersten Blick recht komplex, habt ihr allerdings die die Funktion einmal verstanden ist das Setup recht einfach.

LCD-Display

Das LCD-Display hat 16 Pins. In der unten stehenden Tabelle habe ich die Verkabelung des Display dargestellt. Da ich, wie ihr auf den Bild erkennen könnt, ein GPIO Breakout verwende habe ich in der letzten Spalte die Verkabelung mit meinem Breakout dokumentiert.

Falls ihr das Display über ein anderes Breakout oder direkt am RasPi bzw. via Breadboard verkabeln wollt habe ich die RasPi GPIO Pins aufgeführt, wie immer ist es die Nummer des Pins auf der Leiste P1. Falls ihr euch unsicher bei der Zuordnung der Pins seit könnt ihr einen Blick auf mein GPIO Pin Worksheet werfen dort die Verbindungen eintragen.

LCD Pin LCD Funktion RasPi Funktion RasPi GPIO-Pin Mein Breakout (T-Cobbler)
01 GND GND GPIO Pin 6 GND
02 +5V +5V GPIO Pin 2 5V0
03 Contrast GND GPIO Pin 6 Potentiometer (mittlerer Pin)
04 RS GPIO7 GPIO Pin 26 CE1
05 RW GND GPIO Pin 6 GND
06 E GPIO8 GPIO Pin 24 CE0
07 Data 0    
08 Data 1    
09 Data 2    
10 Data 3    
11 Data 4 GPIO25 GPIO Pin 22 GPIO6
12 Data 5 GPIO24 GPIO Pin 18 GPIO5
13 Data 6 GPIO23 GPIO Pin 16 GPIO4
14 Data 7 GPIO18 GPIO Pin 12 GPIO1
15 +5V   GPIO Pin 2 5V0
16 GND   GPIO Pin 6 GND

Alternativ gibt es auf der Adafruit Seite ein passendes Verkabelungsdiagramm, allerdings verwenden die wieder eine anderes Breakout.

LCD Display am Raspberry Pi einrichten

Wir steuern das LCD Display via Python an, daher installieren wir als erstes die notwendigen Python Programme und Abhängigkeiten nachdem wir unser System aktualisiert via apt aktualisiert haben.

Dann können wir direkt loslegen, das Python Script, welches ich vorbereitet haben laden wir uns via wget ins Home und machen es via chmod ausführbar.

Zum Testen eures LCD-Display können wir das Script nun direkt ausführen und uns die Ausgabe auf dem Display ansehen.

Eventuell müsst ihr noch über den Drehpoti den Kontrast eures LCDs einstellen, erhaltet ihr keine oder eine falsche Ausgabe liegt dies vermutlich an der falschen Verkabelung. Falls die angezeigte Uhrzeit nicht stimmt müsst ihr eure Zeitzone via Raspi-config auf die Deutsche (GMT +1) umstellen.

Wer möchte kann mit den unten aufgeführten Script die Ausgabe nach jedem Neustart des RasPi aktivieren. Hierzu müsst ihr den Code in die Datei /etc/init.d/lcd kopieren und dann folgende Befehle ausführen um /etc/init.d/lcd zum automatischen Start hinzuzufügen (via rc).

 LCD Python Code

Autostart Script