Inhaltsverzeichnis

Simon Spiel

Baustelle, noch nicht fertig :-)

Da mir das programmieren von kleinen Spielen sehr Spaß macht, habe ich mal wieder etwas gesucht was man bauen könnte. Ich bin dann auf das Spiel Simon gekommen.

Hierzu mal der Wikipedia-Eintrag:

Auszug von Wikipedia: Senso (Spiel)

Senso (im englischen Sprachraum Simon) ist ein von Ralph Baer – dem Entwickler der 1972 erschienenen ersten TV-Spielekonsole Magnavox Odyssey – und Howard J. Morrison entwickeltes und in mehreren Ländern patentiertes elektronisches Spiel, welches 1978 bei Milton Bradley veröffentlicht wurde und sich besonders in den 1980er Jahren großer Beliebtheit erfreute. 1979 befand es sich auf der Auswahlliste zum Spiel des Jahres. Neuerdings wird das Spiel auch in Deutschland als Simon verkauft.

Hier mal ein Video von meiner provisorischen Variante:

Aufbau

Ich habe mich dafür entschieden die Taster aus transparentem PLA zu drucken und in dem Taster eine RGB-LED zu intigrieren. Somit dient die Eingabe gleichzeitig auch als Anzeige. Als Taster habe ich Kurzhubtaster auf eine Platine gelötet. Im Nachhinein stellte sich das als nicht so Optimal heraus, da die mechanischen Anforderungen relativ hoch sind. So ist bei mir der Druckpunkt der Taster nicht wirklich schön und ich muss im richtigen Winkel drücken (sieht man auch im Video ganz gut).

Andererseits ist das optische Ergebnis mit den RGB-LEDs und dem transparenten PLA echt super. Die WS2812B-LEDs habe ich in den Kunststoff eingedrückt, nachdem ich ihn über eine Heißluftpistole erwärmt habe.

Bilder


Zusammengebaut


Angeschaltete LEDs


Inhalt des Gehäuses


Platine mit LEDs


WS2812B-LED

Software

Es handelt sich hier um eines meiner ersten Projekte mit PlattformIO. Ich bereue es ehrlich gesagt, mich nicht schon früher damit beschäftigt zu haben. An externen Abhängigkeiten wird nur die Adafruit NeoPixel-Library verwendet.

An sich ist die Software mit einer State-Machine als Programmsteuerung aufgebaut. Damit lässt sich so ein Ablauf sehr einfach realisieren.

Es gibt diese vier Zustände:

intro		Startanimation
fail		Fehlerfall, warten auf Eingabe
input		Eingabe der gemerkten Farben
show		Vorspielen der neuen, zu merkenden Farben

Ablauf / Zustandsautomat



Quelltext

main.cpp

3D Modelle

Taster

Download

Gehäuse

Download