Kennst du das noch? Diese ganz spezielle Faszination, als wir zum ersten Mal vor dem Bildschirm saßen? Angefangen hat bei mir alles mit dem Nintendo, später folgten die Abenteuer auf dem Atari und schließlich die aufregende Ära, als das erste Windows 95 Einzug hielt. Was mich damals wie heute so unglaublich packt, ist die scheinbare Einfachheit dieser Spiele: Ein paar blinkende Punkte, ein minimalistischer Sound – und doch waren diese Welten absolut faszinierend und fesselnd.
Genau diese Magie wollte ich wieder einfangen. Das Pixel-Monster v2.0 ist mein persönliches Herzensprojekt, bei dem ich diese Retro-Faszination in eine selbstgebaute Mini-Arcade-Box verwandelt habe. Basierend auf einer RGB-LED-Matrix mit 1024 Bildpunkten (4x 32×32 Pixel) und angetrieben durch einen Arduino Uno R4 WiFi, ist dieses Gerät eine Hommage an die goldene Ära des Gamings. Tauche mit mir ein in diese Welt, in der Kreativität, Logik und eine Prise Arcade-Nostalgie aufeinandertreffen.
SD-Karte als Spielkonzept
Hast du schon mal ein Spiel programmiert und dich geärgert, dass du für jede klitzekleine Änderung an der Geschwindigkeit oder Sprunghöhe den gesamten Code neu kompilieren und auf den Arduino flashen musstest? Genau das gehört mit dem Pixel-Monster der Vergangenheit an!
Durch die SD-Karten-Integration habe ich die Spieldaten und die Konfiguration („Tuning“) vom eigentlichen Programmcode entkoppelt. Das bedeutet für dich:
- Kein Laptop nötig: Willst du das Spiel schwerer machen oder den Dino schneller rennen lassen? Nimm die SD-Karte aus der Box, öffne die entsprechende Textdatei am PC, ändere einen Zahlenwert, speichere und steck sie zurück.
- Sofortige Anpassung: Beim nächsten Spielstart lädt dein Pixel-Monster die neuen Werte direkt von der Karte. Du kannst deine Arcade-Box also "tunen", ohne eine einzige Zeile C++ Code anfassen zu müssen.
Beispiel: Konfiguration am lebenden Objekt
Nehmen wir als Beispiel die Datei dino.txt, die das Verhalten deines Dino-Spiels steuert. Die Datei ist eine einfache Textliste übersichtlich und jederzeit änderbar.
| Zeile | Wert | Beschreibung |
| 1 | 0.45 | Schwerkraft (gravity): Wie schnell fällt der Dino? |
| 2 | 0.12 | Schwerkraft im Sprung (gravityLow): Beeinflusst das Sprunggefühl. |
| 3 | 1.25 | Sprungkraft (jumpPower): Wie hoch springt der Dino? |
| 4 | 0.50 | Startgeschwindigkeit (speedStart): Das Anfangstempo. |
| 5 | 1.30 | Maximalgeschwindigkeit (speedMax): Das Tempolimit. |
| 6 | 0.008 | Beschleunigung (speedInc): Wie schnell wird das Spiel schwieriger? |
Smartes Design: Zeit, Klima & Hardware-Power
Uhrzeit & Klima Immer auf dem Laufenden
Dein Pixel-Monster ist nicht nur zum Zocken da! Wenn du das Arcade-Gehäuse für eine gewisse Zeit im Menü oder im Idle-Modus stehen lässt, schaltet das System automatisch in den Uhren-Modus.
- Zeit aus dem Netz: Über die integrierte WiFi-Schnittstelle des R4 verbindet sich das Monster beim Start (und danach in festen Intervallen) mit einem NTP-Server (de.pool.ntp.org), um sich die absolut präzise Uhrzeit zu holen. Keine manuelle Einstellung mehr – das erledigt der Controller ganz von alleine.
- Klima im Blick: Ein per Pin angeschlossener DHT22-Sensor misst im Gehäuseinneren permanent die aktuelle Raumtemperatur und Luftfeuchtigkeit, die dir neben der Uhrzeit diskret aber gut lesbar auf der Matrix angezeigt werden.
Warum der Uno R4 WiFi die einzige Wahl ist
Warum der R4 WiFi? Ganz einfach: Er bietet die perfekte Balance aus WLAN-Power für die Zeitsynchronisation und genug Rechenleistung, um 1024 LEDs flüssig mit 50 FPS anzusteuern, ohne bei komplexen Berechnungen (wie bei den physikalischen Spiel-Engines) in die Knie zu gehen.
Aber Achtung: Nur weil der R4 leistungsstärker ist als seine Vorgänger, darf man nicht nachlässig werden. Gerade bei Projekten, die Hardware und Web-Anbindung vereinen, sind Ressourcen wie Arbeitsspeicher (RAM) endlich.
- Effizienz ist Ehrensache: Wenn du anfängst, mit Strings zu hantieren, den Speicher mit redundanten Daten vollzustopfen oder Berechnungen mit float (Fließkommazahlen) in der Hauptschleife zu erzwingen, merkst du schnell, wie das System träge wird oder sogar unvorhersehbar abstürzt.
- Ressourcenschonung als Qualitätssiegel: Ein sauberer Code, der mit uint8_t, int16_t oder Bitmasken arbeitet und Speicherbereiche intelligent teilt (wie wir es hier mit dem gameMemory-Ansatz gemacht haben), zeichnet den Unterschied zwischen einem „hobbymäßigen Bastel-Projekt“ und einem hochwertigen, professionellen Maker-Produkt aus. Der R4 WiFi ist ein Rennpferd – aber man sollte es nicht mit unnötigem Ballast überladen.
Ein paar wertvolle Erfahrungen aus der Entwicklung des Pixel-Monsters:
- Warum ein Pin-Joystick statt Poti-Joystick? Vergiss analoge Poti-Joysticks, wie sie oft in günstigen Gamepads verbaut sind. Ein echter Arcade-Joystick mit Mikroschaltern liefert dir ein definiertes „AN/AUS“-Signal. Das ist nicht nur robuster gegen Abnutzung, sondern erspart dir auch jede Menge Kopfzerbrechen beim Programmieren: Du musst keine analogen Werte kalibrieren oder aufwendig entprellen. Der Joystick klackt, das Signal kommt an – Ende. Investiere hier in ein hochwertiges Modell; das taktile Feedback ist durch nichts zu ersetzen.
- Die Basis ist der Strom: RGB-LEDs sind stromhungrige kleine Diven. Achte unbedingt darauf, ein hochwertiges, stabilisiertes 5 VDC Netzteil zu verwenden, das ausreichend Strom liefert (mind. 9A empfohlen). Ein billiges oder instabiles Netzteil führt bei Lastspitzen zu Spannungsabfällen, was sich sofort durch kurzes Flackern oder falsche Farben auf deiner Matrix bemerkbar macht.
- Vorsicht beim Verdrahten: Die 1024 LEDs anzusteuern kein Pappenstiel. Verlege die Datenleitungen kurz und sauber. Achte beim Löten darauf, dass die Lötstellen fest sitzen und keine kalten Lötstellen entstehen. Jedes „wackelige“ Signal am Dateneingang kann dazu führen, dass die Matrix ab einem bestimmten Punkt nur noch wirre Farben ausgibt – äußerste Sorgfalt beim Verdrahten erspart dir stundenlanges Debugging.
| Funktion | Pin |
| Joystick Up / Down | D2 / D3 |
| Joystick Left / Right | D5 / D4 |
| Buzzer (Sound) | D6 |
| Aktionstaste (Fire) | D7 |
| LED-Matrix Data | D9 |
| SD-Karten-Modul (CS) | D10 |
| Start-Taste (A) | A0 |
| Brightness-Taster (B) | A1 |
| Brightness-Taster (Down) | A2 |
| Exit-Taste | A3 |
| Sensor (DHT22) | D8 |
Bauanleitung: Das Gehäuse aus Holz & Frontscheibe
Ein cooler Automat braucht ein stabiles Zuhause. Das Gehäuse lässt sich hervorragend mit einfachen Heimwerker-Mitteln realisieren.
- Das Holz: Für die Box habe ich 10 mm Pressspanholz verwendet. Es lässt sich leicht verarbeiten, bietet genug Stabilität für die Taster und verzieht sich nicht.
- Das Finish: Um dem Gehäuse einen edlen, professionellen Arcade-Look zu verpassen, wurden die Holzplatten vor dem Zusammenbau komplett mit hochwertiger Möbelfolie beklebt. Das kaschiert die Holzstruktur ist aber leider nicht so stabil wie ich dachte.
- Das Geheimnis der perfekten Diffusor-Scheibe: RGB-LEDs blenden direkt angeschaut unangenehm und wirken wie nackte Punkte. Deshalb gehört eine Milchglasscheibe (Plexiglas opal) vor die Matrix. Achtung, wichtiger Erfahrungswert: Zuerst kam eine 4 mm dicke Scheibe zum Einsatz. Das Ergebnis? Das Licht streute viel zu stark in die Nachbarpixel, wodurch das Bild extrem unscharf und verwaschen wirkte. Der Wechsel auf eine 1,5 mm dünne Milchglasfolie/-scheibe brachte den Durchbruch: Die harten LED-Punkte werden perfekt zu homogenen, quadratischen Pixeln verschmolzen, ohne die Schärfe des Spielfelds zu opfern!
Spiele-Katalog: Satte 11 Retro-Klassiker an Bord
- Pixel Jump: Der süchtig machende Klassiker. Springe von Plattform zu Plattform nach oben und sammle Extra-Leben.
- Pixel Racer: Weiche den Hindernissen auf der Autobahn aus. Doch Vorsicht: Die herannahenden Sportwagen besitzen eine clevere Ausweichlogik und blenden dich mit Lichthupe!
- Space Invader: Schütze deine Stellung gegen die unaufhaltsam sinkenden Alien-Horden. Neu in v2.0: Hast du die Punktzahl erreicht und das Feld komplett leergeräumt, bricht ein gigantischer, schwer bewaffneter Endgegner über dich herein, der je nach Schadenszustand seine Farbe von Grün über Gelb nach Rot wechselt.
- Tetris: Das unsterbliche Puzzle-Spiel im stilvollen Pyramiden-Rahmen inklusive Soft-Drop und originalgetreuer Wall-Kick-Drehlogik.
- Breakout: Zerstöre die Blockreihen mit deinem Paddel. Nutze Spezialblöcke für Kettenexplosionen oder den riskanten Turbo-Ball.
- Snake: Navigiere deine Schlange durch ein komplexes Kreuz-Labyrinth in der Mitte des Spielfelds. Die Wand-Kollision prüft die Map blitzschnell per Bitmaske im Hintergrund.
- Rocket Launch: Steuere deine Rakete durch ein dichtes Asteroidenfeld, zünde den zeitlich begrenzten Boost oder schieße dir den Weg mit dem Bordlaser frei.
- Frogger: Hilf dem Frosch über die vielbefahrene Straße, passe den perfekten Moment ab und besetze die sicheren Ziel-Slots.
- Flappi: Halte deinen Vogel durch rhythmisches Tippen der Feuertaste in der Luft und fliege präzise durch die engen Lücken der herannahenden Säulen.
- Dino Run: Der berühmte Wüsten-Dino. Weiche den verschieden großen Kakteen durch punktgenaue Sprünge aus, während das Spieltempo stetig anzieht.
- Matrix Runner: Weiche den herabfallenden Code-Kaskaden und Laserschranken in dieser rasanten Geschwindigkeitsjagd aus.
Zusammenfassung & Fazit
Das Pixel-Monster v2.0 ist ein absolut fantastisches Maker-Projekt, das zeigt, wie viel Leistung man aus einem modernen Mikrocontroller herbeizaubern kann, wenn man sauber programmiert. Von der durchdachten Speicherverwaltung über die performanten Bitshifts bei der LED-Index-Berechnung bis hin zur lokalen Spielkonfiguration über die SD-Karte stimmt hier einfach das Gesamtpaket.
Ein ganz großes Highlight bei der Entstehung der Version 2.0 war die intensive Zusammenarbeit und das knallharte Debugging mit der KI Gemini. Ob es darum ging, den berüchtigten „Float-Drift“ bei den Spiele-Physiken erbarmungslos auszumerzen, die unsaubere Include-Suppe zu sortieren, RAM-fressende Arduino-Strings beim Highscore-Handling durch schlanke Char-Buffer zu ersetzen oder die pixelgenaue Koordinaten-Umrechnung für die Matrix zu optimieren – Gemini stand mir als unermüdlicher Co-Entwickler zur Seite.
Das Ergebnis ist ein absolut rundes, stabiles und verdammt cooles Stück Hardware, das im Wohnzimmer garantiert alle Blicke auf sich zieht!
Hier gibt es den gesammten Code als .zip
Der Arduino Code für die pixel.ino die .h Datein für die Spiele findest du komplett in der Zip Datei
So kannst du deinen Highscre löschen


