Inhaltsverzeichnis:

Arduino Riddlebox - Gunook
Arduino Riddlebox - Gunook

Video: Arduino Riddlebox - Gunook

Video: Arduino Riddlebox - Gunook
Video: Riddle Box Demo for Gambit 2024, Oktober
Anonim
Arduino Rätselbox
Arduino Rätselbox

In diesem Instructable werde ich Ihnen zeigen, wie man eine Arduino-betriebene Riddlebox macht. Ich habe dies gemacht, um dem eigentlichen Weihnachtsgeschenk meiner Freundin, das ich im Fach der Schachtel versteckte, ein bisschen Spaß zu machen.

Sobald 5V an das USB-Kabel angelegt sind, schaltet sich das Arduino ein und das LCD zeigt ein kurzes Tutorial und dann eine Folge von zehn Rätseln, die gelöst werden müssen, um das servobetriebene Fach zu öffnen, das ein Geschenk oder Geschenk aufnehmen kann.

Es gibt auch ein hinterhältiges, passwortgeschütztes Einstellungsmenü zum Zurücksetzen des Fortschritts und zum Öffnen des Fachs.

Ich habe verwendet, was ich in meinem örtlichen Baumarkt finden konnte, und den Rest in 3D gedruckt. Natürlich können Sie die Riddlebox anpassen, indem Sie weitere Sensoren hinzufügen oder einige Teile weglassen. Lassen Sie Ihrer Kreativität freien Lauf.

Du wirst brauchen:

  • Arduino Mega (ein Uno könnte auch reichen)
  • Flexible Überbrückungsdrähte
  • Schlüsselschalter
  • Tastatur 4x4
  • I2C-LCD 20x04
  • 2x SG90 Servomotoren
  • Aluminiumgehäuse
  • Metallscharnier
  • Aluminiumtafel
  • Kappsäge oder rotierendes Werkzeug mit Trennscheibe
  • Heißklebepistole
  • Kleber mit hoher Haftung
  • USB-Stick
  • Metallfeile

Schritt 1: Einrichten der Hardware

Einrichten der Hardware
Einrichten der Hardware

Ich habe zuerst die Rätsel prototypisiert, mit dem Arduino ein Steckbrett und die Komponenten, die ich verwenden wollte, nämlich den Schlüsselschalter und die Tastatur. Um den Arduino-Code von diesem anweisbaren so zu verwenden, verbinden Sie die Teile wie unten beschrieben. Natürlich können Sie Komponenten hinzufügen und entfernen oder andere Pins verwenden, solange Sie die entsprechenden Änderungen am Code vornehmen.

Die meisten Tastaturen haben einen Pin für jede Zeile und jede Spalte. Finden Sie heraus, welche Pins die Reihenpins sind, indem Sie den Durchgang zwischen verschiedenen Pins testen, während Sie die Tasten drücken, um den Stromkreis zu schließen (siehe Beispieldiagramm). Die restlichen 4 Pins müssen die Spaltenpins sein. (Hinweis: manchmal sind die beiden äußersten Pins mit der Kupferfüllung auf der Platine verbunden und können ignoriert werden)

Verbinden Sie die Tastaturpins COL0 - COL3 mit den Arduino-Pins 12 - 9 und ROW0 - ROW3 mit den Arduino-Pins 8 - 5.

Das LCD wird über I2C angeschlossen, sodass nur vier Pins benötigt werden: SDA, SCL, 5V und GND.

Der Schlüsselschalter hat drei Positionen und sechs Pins: Beide C-Pins (gemeinsam) gehen auf Masse, während die beiden Pins mit der Bezeichnung NO (normaly open) zu Arduino-Pin 22 bzw. 23 gehen. (Hinweis: Die Arduino-Eingänge werden hochgezogen, daher müssen wir nur Masse an die gemeinsamen Pins des Schalters anschließen.)

Die beiden Servos dienen dazu, die Fachtür physisch zu öffnen und über einen Riegel zu verriegeln.

Verbinden Sie 5V und GND der Servos mit dem Arduino und verbinden Sie die Signalleitungen wie folgt: Schlossservo = Pin 44, Türservo = Pin 45.

Schritt 2: Arduino-Code und Rätsel

Arduino-Code und Rätsel
Arduino-Code und Rätsel
Arduino-Code und Rätsel
Arduino-Code und Rätsel

Der Code für den Arduino besteht aus mehreren Dateien. Die Hauptskizze initiiert alle Hardware, Bibliotheken und globalen Variablen. Alle Rätsel und Menüblöcke sind in Funktionen in separaten Dateien für eine einfache Verwaltung gespeichert. Der Fortschrittsstand, der im EEPROM gespeichert wird (also auch nach Powercycle sicher ist), bestimmt, welche Rätselfunktionen in der Schaltfunktion der Hauptdatei aufgerufen werden.

Ich habe alle persönlichen Informationen aus dem Code entfernt und einige Lösungen durch generische Lösungen (1234…) ersetzt. Sie können den Code nach Belieben ändern und einige personalisierte Lösungen hinzufügen.

Rätsel und Menüblöcke:

  1. Erweitert: Erweitertes Einstellungsmenü mit Fortschrittsreset und Fachsteuerungen.
  2. Intro: Intro-Menü mit Begrüßungstext und Tutorial.
  3. Elementar: Rätsel um die Ordnungszahl von Jod.
  4. Outsourcing: Der Spieler muss eine E-Mail-Adresse kontaktieren, die automatisch ein Zahlenrätsel beantwortet. (Sternförmiges Rätsel in Bildern)
  5. Sechzehn: Der Spieler muss eine Hex-Zahl in eine Dezimalzahl umwandeln.
  6. Auswahl: Der Spieler muss ein Textabenteuer auf einem Flash-Laufwerk abschließen, das Passwort für das nächste Level ist in der Geschichte versteckt. (siehe Amnesia.rtf)
  7. Offline: Der Spieler muss den Schlüssel erhalten, um den Schlüsselschalter zu aktivieren (z. B. per Mail, gute Möglichkeit, ihn zu verlangsamen, wenn er zu schnell ist).
  8. Unsichtbar: Das Passwort für das nächste Level wird mit unsichtbarer Tinte auf ein Blatt Papier geschrieben.
  9. Calculus: Einfache Rechenaufgabe. (Eher ein Platzhalter, der nie gefüllt wurde, da mir die Zeit ausging)
  10. Änderung: Kurzes Rätsel zu Euro-Banknoten, kann mit verschiedenfarbigen Banknoten an jede Währung angepasst werden.
  11. Geduld: Der Spieler darf den Schlüssel 5 min lang nicht drehen, sonst wird der Timer zurückgesetzt und verdoppelt. (Hinweis: Durch häufiges Drehen des Schlüssels läuft die Variable aufgrund ihrer begrenzten Größe über und wird auf Null zurückgesetzt.)
  12. Die Antwort: "Was ist DIE Antwort?". Die Lösung ist offensichtlich 42.
  13. Abschlussbildschirm: Herzlichen Glückwunsch und Anweisungen zum Öffnen des Fachs. (über den Schlüsselschalter)

Weitere Dokumentation habe ich in Form von Kommentaren in die Codedateien aufgenommen.

Zu Ihrer Information: Halten Sie 'A' während des Begrüßungsbildschirms gedrückt, um das Einstellungsmenü zu öffnen. Passwort: 2582

Schritt 3: Aufbau der Frontplatte

Aufbau des Faceplates
Aufbau des Faceplates
Aufbau des Faceplates
Aufbau des Faceplates
Aufbau des Faceplates
Aufbau des Faceplates

Ich habe das Gehäuse zusammen mit dem Aluminiumblech in meinem örtlichen Baumarkt gekauft. Es kam mit Trennwänden, die ich später wiederverwendete, um die Abteilwände zu erstellen.

Das Aluminiumblech war zu breit, also habe ich es geritzt und mit einer Kappsäge gekürzt. Eine Dekupiersäge, ein Rotationswerkzeug oder sogar ein Schleifer mit Trennscheibe könnten jedoch besser passen, da ich ewig gebraucht habe und dabei zwei Klingen zerbrochen sind. Der Spalt an der Vorderseite des Gehäuses ist gewollt. Es bietet Platz für eine Powerbank und den Speicherstick.

Nachdem ich markiert hatte, wo ich alles hinführen wollte, bohrte ich Löcher in die Ecken der markierten Abschnitte und schneide sie mit der Kappsäge wieder aus. Für den Abteilbereich habe ich eine Trennscheibe an einer Schleifmaschine ausprobiert, und es hat fantastisch funktioniert. Ich habe eine Metallfeile verwendet, um die Öffnungen an die Komponenten anzupassen und sie zu entgraten. Ein kurzer Durchgang mit dem Schwingschleifer gab dem Ganzen ein mattes Finish. Dies ist natürlich völlig optional, ich habe die Aluminiumplatte stark abgerieben, daher schien das Schleifen eine gute Möglichkeit, sie zu verbergen und meine Sharpie-Markierungen zu entfernen.

Die Tür zum Fach ist einfach ein abgeschnittenes Stück des übrig gebliebenen Aluminiumblechs.

Ich befestigte das Scharnier an der Tür und der Metallplatte mit dem Klebstoff mit hoher Bindung. Es wird auf beide Oberflächen aufgetragen und 10-20 Minuten aushärten gelassen. und dann werden beide seiten zusammengedrückt. Die Verbindung ist sofort und es gibt keine Möglichkeit, die beiden Teile später anzupassen.

Die Tastatur und das LCD-Display werden mit etwas Heißkleber an den Seiten befestigt. (Hinweis: Achten Sie darauf, die Stifte der Komponenten vom Aluminiumblech zu isolieren. Ein Klecks Heißkleber reicht aus.)

Der Schlüsselschalter hat ein Gewinde und eine Mutter, also habe ich ein Loch in der richtigen Größe gebohrt und den Schalter durchgesteckt.

Damit sich das Fach automatisch öffnet, habe ich die Tür- und Schlossservos mit Heißkleber an der Unterseite des Aluminiumblechs befestigt. Der Verschlusshaken und der Öffnungshebel und die Verschlussklinke habe ich aus einigen Klammern gebogen (ähnlich wie Klempnerband). Im Nachhinein könnte und sollte ich diese Komponenten 3D-gedruckt haben, da sie auf diese Weise etwas dünn sind und wahrscheinlich als erstes scheitern werden. Diese Teile habe ich mit Heißkleber bzw. High Bond Kleber befestigt (siehe Bilder).

Da die Vorderseite so nicht sehr schön aussah, beschloss ich, einige Rahmen zu drucken, um die verschiedenen Komponenten zu umgehen und sie auch mit Heißkleber zu befestigen.

Schritt 4: Beenden des Gehäuses

Den Fall abschließen
Den Fall abschließen
Den Fall abschließen
Den Fall abschließen

Wie ich bereits erwähnt habe, kam der Fall mit einigen Trennwänden. Ich entschied mich für eine Anordnung, um ein grobes Fach und etwas Platz für das Arduino zu schaffen, und benutzte dann den Kleber mit hoher Bindung, um alles an Ort und Stelle zu fixieren.

Nachdem ich alle Komponenten an den Arduino Mega angeschlossen und mit Heißkleber auf das Gehäuse geklebt hatte, führte ich das USB-Kabel durch die kleine Öffnung zwischen den Trennwänden, so dass es von außen zugänglich war.

Nachdem ich die Aluminiumplatte vorsichtig in ihre endgültige Position gebracht hatte, fixierte ich sie, indem ich die Düse der Heißklebepistole auf die Naht zwischen Platte und Gehäuse drückte und den Kleber in den Spalt drückte. Anfangs war ich skeptisch bezüglich der Vollständigkeit dieser Fixierungsmethode, aber sie hat sich bis jetzt gehalten.

Das letzte, was noch zu tun war, war, einige letzte Schliffe aufzubringen. Ich habe einige einfache Aufkleber in MS Publisher entworfen, die ich ausgedruckt, ausgeschnitten und mit einem einfachen Klebestift auf der Frontplatte befestigt habe.

Es liegt natürlich ganz bei Ihnen, ob und wie viele Aufkleber Sie anfertigen und anbringen möchten. Dies könnte auch eine gute Gelegenheit sein, einige Verwitterungstechniken zu üben, um alles ein bisschen schlimmer aussehen zu lassen. Leider kam mir dies nur beim Schreiben dieses Instructable.

Wie auch immer, ich hoffe, Ihnen hat dieser Riddlebox-Build gefallen. Wenn Sie Fragen oder Verbesserungsvorschläge haben, hinterlassen Sie mir unten einen Kommentar und ich werde versuchen, mich so schnell wie möglich bei Ihnen zu melden.

Empfohlen: