Zahlreiche Youtube Videos, viele Fotogallerien, mehrere Seiten von angefressenen Makern und der eigene Wunsch nach einem coolen, selbstgebauten Möbel haben die Grundlage für den Bau dieses Tisches gelegt. Meine Frau liebt Tetris, ich liebe blinkende LEDs und wir beide lieben es ein besonderes Werkstück im Wohnzimmer stehen zu haben. Ein Tetristisch muss her! Sofort habe ich mich an die Planung gemacht – und nun ist er fertig!!
Die Planung des Tetristisches
Folgendes Eigenschaften hatte ich mir vorgestellt:
- Der Tisch soll ca. doppelt so gross sein wie ein IKEA Lack-Tisch.
- Er soll eine eigene Stromversorgung erhalten
- Es soll damit Tetris gespielt werden können, möglichst nahe der original Tetris-Version
- Es sollen auch andere Spiele oder grafische Kunststückchen mit dem Tisch gemacht werden können.
- Es soll mindestens 1 Gamecontroller, evtl. auch zwei, angeschlossen werden können.
- Der Tetristisch soll Soundeffekte abspielen können.
- Als Tischoberfläche soll eine dicke Glasscheibe dienen
- Der Tisch soll das Gewicht einer erwachsenen Person tragen können.
Ich habe mir die nötigen Komponenten zusammengesucht und den Tisch in einem CAD-Programm konstruiert und später visualisiert.
Tetristisch – der Bau
Der Unterbau
Meine Konstruktion musste sehr stabil werden. Ich habe mich entschieden mit dicken MDF-Platten zu arbeiten und diese in einem zweiten Schritt zu lackieren.
Die vier Seitenwände des Tisches wurden auf Gehrung mit je einem 45°-Winkel gesägt und haben im unteren Bereich eine durchgehende Nut erhalten. In diese Nut habe ich Balsaholz-Leisten entsprechender Dicke eingeleimt. Diese tragen die 110 x 55cm grosse LED-Platte, den Gitterrost und die Stromversorgung. An der Oberkante habe ich einwändig eine Stufe eingesägt auf welcher später die Glasplatte aufliegen soll.
Im Baumarkt konnte ich 4 Möbelbeine für Pulte erwerben, habe diese auf die gewünschte Länge zugesägt und an den verstärkten Ecken an den vier Seitenwänden fixiert.
Insgesamt ähnelt der Aufbau stark dem eines Bettes in welches ein Bettrost eingelegt werden kann.
Die LED-Platte
Die LED-Platte besteht aus einer dicken MDF-Platte mit einem Loch in der Mitte, um sämtliche Kabel nach unten führen zu können. Ich habe zwei Rollen WS2801 LED-Streifen erworben und diese so auf dem Brett verteilt, dass insgesamt 10 Spalten und 20 Reihen entstanden sind (dem Ur-Tetris entsprechend). Unglücklicherweise haben die Standardausführungen von 30 resp. 60 LEDs pro Meter nicht auf die Masse meines Tisches. So habe ich jedes LED mit seinem Driver-Chip separat abgeschnitten, auf den Tisch geklebt und mit insgesamt rund 1600 Lötstellen in Serie geschalten (Schlangenförmig horizontal von oben-links nach unten rechts).
Erst später habe ich bemerkt, dass die Stromversorgung der insgesamt 200 LEDs nicht auch in Serie erfolgen kann. Die ersten LEDs haben einen zu grossen Spannungsabfall genereriert, so dass die hinteren LEDs ungenügend stark aufleuchteten und nicht mehr funktionierten. So habe ich einen Strom-Bus in der Mitte des Tisches geführt welcher ca. alle 3-4 Reihen den Strom in voller Spannung zu den LEDs führte.
Die WS2801 LEDs werden ingesamt über 4 Leitungen angesteuert: V+, GND, Data und Clock. Sie sind glücklicherweise nicht sehr wählerisch was das Timing ihrer Befehle angeht, weshalb die Wahl des Mikrokontrollers einfacher war.
Um die Kabelführung zu erleichtern und das “hinüberbluten” eines LEDs ins nächste Feld zu vermeiden, habe ich Neopren-Streifen zwischen die LEDs geklebt wo später der Gitterrost draufstehen wird.
Der Gitterrost
Um einen möglichst authentischen Tetrisklötzchen-Effekt zu erhalten, habe ich einen Gitterrost aus Holz angefertigt, welcher in den Vertikalen einen Schlitz von unten und in der Horizontalen einen Schlitz von oben eingesägt bekommen hat. So konnte ich die beiden Elemente ineinanderstecken und das gesamte Gitter einfach auf die LED-Platte mit den geklebten Neopren-streifen legen.
Ich habe die tiefe des Gitterrosts so gewählt, dass ein möglichst spitzer Lichtkegel auf die mattierte Glasplatte trifft. Dies sollte mir scharfe Abgrenzungen der einzelnen Felder ermöglichen.
Die Glasplatte
Ich habe für den Tetristisch eine 1cm dicke stabile Glasplatte mit eingeätzter Mattierung an der Unterseite gewählt.
Die Stromversorgung
Anhand erster Berechnungen habe ich ein 12 Volt Netzteil gekauft, welches mehr als 30 Ampere liefern kann. Diese hat an der Rückseite Anschlüsse für Nulleiter, Phase und Erde und je zwei 12V und zwei Erdpole mit Schraubbefestigungen.
Der Mikrokontroller
Initial habe ich das gesamte Projekte mit einem Arduino begonnen. Schnell habe ich dessen Limiten erkennen müssen und mit dem Arduino Mega weitergearbeitet. Je ehrgeiziger ich mit meinem Projekt wurde, desto höhere wurden die Anforderungen an den Mikrokontroller. Um Netzwerkfunktionalität (inkl. WiFi), Soundausgabe und USB-Anschlüsse integrieren zu können habe ich mir dann einen Raspberry Pi gekauft und den Tetristisch fortan auf dieser Grundlage aufgebaut.
Der Gamecontroller
Aus Nostalgie-Gründen habe ich einen NES-Controller mit USB-Anschluss gekauft.
Die Programmierung
Ich habe für die Programmierung des Tetristisches anhand zahlreicher Tutorials Python erlernt und konnte mit diesem Grundwissen schliesslich mein eigenes Tetris programmieren. Sicherlich graust es jedem professionellen Programmierer, wenn er meinen Code sieht – doch es hat geklappt. Die aktuellste Version befindet sich jeweils auf https://bitbucket.org/royassas/rgb-led-table
Ich habe ein Hauptprogramm (TableStarter.py) geschrieben, welches die einzelnen Unterprogramme aufrufen kann. Es horcht auf einem definierten Port nach Befehlen welche ich mit jeder beliebigen Plattform senden kann. Hauptsteuerungselement ist mein Android-Telefon welches UDP-Befehle in Richtung Raspberry Pi aussendet.
Gegen Ende des Projekts habe ich noch eine nette Zusatzfunktion einbauen können. Mit einigen Anpassungen konnte ich einen Squeezebox-Client auf dem Raspberry Pi integrieren und kann den Tisch nun in meine Hausautomation mit Musikanlage einbinden. Cooles Gimmick.
Das Fazit
Der Tisch funktioniert und gefällt mir super! Man kann flüssig Tetris spielen, die Lichteffekte sind cool und sind ein Blickfang an jeder Party. Der integrierte Squeezebox Client ist im Alltag super.
Verbesserungspotential
Beim nächsten Versuch einen ähnlichen Tisch zu bauen, würde ich auf das aufkleben der einzelnen LEDs mit den dazugehörigen 8 x n Lötstellen sehr gerne verzichten. Ich würde die bestehenden Abstände auf den LED-Streifen nutzen und dafür die originalgetreue Aufteilung von 10 x 20 Feldern opfern. Viele Lötstellen haben Probleme und sorgen für Flackern oder Fehlfunktionen, zwischenzeitliches Nachlöten kann diese Probleme beheben.
Stromversorgung und Raspberry Pi würde ich nicht mehr in einer Kiste unter dem Tisch anbringen, sondern im Kopf- oder Fussbereich des Tisches und sämtliche Anschlüsse aus dem Tisch hinausführen. (Steckleisten für USB, Audioanschlüsse, Netzwerkkabel und Stromanschluss).
Eine höhere “Pixeldichte” wäre natürlich ebenfalls sehr cool, damit steigt jedoch auch der Strombedarf rasch an.
sehr, sehr cool!
hallo “Mike”
genau solche coole und einmalige Ideen such ich. Kannst Du Dich mal bei mir melden.
Gruss Grob Gerhard
Geschäftsführer