Gefällt dir dieser Artikel?

Raspberry Pi: 4x20 HD44780 Display

erschienen in der Kategorie Technik, am 17.10.2012
Schnatterente
Wie im Artikel zu meinem kleinen Raspberry Pi RSS Reader versprochen, wollte ich ja noch einige Worte zu größeren HD44780 Displays verlieren. Ich hatte bereits ausführlich erklärt, wie man 2x16 Displays (32 Zeichen) an den Raspberry Pi anschließen kann. Jetzt habe ich mir ein 80-Zeichen-Display zugelegt. Mit dem etwas größeren Display macht die Verwendung des RSS Readers wesentlich mehr Spaß, weil die meisten Nachrichten auf eine Displayseite passen.



Ansich gibt es gar nicht so viel zu sagen. Ich habe ein Display mit orangener Schrift und dunklem Hintergrund gekauft. Das sieht noch einen Hauch schicker aus, als das blaue und passt farblich besser ins Wohnzimmer, falls es je dahin wandern sollte.

Die Verkabelung erfolgt analog zu der des kleineren Displays. Da ich im Moment beide parallel benutze, habe ich es aber mit anderen GPIO Pins des Raspberry Pi verbunden und mein RSS Skript entsprechend angepasst. Wer aber nur ein Display verwendet, kann alles so lassen wie es ist.

Bei dem 16x2 Display habe ich den Kontakt für die Kontrastspannung einfach mit der Masse (GND) verbunden und kein Potenziometer eingebaut (diesbezüglich gab es auch Nachfragen). Bei meinem neuen Display ist dies nicht möglich. Ein Poti wird hier dringend benötigt, sonst sieht man gar nichts. Ich habe ein 10 Kiloohm Potenziometer verwendet. Weil sich das Teil nicht auf mein Breadboard stecken ließ, habe ich es direkt an die Displaykabel gelötet, so dass vom dritten Kontakt des HD44780 Displays jetzt eine Art Y-Kabel (mit dem Poti in der Mitte) abgeht, welches an der Masse- und der +5V-Leitung endet. Wer sich ein blaues Display kauft, könnte aber Glück haben und wieder ohne Poti auskommen.

Einige GPIO Pins habe ich noch übrig. Mal schauen ob mir noch eine gute Idee kommt, für was ich die verwenden könnte.

P.S.: Wer sich selbst ein HD44780 Display zulegen will, kann sich ja mal hier umsehen.


Weitere Artikel in Sachen Raspberry Pi und HD44780-Display:

Geschnatter

16 Kommentare, selbst mitschnattern << < Seite 1/3 > >>
Dom, am 12.01.2013 um 17:20 Uhr
Hi!

Toller Blog, gefällt mir echt gut...
Ich befasse mich gerade erst ein paar Tage mit dem kleinen Wundergerät, aber ich denke über eine Nutzung als Mediaplayer nach. In anderen Blogs hab' ich auch schon kleine Steuerungen mit Tastern gesehn... Das könnte ja auch was für dich sein?!?! Ggf. nächster RSS-Feed, vorheriger,Start, Stop, solche Sachen halt. Oder so wie ich es mir vorstelle mit Steuerung für Internetradio und/oder Mp3s ohne den großen TV immer anschmeißen zu müssen.
Allerdings hab ich es mit Phyton und anderen Programiersprachen wie die Jungfrau mit XXX. ;-) Nur in der Schule gab's mal 1 Jahr Turbo-Pascal...

Evtl kann man sich ja mal zusammentun???

Gruß,
Dom
Antwort: Danke. Klar, wenn du eine gute Idee hast und die Zeit es hergibt kann man sicher was machen. Wenn du von Turbo Pascal nicht alles vergessen hast, solltest du in Python auch in vertretbarer Zeit reinkommen, gerade Python lässt sich eigentlich recht gut, schnell und übersichtlich schreiben, weil es auch viele gute APIs gibt, die fast schon alles mitbringen was man braucht.
Flo, am 14.01.2013 um 21:05 Uhr
Hast du einen linearen oder einen logarithmischen Potenziometer verwendet?
Antwort: Linear.
Marcel, am 15.01.2013 um 15:38 Uhr
Super Sache, klasse erklärt und hat sogar von anfang an funktioniert :).

Nur hab ich da jetzt noch ein/zwei Fragen.
Eigentlich wollte ich das Script beim booten bereits laden. Dazu habe ich unter /etc/rc.local "sudo python rssreader.py" eingetragen, leider passiert nichts.
Kann das so überhaupt gehen?

Ausserdem würd ich gerne in den Loop noch andere Infos anzeigen lassen. z.B. das er nach jedem durchlauf ein paar Systemdaten anzeigt. Leider sind meine Programmierkenntnisse sehr begrenzt und ich erkenne nicht, wo ich die schleife für ein anderes script verlassen kann. Kannst du mir da nähere Infos geben?

Gruß Marcel
Antwort: Danke für die Frage. Da ich denke, dass das Autostartproblem nicht nur dich beschäftigt, habe ich dazu gerade mal etwas geschrieben: Raspberry Pi: Autostart-Skript erstellen.

Zwecks Skript Anpassung: Belies dich am besten erst einmal zu den Grundlagen von Python. Man findest eigentlich alles was man braucht via Google.
Anonym, am 04.02.2013 um 15:55 Uhr
Hallo, da du dich anscheinend in python auskennst, hätte ich da mal eine Frage.

Also ich habe mein LCD Display erfolgreich mit dem Pi verbunden und habe auh eine Laufschrift gecoded bekommen

mytext="Dies ist ein langer Text, der gescrollt dargestellt werden soll."
longtext=' '*16+mytext
while 1:
for i in range(0,len(longtext)):
lcd_byte(LCD_LINE_2,LCD_CMD)
lcd_string(longtext[i:(i+16)],1)
time.sleep(0.5)

Nun der Code funkt auch aber wenn er zum Ende des Textes kommt schreibt er leerzeichen und erst wenn die Zeile vollkommen leer ist fangt er von vorne an.
Ich würde es aber gerne wenn er einmal den Text vollständig dargestellt hat, dass er
' | ' dem Text hinzufügt und dann sofort wieder mit den Text anfängt.
also das es so aussieht: "erden soll. | Di"
Hoffe du versteht was ich meine und kann mir helfen
mfg
Antwort: Hallo, kannst du mir mal deine E-Mail Adresse zukommen lassen? :)
Anonym, am 05.02.2013 um 22:25 Uhr
ich nochmal
habe es nach einer runde schlaf es endlich hinbekommen
hier der code:
mytext+=' | '
while 1:
value=mytext[1:len(mytext)]+mytext[0:1]
mytext=value
lcd_byte(LCD_LINE_2,LCD_CMD)
lcd_string(mytext,1)
time.sleep(0.5)

was der code macht:
er nimmt den vordersten Buchstaben und verschiebt in nach ganz hinten

ps email ist jetzt auch dabei
Anonym, am 07.03.2013 um 13:18 Uhr
man kann mit dieser seite custom chr erstellen ich weiß aber nicht wie ich diese dann in den code einfüge http://www.quinapalus.com/hd44780udg.html
weißt du rat?
Antwort: Coole Seite. Ich hab das selbst noch nie ausprobiert, aber schau mal hier (gleich der erste Post).
Martin, am 27.03.2013 um 20:04 Uhr
Hey,

wenn ich mein 4*20 HD44780 mit deiner von mir auf 4 Zeilen adaptierten Displaytest.py teste, schreibt er für Zeile 3 in Zeile 1. Lustigerweise aber nur, wenn in Zeile 1 nichts steht, ist dort Text, landet der Text von Zeile 3 auch in Zeile 3. Hast du dazu irgendeine Idee?

Gerne auch per Mail

Gruß Martin
Antwort: Die verschiedenen Zeilen des Displays lassen sich wie folgt adressieren:
DISPLAYROWADR = [0x80, 0xC0, 0x94, 0xD4]

Kann es sein, dass du gerade nur zwei Adressen angegeben hast?