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.
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
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