Tetris Display mit Handy-Steuerung

Ein Streifzug im Netz brachte mich auf die Idee. Der Maker Florian S. (Maker = Neudeutsch für Hobbyist oder Bastler) hatte gezeigt, mittels nebeneinander geklebter WS2812 Strips, eine Anzeigentafel (14×29 Pixel) zu bauen. Um für das klassische Klötzchenspiel Tetris auch die entsprechenden Klötzchen zu visualisieren, bastelte er aus Karton eine Wabenstruktur, die über die LEDs gestülpt wurde. Darauf kam eine Streuscheibe um die Klötzchen auch schön abzubilden.
Die Ansteuerung übernimmt ein AVR, der gleiche Controller, der auf dem Arduino sitzt.
Die Idee, alles so minimalistisch zu bauen, ist klasse. Das kann der geschickte “Maker” durchaus nachgestalten.
Minimalismus hat natürlich seine Grenzen, insofern sind die selbstkritisch dokumentierten Schritte auch geeignet dafür, zu erkennen, was mit simplen Mitteln geht und was dann doch nicht mehr.
Also, die Anregung war da, der Gedanke gleich mal loszumachen wurzelte im tiefen Glück, dass das Wochenende vor der Tür steht und zu Hause nur Rasenmähen Pflicht ist.

Led’s work!
Zunächst wählte ich die Komponenten aus. Mit acht Stück unseres 8×8 Panels kommt man auf die Kantenlänge von 16×32 Pixels. Das ist für Tetris mehr als ausreichend. Als Rechenkern ist momentan der Paspberry-Pii eine interessante Wahl – Garmil ist schon ganz begeistert und wird eine App schreiben – Erwin hat eine Delphi-basierende Tetris-Engine im Netz entdeckt und als Experte für ebendiese Sprache ist er auch kaum noch zu halten. Im Endeffekt sollte man das Teil auch via Bluetooth ansteuern und somit braucht es für Handys eine App. Dumm nur, dass der Raspi ein Multitasking-Betriebssystem drauf hat. Es ist ganz schwer möglich ein Backend zur Ausgabe des WS2812-Protokolls zu erstellen. Hier hilft ein ganz kleiner (Hardware-)Trick, man nimmt einen LED-Controller, der via TPM2 angesteuert wird. Das geschiet über USB, ist also recht einfach anzubinden. Meine Wahl ist bisher auf den Matrix-Player gefallen. Der kann bis zu 1024 LEDs ansteuern, ist also gut geeignet und kann direkt aufs Panel geschraubt werden. Der nächste Schritt sind die mechanischen Komponenten und die mechanische Konstruktion. Als langjähriger Lasertechniker besteht für mich kein Zweifel am Material, stylisches Plexiglas lässt sich hochpräzise auf einem CO2-Lasercutter verarbeiten. [ich verwende Lasercutter der amerikanischen Firma UNIVERSAL, die den strengen Amerikanischen und Europäischen Sicherheitsnormen entsprechen] Die Konstruktion wird in CorelDraw gezeichnet, Corel ist ein tolles Programm um 2D Vektorgrafiken hochpräzise zu erstellen. Gut, es gehört schon eine ordentliche Portion Erfahrung dazu, in Corel auch zum gewünschten Ergebnis zu kommen. Wie gesagt, Corel ist 2D basierend und der Lasercutter ist das ebenfalls – passt also wunderbar zusammen. Zumal der Lasercutter als Drucker direkt aus Corel eingesetzt wird. Man lässt also die Konstruktion einfach auf Plexiglas ausdrucken…

Hier erlaube ich mir einen dringenden Hinweis zum Thema Lasercutter. Ein Lasercutter ist ähnlich wie ein 3D-Drucker oder ein Fräsbohrplotter ein begehrenswerter Automat für den Hobbykeller des ambitionierten Makers. Wer so ein Teil mal in Aktion gesehen hat, der will es haben. Und wie so oft – klar man bekommt so einen Cutter für wenige Tausend Euro aus China importiert. Aus eigener Erfahrung – größte Vorsicht, die Teile sind echt gefährlich und so richtig schlecht in der Handhabung. Sie entsprechen nicht unserem Sicherheitsstandards und müssen erst auf Europäische Normen umgerüstet werden. Einige Firmen machen das offenbar in Deutschland. Trotzdem scheint das ein Spiel mit dem Feuer zu sein – Florian mit einem ernüchternden Bericht.  Aber zurück zum Projekt:

Zuerst konstruiert man die Display-Grundplatte, die ist abhängig von der Größe und Anordnung der Panels. Ich mache mir sowas einfach und importiere die DXF-Daten der Panels (das sind die schwarzen Quadrate mit den vielen Bohrungen) und kann die so in Corel wie gewünscht anordnen. In diesem Falle im 2×4 Raster. Toll an der hier eingesetzten Matrix-Panel ist, dass sie sich wirklich simpel montieren und nahtlos anordnen lassen. Das ist bei keinem mir bekannten, vergleichbaren Produkt möglich. Bei Volllast werden die Panels schon mal ordentlich warm, kleben fällt als Montagehilfe aus. Die Panels haben M3 Montagelöcher – sogar 16 Stück – man ist sehr variabel. Dazu kommt, dass die Strom- und Steueranschlüsse großzügig in M4 ausgelegt sind und die Verdrahtung auf dem Panel eine sehr große Fläche hat. Auch die Systembohrungen haben einen Sinn, da kann man kanz prima eine Wabenstruktur verankern, die sollte am Ende exakt aussehen, was sich hoffentlich zeigen wird. [hier ein Nachtrag: die Teile rasten tatsächlich wie Lego-Bausteine ein- das geht richtig gut! Gut gemessen Folker! Kompliment.]
Aufgrund der DXF-Importe kann ich ganz genau in Corel die Panels anordnen und dann auch ganz genau die Befestigungsbohrungen (grün) setzen, das geht auf das Hundertstel Millimeter. Tetris_CDR1Für ein Wochenendprojekt ist das eine ziemlich gute Voraussetzung, dass alles passt. Um die Matrixstruktur lege ich einen Rand und darüber hinaus sehe ich noch eine Fläche vor, wo ich Platz für den Schriftzug “Tetris” habe – hier rechts im Bild zu sehen. Das graviert der Laser gleich mit ein. Die rote Linie markiert die zum Schluss aufmontierte Streuscheibe.  Nun muss der Fuß erstellt werden – das Display steht senkrecht und hochkant – es braucht also eine massive Fußplatte. Display uTetris cdr3nd Fuß werden im Endeffekt aus 8mm XT-Plexiglas geschnitten, haben also ein respektables Eigengewicht. Mittels gleich mitkostruierten Haltewinkeln wird die ganze Sache zu 90 Grad verschraubt (8x M5 Schrauben für die feste Verbindung). Die Konstruktion der Wabenstruktur ist etwas tricky, da braucht man schon Erfahrung, wie alles räumlich zusammengesteckt wird. In der Mitte sind es Waben, am Rand ein Streifen um alles schön aussehen zu lassen. Die Wabenstruktur geht immer nur über zwei Panels, Plexiglas hat Tetris4beim Schneiden über große Längen und schmale Breiten die unangenehme Eigenschaft des Verziehens. Man muss fragmentieren. Auf die Wabenstruktur wird eine True-LED-Plxiglasscheibe aufgesetzt, die das LED-Licht sehr gleichmäßig verteilt. Diese Scheibe muss auch Befestigungslöcher haben um am Ende auch plan aufzuliegen, sonst gibts verwischte Kanten und das sieht doof aus. Samstag habe ich bereits die beiden Platten geschnitten, das dauert bei dieser Dicke und einem 60Watt-Lasercutter eine gute Stunde. Das Ergebnis sieht dafür aber schon beeindruckend aus. Selbst lose zusammengesteckt macht es einen sehr wertigen und stabilen Eindruck. Fortsetzung folgt…

Und nun die Fortsetzung :
Tetris-3 Tetris-5Tetris-4

Nochmals etwa fünf Stunden am Sonntag machen das Ganze greifbarer. Bis auf wenige (Denk-)Fehler, die recht einfach gefixt sind, hat alles super geklappt. Fußplatte, Haltewinkel und Displayplatte passen (wie bei einem professionellen Lasercutter zu erwarten) perfekt zusammen. Auch die Panels sind in relativ kurzer Zeit montiert. Beeindruckend ist immer wieder die vom Lasercutter vorgelegte Präzision, die den Montageakt zum Kinderspiel werden lässt. Ich frage mich manchmal, warum man sowas heute noch mit einem Fräsautomaten erledigen soll, ein Laser ist für derartige Schneidarbeiten um Längen besser. Frappiert hat mich die Montage der Wabenstruktur, wie bei Legobausteinen passt alles mit einem spürbaren Click zusammen. Man könnte glatt vergessen, dass man es mit einem Wochenendprojekt zu tun hat. Ein paar Bilder:

Tetris-6 Tetris-7Tetris-8 Tetris-9

Tetris-9b Tetris-9f Tetris-9e

Die Montage dauert eine gute Stunde, wegen der schieren Masse an Abstandshaltern und wegen den

Tetris-9a

im nächsten Step erforderlichen elektrischen Verbindungen. Es müssen also gleich Lötfahnen untergeschraubt werden, ohne diese Anschlusspunkte gibts am Ende kein Tetris… Wenn jetzt die Schraubverbindungen nicht gewissenhaft angezogen worden sind, dann gibts Probleme bei der Inbetriebnahme und im schlimmsten Falle die komplette Demontage.

Aber das wollen wir mal nicht hoffen, ich habe jede einzelne Stelle gewissenhaft geprüft um mir diese Mehrarbeit zu sparen.

Die Wabensegmente sind nun montiert, alles passt prima. Zum Schluss wird die aus speziellem Plexi gefertigte Streuscheibe  (true LED) plan auf die Wabenstruktur aufgesetzt und mit durchsichtigen Plastikschrauben fixiert. Metallschrauben stören hier einfach die schöne Optik.

Tetris-9d Tetris-9c

Mit montierter Streuscheibe sieht das Monster weniger bedrohlich aus, doch nun wird die Elektronik erstellt und montiert und nach deren Inbetriebnahme hoffen wir auf sehr helle, schön kontrastreiche Klötzchen um das perfekten Tetris-Erlebnis zu genießen.

Für die Programmierung der gesamten Steuerung brauchen wir noch etwas Zeit – also habt bitte Geduld. Immerhin ist das ein Freizeitprojekt, also nach Feierabend.

Tetris-9g  Tetris-9h

 

Sonntag 25.10.2015 – die Fortsetzung:

Gamadril hat sich der Steuersoftware angenommen und in den letzten Wochen für den Raspi ein Betriebssysten aufgesetzt, was ein WLAN-Netz aufspannt “Games” und natürlich auch Tetris enthält. Er bastelt noch an Snake, Ping-Pong, Arkanoid, Breakout und noch ein paar Spielen, die für Klötzchenoptik geeignet sind. Nachdem die ersten Hindernisse beseitigt sind, fühlt sich das Ganze schon ganz prima an.

Hier das Video dazu:

Mit dem Smartphone kann man sich ins offene WLAN “Games” einloggen und einen Browser starten. Über die IP 192.168.0.1 sind die Richtungstasten sowie die Starttaste verfügbar. Erfolgreiches Einloggen wird mit grünem Hintergrund quittiert. Manche Browser unterstützen auch ein Tastenvibrato, mein Handy wollte das leider nicht zeigen…

Sicher müssen wir noch ein wenig am Handling feilen, aber sonst klappts schon recht gut.

Das Display erscheint auf dem Video recht klein, ist aber in natura schon recht beeindruckend. Die Konstruktionspläne mache ich in den nächsten Tagen fertig, so dass man die teile selbst schneiden kann (wenn man einen Lasercutter zur Verfügung  hat).

Hier noch ein paar aktuelle Fotos:

Tetris_1_2  Tetris_1_3  Tetris_1_4  Tetris_1_5  Tetris_1_6

 

 

 

Dynamische Effekte mit LED-Strip

Eine kurze Anfrage von Patrick hat mich zu diesem 10-Minuten-Projekt inspiriert:

Hallo erst mal
Ich wollte mir sowas
Youtube-Video “PIC12F675 32 LED PWM CONTROLLER WITH 74HC595, PIC16F84A AS SEQUENCE LED AND MULTISPEED KNIGHT RIDER”
Bauen!!
Bräuchte nur das Programm, vielleicht kann mir einer helfen??
Es soll für einen Schriftzug sein, mit 5 Buchstaben jeder soll 6 LEDs bekommen, und vom Programm her sollte jeder Buchstabe leuchten also immer 6 LEDs, und dann halt jede im Kreis laufen das würde langen, Vielleicht kann mir einer hier helfen
Danke schön mal

Ja der Aufwand, den da manche Bastler treiben, der schockiert mich dann immer wieder. Das geht viel einfacher und ist in Minuten aufgebaut:
LED-Strip WS2812 der gewünschten Länge oder eine fertige Steck-LED-Kette, einen LED-Player-S und das Programm LedEddy, ein wenig Einarbeitungszeit ist auch einzuplanen.
Die ganze Lichtsequenz auf Micro-SD-Karte speichern und in den PLayer-S stecken. Fertig.
Das würde im einfachsten Falle an einer USB-Powerbank stand-alone funktionieren und macht mit wenigen Handgriffen viele neue schöne Effelte.
Ich denke so zwei bis drei Stunden hat man Buchstaben nach Wunsch programmiert.
Wenn Du Dich erst in die PIC-Programmierung einarbeitest – na dann wirds keine Wochenendprojekt mehr – eher ein Halbjahresprojekt, wenn Du die Lust nicht verlierst.
Mal abgesehen von dem irren Aufwand, was der da auf Youtube zeigt.
Wenn ich ein wenig Zeit finde, dann mache ich am Wochenende mal ein kleines Beispiel…

Ja und hier, zwei Wochen später tataaa:

Demo-Video

Tatsächlich hat das Programmieren gerade mal 10 Minuten gedauert, die Hardware zusammenstecken plus drei Drähte löten, naja so zwei drei Minuten.

Was man damit anzeigen möchte ist schnell umgesetzt, Knight-Rider, Zylon oder die tolle Blink-Sequenz vom Audi oder beleuchtete Buchstaben – alles nur eine Frage der Programmierung. LedEddy ist kinderleicht zu bedienen, man kann mit dem LED-Player-S das Ergebnis live ansehen.

Was braucht man?
– WS2812 LEDs Strip oder Einzel-Dioden
– LED-Player-S
– Powerbank (je nach Striplänge)
– Zehn Minuten Freizeit

Viel Spaß!

 

Nachtrag – gerade mal was gefunden – LED-Player und WS2812: