Wer macht mit, unser animiertes C-Hack Schild zu bauen?
So in der Art wird es aussehen, wenn es fertig ist.
Da wir 6 identische Panels bauen werden, die ein Raster aus 4 x 6 LEDs haben, ist das Projekt ideal geeignet, um im Team von 5 bis 6 C-Hack Mitgliedern parallel zu arbeiten.
Was gibt es zu tun?
1. Mechanik:
Wir bauen aus Hartfaserplatte die 6 Panels. Hierzu werden wir bohren und kleben.
Hinter jedes der runden Fenster kommt eine kegelförmige Tüte aus weißem Karton, die das Licht sauber streut und die benachbarten LEDs voneinander abschirmt.
Mit ein bisschen Mathe kann man auch ausrechnen, wie die Pappe ausgeschnitten werden muss:
Setzt man z.B. den Lochdurchmesser 65mm ein, dann muss unsere Pappscheibe den Durchmesser 92mm haben und x=0.7, was bedeutet, dass wir ein Segment von 0.3 x 360 = 108 Grad herausschneiden müssen.
2. Elektronik:
Wir bauen Arduino-Boards auf Lochrasterplatinen auf. Der Vorteil ist, dass jeder nachher genau versteht, die so was funktioniert und wir keinen Shield (Huckepack-Board) brauchen, weil wir die Boards genau so machen, wir wir sie für diesen Zweck brauchen.
Das bedeutet also:
– Entwerfen
– Löten
– Verdrahten
Mehr zum Lochraster-Arduino: Surasto – Die kreative Seite des Lebens
3. Kommunikation
Damit die 6 Anzeigen synchron von einem Server gesteuert werden können, habe ich vor, Controller auf einem simplen Zweidraht-Bus mithören zu lassen. Jeder Controller hat dabei seine eigene Adresse und kann vom Server individuell angesprochen werden.
Hierbei lernen wir etwas über:
– Physical Layer (Wie sieht das Signal aus?)
– Transport Layer (Wie adressieren wir die einzelnen Controller?)
– Application Layer (Welche Befehle wollen wir über unseren Bus jagen?)
4. Software
Hier können wir uns dann voll austoben, wenn alles fertig ist.
Ich stelle mir vor, dass wir über unseren Server zunächst mal verschiedene Lichteffekt und Schriftzüge ablaufen lassen.
Später könnte man vielleicht eine Webseite machen, von der aus man den Ablauf von außen beeinflussen kann. Vielleicht können wir ein simples interaktives Spiel für Zuschauer von außen implementieren? Hier können unsere Web-Designer zeigen, was sie drauf haben.
Ab hier folgt die Projektdokumentation
Projektteam:
Ralf, Rolf, Lukas, Tim, Lorenz, Olli, Simon
Mechanik
Die Panels mit den Pappreflektoren:
Wir haben die Teile schwarz gepinselt, damit das im Dunklen hinter den Fenstern nicht sichbar ist. Man sollte dann wirklich nur die leuchtenden Punkte sehen – schaun mer mal…
Die Dreifarb-LEDs
Hier mal kurz die benötigten Vorwiderstände für die ersten Experimente
Da die LEDs später gemultiplext werden, müssen wir vermutlich kleinere Vorwiderstände nehmen, damit das noch hell genug ist. Allerdings sollten wir das nicht übertreiben, sonst zerschießen wir entweder die LEDs oder den Mikrocontroller, wenn die SW mal stehen bleibt.
Versuche mit dem Arduino
Heute ging es darum, herauszufinden, wie wir die LEDs mit dem Arduino ansteuern und wie groß der Effekt des Multiplexens werden wird. Da jede Zeile nur zu einem Sechstel der Zeit eingeschaltet ist, ist zu erwarten, dass die Helligkeit auch auf 1/6 sinkt. Das ließe sich zwar mit einem kleineren Vorwiderstand kompensieren, führt aber zum sicheren Tod des Arduinos, wenn die SW mal dauerhaft auf einer Zeile stehen bleibt.
Um das Multiplexing zu simulieren, haben wir einfach nur die LEDs 1ms eingeschaltet, während sie 6ms ausgeschaltet waren. Die positive Überraschung: Die Helligkeit sinkt nur unmerklich ab. Rolf hat Recht: Gepulste LEDs leuchten heller!!
Test Software für den PC
Ich habe mal eine Processing Sketch zusammengebastelt, mit der wir die Panels ausprobieren können. Die ist quick and dirty zusammengehackt, sollte aber für den Job O.K. sein. Damit können wir nachher auch die Protokolle ausprobieren. [Ralf}
Usage: Unten die Farbe auswählen (Rot, Grün, Blau). Durch anklicken mehrerer Farben kann auch gemischt werden. Dann die gewünschten LEDs in der Matrix anklicken. Der grüne Knopf lädt das ganze zum Panel hoch.
Hier der Source Code für PC und Arduino: C-Hack-Panel
Schaltplan
Muss noch aktualisiert werden, da wir einige Pin-Assignments geändert haben um die Verdrahtung zu vereinfachen.
Hier fehlt noch die Verdrahtung des differenziellen Empfängers für die serielle Schnittstelle. Wird nachgereicht…
Der Bootscreen
Um es so einfach wie möglich zu machen, meldet sich jedes Panel nach dem Einschalten der Spannungsversorgung mit seiner Adresse. Also 1 bis 6. Außerdem sendet es seine Adresse einmal pro Sekunde über die serielle Schnittstelle zum PC. So kann man schnell sehen, ob der Mikrocontroller lebt und mit welchem der sechs Panels man es zu tun hat.
Bus System mit Test Software auf dem PC
Mit drei Panels funktioniert der Setup schon mal. Ein PC-seitiger Sender konvertiert von USB nach RS485 (habe jetzt erst gesehen, dass der ja genau für solche Bussysteme gedacht ist :-)) und alle Panels hören den Bus ab.
Hier das SW-Package, mit der PC Test Software in Processing geschrieben und dem Arduino-Teil für die Panels:
C-Hack-Panel(17-Oct-15)
Die Welle mit 3 Panels:
O.K. zwei LEDs funktionieren noch nicht aber sonst sieht’s schon vielversprechend aus…
Hier der erste Einsatz im C-Hack. Nach dem Starten zeigen die Displays für 2 Sekunden ihre Adressen an und schalten dann auf „C-Hack“.
Weiter geht es hier mit dem Backend und Frontend für’s Web, das auf einem Raspi laufen wird.
Neue Software Version – Mit Simulator, damit wir das Debugging der Steuerung nicht von der Straße aus machen müssen.
C-Hack-Panel(17-Oct-2015)
Und hier kommt noch der Sequenzer als C source für den Raspberry-Pi (Müsset man wirklich nicht in einem Zip-Archiv speichern, verlangt unser WordPress aber so…)
C-Hack-Panel(29-Nov-15)
Und hier noch eine Beipieldatei zur Steuerung des Sequenzers:
.WWW …. W..W .WW. .WWW W..W
W… …. W..W W..W W… W.W.
W… …. W..W W..W W… WW..
W… WWWW WWWW WWWW W… W…
W… …. W..W W..W W… WW..
W… …. W..W W..W W… W.W.
.WWW …. W..W W..W .WWW W..W
.BBB …. B..B .BB. .BBB B..B
B… …. B..B B..B B… B.B.
B… …. B..B B..B B… BB..
B… BBBB BBBB BBBB B… B…
B… …. B..B B..B B… BB..
B… …. B..B B..B B… B.B.
.BBB …. B..B B..B .BBB B..B
Ein abwechselnd blau und weiß aufleuchtendes C-Hack Logo.
Bin auf jeden Fall dabei.
Prima Tim, dann steht ja kreativen Web Apps nichts mehr im Wege…;-)
Ich habe heute weißes Plexiglas bekommen und bereits ausprobiert mit einer LED sieht klasse aus.
Wir müssen als nächstes entscheiden, ob wie 4×7 mit 60mm Löchern oder 5×8 Matrix mit 50mm Löchern machen. Beides geht mit dem Atmel controller.