Mensadisplay: Unterschied zwischen den Versionen

Aus Stratum 0
Wechseln zu:Navigation, Suche
K
(Anwendungen: Links angepasst)
 
(11 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Projekt
+
{{Hardware
|verantwortlich={{Benutzer|DanielWillmann}}, {{Benutzer|DooMMasteR}}
+
|bild=Mensadisplay an der Wand.jpg
|status=aktiv
+
|kontakt={{Benutzer|shoragan}}, {{Benutzer|DanielWillmann}}, {{Benutzer|DooMMasteR}}
|beschreibung=Mensadisplay nutzbar machen
+
|status=working
 +
|beschreibung=wandfüllendes LED-Display
 +
|ort = Frickelraum
 +
|links = [https://gitli.stratum0.org/stratum0/mensactrl/ Source]
 +
|usage = Use reasonably, read documentation, nicht ohne Erlaubnis an der Hardware hacken.
 
}}
 
}}
 
[[Datei:Mensadisplay in Aktion.jpg|thumb|Mensadisplay in Aktion]]
 
[[Datei:Mensadisplay in Aktion.jpg|thumb|Mensadisplay in Aktion]]
Zeile 10: Zeile 14:
 
== Status ==
 
== Status ==
  
asdfuser hat eine Kommunikationsschnittstelle mit dem Mensadisplay via ATmega664 erstellt, bisher 2 Lines mit fixem Inhalt.
+
Das Mensadisplay ist im Frickelraum and der Wand montiert und kann angesteuert werden.
  
[[Benutzer:DooMMasteR|DooMMasteR]] hat ein Platinenlayout erstellt um alle 5 Blöcke des Displays (10 Lines) an zu steuern.
+
Ein iMX233 olinuxino-nano kontrolliert das Mensadisplay jetzt über das LCD interface. Es ist im LAN erreichbar (hostname mensadisplay, ZeroMQ auf Port 5556). Der Code des Servers und zur Ansteuerung findet sich [https://gitli.stratum0.org/stratum0/mensactrl/ im GitLab].
  
[[Benutzer:Neo_Bechstein|Neo]] hat einen Laptop mit Parallelport über, [[Benutzer:stew|stew]] will damit das Display mit hilfe Daniels LCD4Linux Treiber steuern. Das Display soll im Chillroom über das Hellgraue Sofa an der Wand zur Küche befestigt werden. Wie? Das hat $BERND nicht gesagt...
+
Für kleine schnelle Projekte steht eine Python library zur Verfügung.
  
[[Datei:Mensaboard v0.1.png|thumb|Mensaboard v0.1]]
+
Die Netzwerkkarte für den olinuxino liegt in der Kensington-Lock Box.
  
Es kam doch alles anders. Ein iMX233 olinuxino-nano kontrolliert das Mensadisplay jetzt über das LCD interface. Das Mensadisplay ist im LAN erreichbar (hostname mensadisplay, ZeroMQ auf Port 5556). Code findet sich unter [https://git.totalueberwachung.de/cgi-bin/cgit.cgi/mensactrl.git/].
+
=== Controllerplatine ===
 +
[[Datei:Mensa-control.pdf|Schaltplan des controller boards]]
  
== PCM-1823 - Single Board Computer ==
+
== Ursprüngliche Verwendung ==
 +
 
 +
Wie der Name nahe legt hing das Mensadisplay ursprünglich in der Mensa und hat das aktuelle Menü angezeigt [Depictation needed]. Es wurde von einem PCM-1823 single board computer kontrolliert, der über den Parallelport das Display ansteuert.
 +
 
 +
=== PCM-1823 - Single Board Computer ===
 
Rev.B1 02-1
 
Rev.B1 02-1
  
Zeile 29: Zeile 38:
 
Ich würde an eurer Stelle nicht den Rechner nehmen, sondern entweder ein kleines AVR/Cortex-M3 Board oder einen Rechner, wo man einfach Linux zum Laufen bekommt --[[Benutzer:DanielWillmann|DanielWillmann]] 17:58, 31. Dez. 2012 (CET)
 
Ich würde an eurer Stelle nicht den Rechner nehmen, sondern entweder ein kleines AVR/Cortex-M3 Board oder einen Rechner, wo man einfach Linux zum Laufen bekommt --[[Benutzer:DanielWillmann|DanielWillmann]] 17:58, 31. Dez. 2012 (CET)
  
== Code ==
+
=== Ansteuerung der Panels ===
=== LCD4Linux Treiber ===
 
Ein Git Repo mit dem Parallelport Treiber ist verfügbar unter: https://git.totalueberwachung.de/cgi-bin/cgit.cgi/lcd4linux.git/
 
 
 
Dafür muss die Duplexerplatine zwischen Display und Computer geschaltet werden. Ein schneller Rechner bzw. RT Erweiterungen sind zu empfehlen, da das Display sonst bei Last zu flackern anfängt.
 
 
 
=== AVR ===
 
Im Space liegt ein Breadboard mit ATMega644 rum. Dieser kann zum Spielen mit dem Mensadisplay genutzt werden. Dort ist schon eine kleine Demo drauf, die das Display ansteuern kann. Der Code dafür findet sich [https://git.totalueberwachung.de/cgi-bin/cgit.cgi/contiki.git/commit/?h=daniel/mensadisplaycontroller&id=afcdbd100b2bb2f1140bc9abacab28cd50af1c77 hier]
 
Die Displayboards direkt werden wie folgt angesteuert:
 
 
<pre>
 
<pre>
Layout der Stecker/Buchsen an den Displayboards
+
Pinout der Stecker/Buchsen an den Displayboards
 
______
 
______
 
| 1  2|
 
| 1  2|
Zeile 49: Zeile 50:
  
 
Belegung
 
Belegung
Display      ATMega644  Bemerkung
+
Display      Bemerkung
  
 
1:  NC
 
1:  NC
2:  SIN/OUT     PA3     Dateneingang für die LEDs
+
2:  SIN/OUT    Dateneingang für die LEDs/Schieberegister
3:  SCK        PA4    Clock (rising edge)
+
3:  SCK        Clock (rising edge)
 
4:  GND        ---
 
4:  GND        ---
5:  A0          PA0    Adressleitung für die Zeile LSB
+
5:  A0          Adressleitung für die Zeile LSB
6:  A1          PA1    Mögliche Werte: 0-6 für Zeilen 1-7
+
6:  A1          Mögliche Werte: 0-6 für Zeilen 1-7
7:  A2          PA2    Adressleitung für die Zeile MSB
+
7:  A2          Adressleitung für die Zeile MSB
8:  /G          PA6    Globales Display Enable (invertiert)
+
8:  /G          Globales Display Enable (invertiert)
 
9:  VCC        ---
 
9:  VCC        ---
10: RCK        PA5    LED Ausgänge mit neuen Daten updaten
+
10: RCK        LED Ausgänge mit neuen Daten updaten
  
 
Vorgehen:
 
Vorgehen:
Zeile 74: Zeile 75:
 
== Eckdaten ==
 
== Eckdaten ==
 
* Stromverbrauch: 70W (alle LEDs aus) bis 780W (alle LEDs an)
 
* Stromverbrauch: 70W (alle LEDs aus) bis 780W (alle LEDs an)
 +
 +
== Anwendungen ==
 +
{{#widget:YouTube|id=ixMpxjXARGg|height=400|width=600}}
 +
 +
Live-Equalizer von {{Benutzer|Drahflow}} ([https://gitli.stratum0.org/stratum0/mensactrl/blob/master/fastclient/spectrum.c Code], [https://github.com/dop3j0e/noiseplug Sound])
 +
 +
LCD4Linux Treiber (drv_MENSA): [https://projects.totalueberwachung.de/mensadisplay/lcd4linux Code]
 +
 +
== Links ==
 +
* [http://media.ccc.de/browse/conferences/hackover/2014/hackover14_-_6535_-__-_raum_1_7_-_201410251700_-_lightning_talks_-_henning.html#video Lightning Talk] auf dem Hackover 2014
 +
* [https://gist.github.com/Drahflow/2a6e6a902dc408746447 Patch für XServer auf Mensadisplay]
  
 
[[Kategorie:Display]]
 
[[Kategorie:Display]]

Aktuelle Version vom 23. Januar 2020, 01:53 Uhr

Mensadisplay
Mensadisplay an der Wand.jpg
Beschreibung: wandfüllendes LED-Display
Ort: Frickelraum
Status: working (Was heißt das?)
Kontakt: shoragan, DanielWillmann, DooMMasteR
Usage Policy: Use reasonably, read documentation, nicht ohne Erlaubnis an der Hardware hacken.
Links: Source
Mensadisplay in Aktion
Mensadisplay Munching Triangles
Das Mensadisplay (unten), eine Modul ist heraus genommen

Status

Das Mensadisplay ist im Frickelraum and der Wand montiert und kann angesteuert werden.

Ein iMX233 olinuxino-nano kontrolliert das Mensadisplay jetzt über das LCD interface. Es ist im LAN erreichbar (hostname mensadisplay, ZeroMQ auf Port 5556). Der Code des Servers und zur Ansteuerung findet sich im GitLab.

Für kleine schnelle Projekte steht eine Python library zur Verfügung.

Die Netzwerkkarte für den olinuxino liegt in der Kensington-Lock Box.

Controllerplatine

Schaltplan des controller boards

Ursprüngliche Verwendung

Wie der Name nahe legt hing das Mensadisplay ursprünglich in der Mensa und hat das aktuelle Menü angezeigt [Depictation needed]. Es wurde von einem PCM-1823 single board computer kontrolliert, der über den Parallelport das Display ansteuert.

PCM-1823 - Single Board Computer

Rev.B1 02-1

Datasheet

  • Wir haben den Computer mal genauer angeschaut und mit 16MB Edo-Ram versorgt. Auf ihm läuft ein Dos mit Norten Commander 1.0 und eine SQL ähnliche Sprache. Er wird über ein 2. Netzteil auf dem Displya versorgt, das allerdings, höchstwahrscheinlich aufgrund von nicht erreichter Grundspannung, nicht so recht funktionieren mag. Aber auch extern angeschlossen wollte es uns nicht gelingen, das Display mit dem alten Rechner zum Laufen zu kriegen. --Neo Bechstein 14:01, 22. Jun. 2012 (CEST)

Ich würde an eurer Stelle nicht den Rechner nehmen, sondern entweder ein kleines AVR/Cortex-M3 Board oder einen Rechner, wo man einfach Linux zum Laufen bekommt --DanielWillmann 17:58, 31. Dez. 2012 (CET)

Ansteuerung der Panels

Pinout der Stecker/Buchsen an den Displayboards
______
| 1  2|
|_3  4|
 |5  6|
|~7  8|
| 9 10|
~~~~~~

Belegung
Display      Bemerkung

1:  NC
2:  SIN/OUT     Dateneingang für die LEDs/Schieberegister
3:  SCK         Clock (rising edge)
4:  GND         ---
5:  A0          Adressleitung für die Zeile LSB
6:  A1          Mögliche Werte: 0-6 für Zeilen 1-7
7:  A2          Adressleitung für die Zeile MSB
8:  /G          Globales Display Enable (invertiert)
9:  VCC         ---
10: RCK         LED Ausgänge mit neuen Daten updaten

Vorgehen:

1: /G, SIN, SCK, A0-A2, RCK low
2: Daten mittels SIN und SCK in die Schieberegister schreiben
   Wie SPI Daten an SIN, dann SCK Strobe (high, low)
3: Zeile mittels A0-A2 festlegen
4: LED Ausgänge mit RCK updaten (Strobe: high, low)
5: Goto 2

Eckdaten

  • Stromverbrauch: 70W (alle LEDs aus) bis 780W (alle LEDs an)

Anwendungen

Live-Equalizer von Drahflow (Code, Sound)

LCD4Linux Treiber (drv_MENSA): Code

Links