Forum: Mikrocontroller und Digitale Elektronik LCD Display für Raspberry Pi gesucht


von Johannes R. (johannes_r67)


Lesenswert?

Hallo Kollegen,

ich habe eine kleine Frage an die Runde - ich hab mit ein Raspberry Pi B 
bestellt, mit dem ich mich ein wenig spielen will. Dazu soll es dann ein 
kleines LCD-Display geben (evtl. Grafik, oder 20x4), welches ich via USB 
(oder vielleicht auf einem anderen Weg, den das Pi anbietet, und von dem 
ich noch nix weiß? ansprechen will, inkl. Steuerung mit Buttons (4 
sollten es mindestens sein).

Nach einiger Recherche im Netz habe ich nur die von Crystalfontz 
gefunden, die aber recht kostspielig sind. Gibt es da günstigere 
Varianten, die ich verwenden kann, und die unter Linux lauffähig sind?

Bin da ein wenig auf Neuland unterwegs, theroetisch hab ich mich schon 
ein wenig eingelesen, aber die Praxis ist ja wieder eine andere Sache.

Vielen Dank schonmal, wünsch euch einen feinen Feierabend,

Beste Grüße
Johannes

von Εrnst B. (ernst)


Lesenswert?

http://www.harbaum.org/till/lcd2usb/index.shtml

Sowas hier läuft unter Linux, z.B. "lcd4linux" hat einen Treiber dafür.

Wär dann über USB angeschlossen. Aber: hat das RPi nicht genug freie 
GPIOs, um direkt ein LCD anzusprechen, ggfs über SPI / I2C?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Im Prinzip kann man an den Raspberry Pi auch was richtig hochauflösendes 
anschließen, wie zum Beispiel ein iPhone-Display.

Diese Displays nutzen eine Schnittstelle namens "MIPI DSI", und der 
Raspberry Pi hat genau diese Schnittstelle (und sogar die 
korrespondierende "CSI"-Schnittstelle für Kameramodule).

Ärgerlicherweise ist bislang über diese Schnittstellen sehr wenig 
bekannt; die MIPI (das ist ein Zusammenschluss von 
Mobilgeräteherstellern) rückt Dokumentation nicht ohne weiteres heraus, 
und vom iPhone-Display ist gerade mal die Anschlussbelegung bekannt (da 
es erfreulicherweise Schaltpläne der verschiedenen iPhone-Modelle gibt).

Diese Information sollte möglichst breit gestreut werden, damit die 
Chance steigt, daß die Informationen "geleakt" werden.

von Silvan K. (silvan) Benutzerseite


Lesenswert?

Wirf mal einen Blick in das Forum (sobald die Seite wieder Online ist). 
Da gibt es bereits eine Menge Vorschläge zu dem Thema.
Unter anderem:
http://www.ebay.de/itm/3-5-TFT-LCD-Digital-color-Car-Rearview-BACK-UP-Monitor-/150690705846?pt=Auto_TFT_Monitore&hash=item2315ddb1b6

So ein ähnliches Display habe ich gekauft und habe es testweise an einen 
Sat-Receiver angeschlossen. Die Qualität kann natürlich nicht mit einem 
IPhone-Display mithalten. Beispielsweise muss man ein wenig von unten 
gucken, weil das Bild sonst dunkler ist.
Außerdem fehlt auch ein Touchscreen...
Zum "spielen" sollte es aber allemal reichen!

von Johannes R. (johannes_r67)


Lesenswert?

Vielen Dank für die raschen Antworten. So hochauflösend wie ein iPhone 
Display braucht es absolut nicht sein. Ich wäre schon mit etwas wie 
folgendem absolut zufrieden:
http://www.pollin.de/shop/dt/NTc1OTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_TG12864B_03.html

oder

http://www.electronic-software-shop.com/lcd-modul-4x20-zeichen-beleuchtet-blau.html?xploidID=d14ce9454be870070f2ed7e6997fa2f8

Die Displays mit Tasten sind auch recht teuer in Kombination. Wenn es 
die Tasten seperat gibt, soll es mir auch recht sein.

Εrnst B✶ schrieb:
> Aber: hat das RPi nicht genug freie
>
> GPIOs, um direkt ein LCD anzusprechen, ggfs über SPI / I2C?

Das RPi hat GPIOs, allerdings habe ich zu wenig Érfahrung, um 
einzuschätzen, ob ein LCD darauf läuft, und wenn ja, wie ich es 
ansprechen soll? Wäre lcd4linux auch hier die Lösung?

Beste Grüße
Johannes

von Pascal H. (pase-h)


Lesenswert?

Johannes R. schrieb:
>... ob ein LCD darauf läuft, und wenn ja, wie ich es
> ansprechen soll? Wäre lcd4linux auch hier die Lösung?

Was ich jetzt nicht verstehe:
Du kaufst dir ein Raspberry PI, schaffst es aber nicht durch lesen eines 
Datasheets die Ansteuerung für ein lahmes HD44780 Display zu 
programmieren.
Ich mein ja nur: Ein Atmega hat max 16Mhz und schafft die Ansteuerung 
ohne Probleme. Das Raspberry läuft mit 700Mhz...

So wie ich es seh hast du dich übernommen, und solltest erstmal die 
Grundlagen auf kleineren Controllern lernen.

Falls ich mich irre und du dich doch mit der Materie auskennst, dann 
entschuldige ich mich, aber für mich sieht es aus, als könntest du recht 
wenig, und möchtest gleich groß anfangen.

Mfg

von Johannes R. (johannes_r67)


Lesenswert?

Servus Pascal,

es ist ja nicht so, dass das RPi ohne so ein LCD nicht zu gebrauchen 
wäre.
Ich gehe mit solchen Embedded Boards recht souverän um (für meine 
Begriffe), habe auch schon das eine oder andere in Verwendung. Nur GPIOs 
habe ich bis dato noch nie gebraucht (die Boards laufen alle unter 
Linux, und verrichten ihren Dienst als Router, Traffic Shaper, 
Logserver, u.dgl)...
Von daher habe ich mich mit dem Board sicher nicht übernommen, es wird 
auch ohne LCD seinen Dienst bei mir verrichten.

Die Idee "Steuerung via LCD und Buttons" ist halt ein Gedankenspiel für 
mich, ich starte gerade in die Materie und bin, wie dir eh schon 
aufgefallen ist, in der frühen Recherchephase.

Beste Grüße
Johannes

von Silvan K. (silvan) Benutzerseite


Lesenswert?

Wenn ich mich recht erinnere, dann hat das Raspberry Pi 20 GPIOs. Das 
ist mehr als genug für ein HD44780 kompatibles Textdisplay. Treiber gibt 
es dafür bestimmt auch wie Sand am Meer. Notfalls sollte sich das auch 
mit relativ geringem Aufwand selbst programmieren lassen.
Ich nehme an, dass du darin Erfahrung hast?

von Johannes R. (johannes_r67)


Lesenswert?

Nicht so wirklich. Basiskenntnisse in C sind vorhanden, aber wohl bei 
weitem nicht ausreichend für ein Kernelmodul.
Aber was ich so auf die Schnelle gesehen habe, sollte sich da im Netz 
was finden lassen. Zur Not hätte ich noch einen Kollegen, der 
Nachrichtentechniker ist. Dem könnte ich sicher mal über die Schulter 
schauen, wenns an den Basics fehlt.

Also mal zusammengefasst lässt sich sagen, dass für mich am ehesten die 
Ansteuerung via GPIO interessant wäre, und das RPi anscheinend ausreicht 
dafür.

Jetzt würde ich mich noch freuen, wenn ihr mir LCD-Modul (vielleicht 
sogar mit Buttons), rein aus eurem Erfahrungsschatz empfehlen könntet (a 
la: Hersteller X würde ich meiden, weil schlechte Qualität, Hersteller Y 
bietet gute Qualität zum Günstigen Preis, ...). Ich kann mir vorstellen, 
dass ihr schonmal den einen oder anderen verbaut habt.

LG
Johannes

von Silvan K. (silvan) Benutzerseite


Lesenswert?

Generell würde ich dir Empfehlen mal einen Blick in die Artikelsammlung 
zu werfen:
http://www.mikrocontroller.net/articles/HD44780
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung

Von welchem Hersteller du das Teil nimmst, kann ich dir leider nicht 
beantworten da ich erst einen (Datavision) getestet habe. Ich habe 
allerdings schon häufig gelesen, dass man da ruhig zum billigsten 
greifen kann.

von Ahnungsloser (Gast)


Lesenswert?

Was mich ein bisschen verwundert:
Das Ding hat doch einen HDMI Ausgang und beherrscht Full HD. Warum also 
kleine Displays dranfummeln? Warum nicht gleich an einen richtigen 
Monitor bzw. Fernseher hängen?

Da hast du doch dann wesentlich mehr Möglichkeiten...

von Johannes R. (johannes_r67)


Lesenswert?

Danke für die Links - ich werde sie mir in einer ruhigen Minute zu 
Gemüte führen.

@Ahnungsloser:
Aus dem einfachen Grund, daß ich z.B.: das RPi inkl. LCD-Modul in ein 
kleines Gehäuse packen und das Gerät quasi am Gerät bedienen kann (je 
nachdem, welchen Zweck es dann erfüllen soll). Auch wenn ich keine 
Tasten anbringe, so kann ich doch auch diverse Stati ablesen 
(IP-Adresse, Last, ...)
Und zu guter letzt brauche ich keine externe Stromversorgung für den 
Bildschirm. Das LCD-Modul verbrät weit weniger als so ein kleines 
Kerlchen...

von Brater (Gast)


Lesenswert?

Die GPIOs enthalten u.A. einen USART.

Ich würde folgendes vorschlagen:
- einen Arduino besorgen
- das gesamte Projekt über den Arduino aufbauen (unabhängig von dem 
Raspberry Pi)
- wenn alles funktioniert, die USART vom Arduino an den Raspberry Pi 
hängen

Ich habe mich eben kurz in die Doku zu den GPIOs angeschaut. Prinzipiell 
könntest du schon direkt an den Raspberry drangehen. Allerdings gibt es 
beim Basteln die Gefahr des Grillens von Ports bei Kurzschlüssen und den 
Aufwand zum Programmieren. Der Arduino ist recht robust (zumindest wenn 
man noch auf DIL setzt ;) ) und bietet genug Bibliotheken für einfache 
LCDs. Außerdem lässt sich das komplette Projekt unabhängig vom Raspberry 
aufbauen und im Nachhinein anbinden. Damit weißt du vor dem Anbinden, 
dass die LCD-Anbindung richtig funktioniert.

Ich habe mir überlebt, ein einfaches Web-Radio über den Raspberry Pi 
aufzubauen. Ein Audioausgang ist dran und mit ein paar Tastern könnte 
man einfach die Sender wechseln.

Zum Thema Pin-Verbrauch: die einfachen klassischen LCDs brauchen für 
eine Vollbelegung ungefähr 8 Pins. Mit einem SIPO reichen 4 Pins. Dabei 
ließe sich ein Pin noch wegoptimieren, indem man an einen bestimmten Pin 
noch einen Negierer dran hängt (wenn ich mich richtig an die Schaltpläne 
erinnere...). Für den Arduino gibt es sogar eine fertige Aufbauanleitung 
samt Programmierbibliothek für dieses "serielle" LCD.

@Ahnungsloser:
HDMI und kleine LCDs (wie man sie von Kaffeemaschinen oder Automaten 
kennt) sind 2 verschiedene Paar Schuhe! Ein kleines LCD mit 20x4 Zeichen 
reicht für Infos und Statusmeldungen gut aus; bei HDMI kannst du dafür 
richtige Bildschirme mit riesigen Auflösungen ansteuern. AAAABER: 
angenommen du hast ein kleines Embedded Display ohne passenden 
Anschluss: dann hast du ein Problem und musst die ganze HDMI-Übertragung 
auseinander-klamüsern. Dagegen arbeitet so ein kleines LCD von einem 
Automaten viel viel einfacher: Position des zu schreibenden Zeichens an 
das LCD senden; Zeichen senden; fertig. Folge dem KISS-Prinzip. Ob du 
"Hallo Welt" auf ein kleines LCD schreibst oder auf Display mit 1080p - 
die Nachricht bleibt die gleiche. (ok so einfach ist es nicht; es gibt 
noch weitere Anforderungen aber ich denke mal der Fragensteller 
interessiert sich speziell für einfache Embedded-Lösungen.)

von Boeserfisch (Gast)


Lesenswert?

Warum nicht gleich ein buntes Display wie sowas hier?

http://tech.section5.ch/news/?p=77

Die Links zum Source findet man da ebenfalls.
Habe das Pearl Display mit lcd4linux an meiner Dockstar..es gibt 
scheints auch einen experimentellen VNC-Treiber, hab ich aber noch nicht 
getestet.

von Brater (Gast)


Lesenswert?

Ok... ein umgefrickelter digitaler Bilderrahmen wäre auch eine tolle 
Lösung ;-)

von Markus W. (feuerrot)


Angehängte Dateien:

Lesenswert?

Die Displays sind bei Pearl leider ausverkauft, bei mir läuft auch eines 
an der Dockstar und zeigt - Bild relatiert - einen Abfahrtsmonitor für 
den ÖPNV, sowie denn Füllstatus der externen Festplatte.

Gibt es da eine andere preiswerte Quelle?

von W.S. (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Im Prinzip kann man an den Raspberry Pi auch was richtig...

Ja. Im Prinzip.

Ich sehe da allerdings zwei völlig unterschiedliche Ansätze:

a) eine der bereits vorgesehenen Video-Schnittstellen hernehmen und dort 
etwas dranbasteln. Fernsehanschluß hat es ja, nach deinen Worten hat's 
auch so eine "MIPI DSI", von der man aber erstmal die Funktionalität 
heraus bekommen muß. Vorteil wäre, daß diese Ausgabe (hoffentlich) 
bereits fertig in's System integriert ist und man da quasi einen 
fertigen, bunten und mit allem Schnickschnack versehenen Desktop hat - 
oder? Nachteil ist, daß man ne passende "Glotze" dafür auftreiben muß.

b) ein paar der hoffentlich verfügbaren Pins hernehmen und dort ein 
kleines LCD anschließen. Zumeist reichen dafür ca. 11 Pins aus: 8x 
Daten, CS, A0, R/W, egal, ob es sich dabei um ein Alpha- oder 
Grafikdisplay handelt. Bei dem Angebot an RAM und Speed sollte es 
keine Hürde sein, für Grafik-LCD's im RAM einen Bildspeicher aufzubauen 
und alle Nase lang selbigen en bloc in's LCD zu kopieren. Die Frage ist 
bloß, ob und wie man sowas in's System einbindet. Als 
Windows-Programmierer weiß man, daß man i.allg. keinerlei 
Hardwarezugriff hat, man also das Ganze per API erledigen muß - wie also 
ist dieses dann mit nem Linux auf einem Arm zu erledigen?

W.S.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

W.S. schrieb:
> Nachteil ist, daß man ne passende "Glotze" dafür auftreiben muß.

Was nicht schwierig ist, die "Bucht" gibt Ersatzteile für iPhones her.

von Alexander L. (armlock)


Lesenswert?

Um über die GPIOs ein LCD anzuschließen und zu nutzen musst du ja nicht 
gleich ein Kernel-Modul schreiben. Die GPIOs sind ja über den Kernel 
bereits verfügbar und im einfachsten Fall gar über die Shell nutzbar. In 
deinem Fall tut es ein Programm in C, vermutlich auch in Python oder 
whatever.

Natürlich musst du dir für deinen Anwendungsfall einen Treiber 
schreiben, der dein Display korrekt anspricht. Aber das muss kein 
Kernel-Treiber sein, sondern es geht ja "nur" um das korrekte Ansprechen 
der Pins. Das Ganze dürfte einfacher ein, wenn du statt eines nackten 
LCD eines mit Controller nimmst.

Für die Evaluierung / Entwicklung solltest du ggf. noch etwas dazwischen 
schalten, um im Falle eines GAUs nicht gleich den Pi zu grillen, etwa 
ein Schnittstellen-Interface á la Gertboard, o.ä. Schau dir vllt. mal 
den dokumentierten und überschaubaren C-Quellcode der 
Gertboard-Demosoftware an:

http://raspberrycenter.de/artikel/software-raspberry-pi-gertboard-erschienen

von Christian D. (burning_legend)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Diese Information sollte möglichst breit gestreut werden, damit die
> Chance steigt, daß die Informationen "geleakt" werden.

Hm, ist zwar schon eine Weile her und ich weiß nicht,  ob du das 
inzwischen schon gefunden hast, aber eventuell ist das hier interessant:
MIPI DSI Spec.
(http://wenku.baidu.com/view/51841551f01dc281e53af05b.html)

Grüße,
Christian

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nein, das war mir bislang nicht bekannt. Vielen Dank dafür!

von Martin (Gast)


Lesenswert?

Noch eine andere Idee auf dem nicht mehr ganz neuen Thread - man könnte 
auch einen AVR Butterfly als Display anschließen. Das Display ist 
zwar winzig, aber man bekommt noch einen Joystick und einige IO-Ports 
dazu.

von DD0YU (Gast)


Lesenswert?

Hallo...
ist ja schon 'ne Weile her, aber hier gibt's einen Bauvorschlag inkl. 
Quellcode etc.:

http://raspberrycenter.de/artikel/raspi-lcd-grafikdisplay-add-on-raspberry-pi

73 Lothar

von Silvano Wegener (Gast)


Lesenswert?

Ich würde sagen, das Paspberry Pi ist gerade als Anfänger bestens 
geeignet.
Bei den µC ist es wesentlich komplizierter und diese sind nicht 
unendlich flashbar. Außerdem hat man mit dem RPI die Möglichkeit 
"Python" als Programmiersprache zu nutzen. Diese ist sehr einfach und 
doch mächtig. Bei Fragen zum Thema HD44780-Display stehe ich gerne zur 
Verfügung.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.