Forum: PC Hard- und Software Mehrere LCDs über PC Programm ansteuern


von xXWARWICKXx (Gast)


Lesenswert?

Hallo liebes Forum,

ich habe eine Grundlegende Frage und zwar wie man am besten mehrere LCDs 
an einen PC anschließen kann um diese dann per Eingabemaske vom PC aus, 
Texte anzeigen lassen kann.

Es sollten ca. 10 stk von diesen 
http://www.reichelt.de/Hintergrund-blau/LCD-204B-BL/3/index.html?&ACTION=3&LA=446&ARTICLE=53952&GROUPID=3006&artnr=LCD+204B+BL 
angesteuert werden.

Zum Hintergrund:
Ich plane/ fertige gerade ein eigenes DMX Lichtsteuerpult, und möchte 
gerne diese Displays über den Tastern haben um diese dann per Software 
zu beschriften. Damit soll das bekleben mit klebeband und Edding 
Beschriftung vermieden werden.

Habt ihr eine Idee? Gibt es da was fertiges, oder muss ich mir selber 
was bastelen?

Gruß
xXwarwickXx

von Frank (Gast)


Lesenswert?

Im Großen nennt man sowas "digital signage". Man benötigt eine 
Abspiel-Hardware pro Bildschirm und einen Server.

Ich empfehle, sieh dir mal das Open Source Projekt "Xibo" an. Als Server 
dient ein beliebiger PC oder ein NAS mit Apache, PHP und MySQL. Das ist 
ein richtiges Online-Redaktionssystem mit Texten, Bildern, Videos, PDF, 
HTML-Seiten, RSS-Feeds bis hin zu PPT-Präsentationen (letzteres aber nur 
bei Clients unter Windows).

Auf der Abspielseite kann man z.B. die HDMI-Android-Sticks verwenden, 
die es bereits ab ca. 50,- in der Bucht gibt - es gibt nämlich einen 
Xibo-Client für Android (und für Linux und Windows).

Will man z.B. auch PPT abspielen, muss man Windows auf der Client-Seite 
verwenden. Ich benutze z.B. die Computerchen "ZOTAC Nano" für diesen 
Zweck ...

von Frank (Gast)


Lesenswert?

Ups, sorry. Habe erst hinterher gesehen, was für "Bildschirme" das sind 
- vergiss meinen Beitrag.

von smiley (Gast)


Lesenswert?

KLar, ist aber vergleichsweise zum Selberbauen recht teuer...

http://www.reichelt.de/LCD-Zubehoer/EA-9707-RS232/3/index.html?&ACTION=3&LA=2&ARTICLE=53986&GROUPID=3013&artnr=EA+9707+RS232

eine Seite ans Display die andere an den PC (seriell)

Dazu gibt's auch fertige Software zum kaufen.

oder du baust dir selbst was zusammen, musste es dann natürlich auch 
programmieren. Wenn du da nicht so fit bist, denk dir lieber eine andere 
Lösung aus.

von Reinhard Kern (Gast)


Lesenswert?

xXWARWICKXx schrieb:
> Es sollten ca. 10 stk von diesen
> 
http://www.reichelt.de/Hintergrund-blau/LCD-204B-BL/3/index.html?&ACTION=3&LA=446&ARTICLE=53952&GROUPID=3006&artnr=LCD+204B+BL
> angesteuert werden.

Das sind halt nur nackte Anzeigen, da müsstest du jeweils einen 
(einfachen) Prozessor/Controller dazu bauen und programmieren, dann 
könntest du Daten über RS232C senden, die Anzeige kann ja eh nur Text. 
Aber eigentlich sind auch 10 St. zu wenig zum Selbermachen, wenn du 
keine Erfahrung hast, was Gekauftes wie schon vorgeschlagen funktioniert 
schneller und sicherer.

Gruss Reinhard

PS im Prinzip kann man auch 10 Anzeigen mit einem Prozessor ansteuern, 
aber das gibt es bestimmt nicht fertig.

von xXWARWICKXx (Gast)


Lesenswert?

Hallo,

danke für die Antworten!
Das fertige ist mir eindeutig zu teuer. Selber machen sollte soweit kein 
Problem sein. Habe aber bissher nur Erfahrungen mir Arduino und PICAXE, 
und wenige Einsteigerkentnisse mit Atmels. Da ich schon Lange mit 
Elektronik zu tun hae (Ist auch mein Beruf) sollte es nicht das Problem 
sein sich in die Programmierung reinzufuchsen. Den Hardware-Aufbau 
bekomme ich ohne Probleme hin. Mein Problem besteht darin das ich nicht 
weis wie ich da ran gehen soll, ein oder jeweils einen µC und mit was 
kann ich mir eine kleine Software für den PC basteln. Kommunikation über 
RS232 wäre eigentlich die Beste Lösung. Halt so ein paar einsteiger 
Hinweise.

Gruß

xXWARWICKXx

von Digi S. (digispark)


Lesenswert?

Die z. B. hier verwendeten Displays: 
http://shop.cboden.de/Digispark/I2C-LCD-Erweiterungssatz.html werden 
über I2C angesprochen. Dazu trägt das Controller-Board des Displays 
huckepack noch eine kleine Zusatzplatine mit einem PCF8574 drauf. Im 
Prinzip sollte es kein Problem sein, 8 Stück davon gleichzeitig an einen 
Digispark zu hängen, wenn man es schafft, die Adress-Bits des 
Port-Expanders zu setzen. Die Zusatzplatine hat auch einen 
Kodier-Schalter drauf. Ich hab's noch nie überprüft, aber ich vermute, 
dass damit die Geräte-Adresse angepasst werden kann. Wenn dem so ist, 
dann müßte man nur die LCD-Bibliothek anpassen um die einzelnen Displays 
ansprechen zu können.

Ich hab im Moment gerade kein Shield zu Hand, werde das aber heute Abend 
mal checken. So könntest Du bei Arduino bleiben.

von NurEinGast (Gast)


Lesenswert?

Ich denke - wenn die Leitungswege nicht zu lang sind - würde
ich auch die Display's seriell anschliessen.
Alle Display's an den seriellen Bus, jeweils ein Chip Select zum 
Display,
Microcontroller empfängt via RS232 Befehle/Texte vom PC und sendet die 
Daten an das entsprechende Display.

Natürlich nur, wenn die Text-Updaterate nicht zu schnell ist, da der 
Steuerungsmikrocontroller zeitgleich nur ein Display ansprechen kann.

Wenn Du, wie geschrieben, 4x20 Blau suchst, dann schau mal hier :
http://www.gadgetpool.de/bestellen/catalog/product_info.php/cPath/22_26/products_id/95

von Digi S. (digispark)


Angehängte Dateien:

Lesenswert?

Ich hab mal ein Foto von dem interessanten Ausschnitt der "HuckePack" 
Platine der LCD-Displays für den Digispark gemacht. Ich hatte mich da 
etwas geirrt ... auf der Platine ist kein Kodierschalter sondern nur ein 
Poti für den Kontrast. Das schwarze Ding ist ein PCF8574T. Der 
"übersetzt" die I2C Kommandos in 8bit parallel Signale für den 
eigentlichen Display-Controller. Unterhalb des blauen Potis siehst Du 
aber 3 x 2 Durchkontaktierungen. Das sind auf der Seite des Potis die 3 
Adress-Leitungen des Portexpanders und auf der anderen Seite ist GND. 
Die Adressleitungen sind im Auslieferstand mit +5 Volt belegt. 
Vermutlich per Pullup-SMD-Widerstand, die wohl irgendwo auf der 
Unterseite versteckt sind. Theoretisch sollte es also klappen, per 
Lötbrücke die Adressleitungen nach Bedarf auf GND zu ziehen und so ohne 
großen Aufwand 8 der Displays an einem einzigen Digispark (oder 
alternativ auch einem anderen (Arduino-) Board) zu betreiben (hab ich 
jetzt aber nicht getestet).

Die Software-Bibliothek müßte dafür wohl nicht einmal angepaßt werden. 
Wie man im Code-Beispiel unter 
http://cboden.de/mikro-controller/digispark/20-mikrocontroller/44-digispark-mit-lcd-anzeige 
sieht, wird bei Verwendung der LiquidCrystal_I2C Bibliothek im 
Konstruktor der gleichnamigen Klasse die I2C Adresse mit angegeben. Man 
könnte also für jedes Display eine eigenes Objekt mit individueller 
Adresse anlegen.

Da der Digispark über eine USB-Schnittstelle verfügt, wäre auch die 
Kommunikation mit dem PC kein Problem.

Wenn man die "HuckePack" Platine selber aufbauen würde und an die 
"nackten" Displays lötet, könnte man auch beide Varianten des PCF8574 
verwenden und so max. 16 LCD Displays an einen einzelnen Digispark per 
I2C hängen.

von xXWARWICKXx (Gast)


Lesenswert?

Hallo,

die Geschichte mit dem Digispark klingt Interessant und scheint nicht so 
aufwändig zu werden.
Ich gebrauche 8 LCDs das passt wie Faust aufs Auge. Aber soweit ich das 
jetzt gesehen hab funktioniert das erweiterungsshield nur mit 2x16 
Zeichen, oder habe ich das jetzt falsch? Haben wollte ich gerne 4x20.

Gruß xXWARWICKXx

von Digi S. (digispark)


Lesenswert?

Die Standard-Displays sind in der Tat 2x16 ... allerdings lässt sich das 
Konzept mit den Portexandern sicher auch auf andere Displays anwenden. 
Dem Konstruktor der Klasse dürfte es egal sein, da man an ihn ja die 
Anzahl der Zeichen und der Zeilen übergeben kann. Damit sollte die 
Software-Bibliothek ohne Anpassung verwendbar sein. Also braucht man nur 
die "Hucke-Pack" Platine nachbauen und fertig. Das sollte neben dem 
Portexpander und dem Poti für den Kontrast nicht mehr viel sein.

Mels Dich doch einfach hier als User an und schick mir ne PN vielleicht 
kann ich Dir da ja helfen.

von Christian R. (supachris)


Lesenswert?

Kannste ja auch über einen IOWarrior24 
(http://www.codemercs.com/64/?L=0) pro Display machen und dann halt mit 
USB Hubs auf die 10 Stück kommen...

von Digi S. (digispark)


Lesenswert?

Ich hab jetzt mal ein wenig rumgesucht. I2C zu 44780 Adapter gibt's zwar 
schon für ein paar Euro vom China-Mann, allerdings sind die alle ohne 
Kodier-Schalter für die Adress-Pins und auch ein paar andere Dinge 
stören mich daran.

Ich hab deshalb mal selber schnell einen Prototyp zusammen gezimmert, 
mit
- Kodier-Schalter für die Adress-Pins
- durchgeschleiftem I2C Bus (damit man mehrere hintereinander hängen 
kann)
- optionalem Vorwiderstand für die Hintergrundbeleuchtung

Fällt Euch sonst noch was ein, was nice-to-have wäre?

von xXWARWICKXx (Gast)


Lesenswert?

Hallo,

Das mit den 10 USB Teilnehmern ist denke ich nicht die beste Lösung, 
aber trotzdem Danke für die Idee!

@Digi Spark, Danke schonmal!! Mir fällt aber nichts ein was noch mit 
rein sollte.. :)

bin gespannt!

Gruß

xXWARWICKXx

von Jonas G. (fallobst)


Lesenswert?

Man könnte auch einen Arduino Mega 2560 aus China nehmen:
http://stores.ebay.de/skymodel2010

mit oder ohne Ethernet.

Und versuchen, da die Displays anzusteuern.
Ob das mit 10 klappt, weiß ich nicht.
Dann kannst du einfach Strings über den Usb-Port senden und vorne 'ne 
Zahl stehen haben (0-9 würde sich anbieten) und diese mit charAt(int) 
abgreifen. Rest mit substring(1) trennen und aufs Display schieben. Dazu 
einfach was mit .net oder Java. Ist, wenn der 10 LCDs verträgt, bestimmt 
das günstigste und einfachste.

Ich würde ein 2x16 Display nehmen, ist deutlich günstiger(am besten 
China).

von besupreme (Gast)


Lesenswert?

Früher habe ich LCD- oder VFD- Displays mit einem solchen Interface 
einfach an den Druckerport gehängt und als simpelsten Test "copy 
text.txt lpt:" genommen. Dann wurde der Text angezeigt.

Vielleicht geht das auch mit einem USB - LPT Modul, das hab ich noch nit 
getestet. - Diese Lösung verlangt dann nur noch, daß 10 chip select 
Signale für die 10 Displays generiert werden.

von Guido Körber (Gast)


Lesenswert?

Mit einem IO-Warrior (http://www.codemercs.com/io-warrior/?L=0) lassen 
sich mehrere Displays ansteuern, wenn man das E-Signal über UND-Gatter 
mit jeweils einem Port Pin für das gewünschte Display frei gibt.

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.