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
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 ...
Ups, sorry. Habe erst hinterher gesehen, was für "Bildschirme" das sind - vergiss meinen Beitrag.
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.
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.
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
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.
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
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.
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
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.
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...
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?
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
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).
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.