CRACK THE CODE SPIEL
Inspiriert von TheDIYLife auf Instructables.com, habe ich die Idee etwas umgestaltet. Mangels eines Lasercutters habe ich den Tresor mit Fusion 360 für den 3D-Drucker konstruiert.
Anstelle eines OLED-Displays habe ich ein 7-Segment-Display verwendet und den Code von C++ (für den Arduino) in CircuitPython für den Raspberry Pi Pico umgeschrieben. Ebenfalls habe ich den Drehknopf (Rotary Encoder) durch einen 12-Positionen-Schalter ersetzt.
Am Schluss habe ich ausserdem noch eine „Low-Power-Abschaltverhinderung“ für Powerbanks hinzugefügt.
Links zur Originalidee:
Instructables: Crack the Code Game (Arduino Based Puzzle Box)
TheDIYLife auf Instructables
Errate den richtigen Code und öffne den Tresor!
Das Ziel ist es, den vierstelligen Code herauszufinden. Mit etwas System und Logik sollte das in 10 bis 12 Versuchen gelingen.
Für jede eingegebene Zahl, die im gesuchten Code vorkommt und an der richtigen Stelle steht, leuchtet eine grüne LED.
Für jede eingegebene Zahl, die im gesuchten Code vorkommt, aber an der falschen Stelle steht, leuchtet eine rote LED.
Sind alle vier Zahlen richtig, öffnet sich das Schloss und die vier grünen LEDs leuchten auf. Das Display zeigt nun die Anzahl der Versuche zum Öffnen an.
Aufbauanleitung:
Die STL-Dateien für den 3D-Drucker herunterladen und die Teile drucken.
Die gedruckten Teile bemalen und anschliessend zusammensetzen.
CircuitPython V8 auf dem Pico installieren.
Die ISO-Datei für den Pico herunterladen.
Um das Programm zu installieren, einfach alle Dateien aus dem Ordner ISO_File auf den Pico kopieren.
Wird eine andere Version von CircuitPython installiert, müssen auch die entsprechenden Bibliotheken dieser Version verwendet werden.
Die Impulslast (1k – PNP – 5 × 200 Ω) ist nur nötig, wenn als Stromversorgung eine Powerbank verwendet wird, die sich bei geringem Stromverbrauch automatisch abschaltet. Anstelle der fünf 200-Ω-Widerstände kann auch ein 1-W-50-Ω-Widerstand verwendet werden.
Die Elektronik anschliessend in der Tresortür mit Heissleim oder Sekundenkleber befestigen.