Tetris ist der absolute König der Puzzlespiele und auf einer 8x32 LED-Matrix fallen die Steine wie von einem Hochhaus, gut das Joystick, die Steine ultimativ schnell beschleunigt. In diesem Projekt zeige ich dir, wie du den Klassiker hochkant auf dein Display bringst, inklusive Highscore-Anzeige und Helligkeitssteuerung ABER Vorsicht, das Spiel ist wird nur auf 8 Pixeln Breite gespielt🕹️.
Eines von 60 Highlights aus meiner Neopixel-Spielesammlung!![]()
Arduino Tetris auf 8x32 NeoPixel, geht das?
Das klassische Tetris-Feld ist normalerweise 10 Pixel breit. Ich nutze hier 8 Spalten, was das Spiel deutlich rasanter macht. Durch die enorme Höhe von 32 Pixeln ist genug Platz für ein fettes Highscore-Display, das sogar dreistellige Ergebnisse (über 99 gelöschte Linien) problemlos anzeigen kann. Nimmst du diese Herausforderung an?
Die Features im Überblick
- Vertikaler Modus: Keine Lust auf Umbauen? Stell deine Matrix einfach hochkant auf (Kabelanschluss unten). Der Code erledigt die Rotation für dich!
- Hardware-Schutz: Damit deine Augen nicht "durchbrennen", habe ich die auf 60 Limitiert.
- Dynamic Speed: Je mehr Linien du löschst, desto schneller fallen die Steine.
- Arcade-Steuerung: Präziser Joystick-Drop und Button-Rotation für das echte Spielhallen-Gefühl.
Die Verdrahtung
Für das volle Erlebnis nutzt du am besten ein Joystick-Shield oder baust dir dein eigenes Pult mit vier Tastern.
| Komponente | Pin am Arduino | Beschreibung |
| 8x32 Matrix | D9 | Dateneingang (DIN) |
| Joystick X-Achse | A0 | Steine nach links/rechts bewegen |
| Joystick Y-Achse | A1 | Soft Drop: Stein schnell nach unten jagen |
| Button A | D2 | Stein rotieren |
| Button B | D3 | Helligkeit erhöhen (nur im Startmenü) |
| Button C | D4 | Start / Reset |
| Button D | D5 | Helligkeit verringern (nur im Startmenü) |
Bedienungsanleitung
- Start: Nach dem Einschalten siehst du ein gelbes "GO". Hier kannst du mit Button B und D die Helligkeit anpassen.
- Loslegen: Drücke Button C, um die Steine fallen zu lassen.
- Action: Nutze den Joystick für die Bewegung. Der Soft Drop (Joystick ziehen) ist extra schnell eingestellt, damit du keine Zeit verlierst!
- Game Over: Wenn das Feld voll ist, blitzt die Matrix rot auf und zeigt dir deinen Score vertikal untereinander an. Mit Button C landest du wieder im Startmenü.
Der Arduino Code für das Hochhaus Tetris Spiel
Damit du das Spiel perfekt auf dein eigenes Gefühl abstimmen kannst, zeige ich dir hier genau, an welchen Stellschrauben du im Code drehen musst um die Geschwindigkeiten anzupassen.
1. Die Start-Geschwindigkeit
Ganz oben im Bereich der Konfiguration findest du diese Zeile:
- const int SOFT_DROP_SPEED = 40; // Joystick-Fallgeschwindigkeit in ms
- Was sie macht: Das ist das Tempo, mit dem die Steine zu Beginn des Spiels ganz von alleine fallen.
- Anpassung: Wenn dir 300 ms noch zu langsam sind, stelle den Wert kleiner (z. B. auf 200). Willst du es gemütlicher, stelle ihn höher (z. B. auf 400).
2. Der "Soft Drop" (Joystick nach unten)
Diese Variable ist neu und steuert nur die Reaktion auf deinen Joystick:
- const int SOFT_DROP_SPEED = 40; // Joystick-Fallgeschwindigkeit in ms
-
- Was sie macht: Sobald du den Joystick nach unten ziehst, wird die normale Fallgeschwindigkeit ignoriert und dieser Wert genutzt.
- Anpassung: Mit 40 ms rasen die Blöcke förmlich nach unten. Wenn dir das zu hektisch ist, erhöhe den Wert auf 80 oder 100.
-
3. Der automatische Speed-Up (Level-System)
Damit es nicht langweilig wird, erhöht der Arduino das Tempo jedes Mal, wenn du eine Reihe löschst. Das passiert in der Funktion clearLines():
- fallSpeed = max(80, fallSpeed - 8);
- Was sie macht: * Die -8 bestimmt, um wie viele Millisekunden das Spiel pro gelöschter Reihe schneller wird.
- Die 80 ist die absolute Geschwindigkeitsgrenze (das "Limit"). Schneller als 80 ms wird das Spiel niemals, damit es noch spielbar bleibt.
- Anpassung: Wenn das Spiel schneller "anziehen" soll, ändere die - 8 in eine - 15.
- Was sie macht: * Die -8 bestimmt, um wie viele Millisekunden das Spiel pro gelöschter Reihe schneller wird.
ACHTUNG!!!🕹️
Wenn du den Code anpasst, ändere immer nur einen Wert dieser Zeiten und teste kurz, wie sich das Spielgefühl verändert. So findest du am schnellsten dein persönliches "Arcade-Setup"!


