Lektion 2 · Display

Na also, ich wusste doch, dass dir das bisschen Kabelsalat keine Schwierigkeiten machen wird. Kommen wir also zu dem Code, der das Display zum Leben erwecken wird. Erstelle wie immer erstmal eine neue Datei:

$ sudo nano hallo_display.py

Und da kommt jetzt, du ahnst es sicher schon, der Programmcode rein:

import RPi.GPIO as gpio
from RPLCD import CharLCD

gpio.setmode(gpio.BCM) # Pin Belegung festlegen
lcd = CharLCD(pin_rs=7, pin_rw=4, pin_e=8, pins_data=[23, 18, 15, 14], numbering_mode=gpio.BCM, cols=20, rows=4, dotsize=8)

lcd.write_string("Hello Display")
input("Hello Display wird ausgegeben")
lcd.close(clear=True)

Nach der schnöden Abschreibarbeit gehen wir wie immer erstmal alles durch.

In den ersten beiden Zeilen binden wir wie schon so oft zuvor die benötigten Bibliotheken in das Programm ein. Die erste kennst du schon und die zweite stellt dir alle nötigen Funktionen zur Verfügung, die das Display zum Laufen bringen. Zeile 4 ist dir auch schon bekannt.

Ab Zeile 5 wird es dann wieder etwas unübersichtlich. Aber eigentlich teilen wir der Funktion CharLCD() nur mit, welche Pins wir gerne benutzen möchten und welche Pin-Belegung wir für den Pi gewählt haben und wie groß das Display ist, das wir nutzen.

Die Variable lcd hat nun also genaue Vorstellungen über das Display, das wir nutzen. Sie stellt sozusagen das Display aus der realen Welt als Teil des Pro- gramms im Computer dar. Teile eines Computer-Programms, die Gegenstände aus der realen Welt repräsentieren, nennt man Objekte.

In Zeile 7 können wir das lcd Objekt zum ersten Mal benutzen. Hat man ein Objekt und möchte dies mit einer Funktion ansprechen, funktioniert das etwas anders, als wir es sonst gemacht haben. Man nimmt dann nämlich das Objekt, setzt einen Punkt hinten dran und hängt da dann die Funktion dran, die man

Fragen? Feedback?



Beantwortete Fragen

Gast User 14:49 15.11.2015

pi@raspberrypi ~ $ sudo python3 hallo_display.py Traceback (most recent call last): File "hallo_display.py", line 5, in lcd = CharLCD(pin_rs=7, pin_rw=4, pin_e=8, pins_data=[23, 18, 15, 14], umbering_mode=gpio.BCM, cols=20, rows=4, dotsize=8) TypeError: __init__() got an unexpected keyword argument 'umbering_mode'

Samuel 14:55 15.11.2015

Ohai, Die Fehlermeldung "TypeError: __init__() got an unexpected keyword argument 'umbering_mode'" ist gar kein wirklicher Fehler sondern mehr ein Tippfehler. Wenn numbering_mode schreibst, sollte der Rest funktionieren ;)