Sommario:

Arduino Riddlebox: 4 passaggi (con immagini)
Arduino Riddlebox: 4 passaggi (con immagini)

Video: Arduino Riddlebox: 4 passaggi (con immagini)

Video: Arduino Riddlebox: 4 passaggi (con immagini)
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Ottobre
Anonim
Arduino Riddlebox
Arduino Riddlebox

In questo Instructable ti mostrerò come realizzare un Riddlebox alimentato da Arduino. L'ho fatto per aggiungere un po' di divertimento al vero regalo di Natale della mia ragazza, che ho nascosto all'interno dello scomparto della scatola.

Una volta applicati 5V al cavo USB, Arduino si accende e il display LCD mostra un breve tutorial e poi una sequenza di dieci indovinelli, che devono essere risolti per aprire il vano servocomandato, che può contenere un regalo o un regalo.

C'è anche un subdolo menu delle impostazioni protetto da password per ripristinare i progressi e aprire il vano.

Ho usato quello che potevo trovare nel mio negozio di ferramenta locale e ho stampato in 3D il resto. Ovviamente puoi personalizzare il Riddlebox aggiungendo più sensori o tralasciando alcune parti. Libera la tua creatività.

Avrai bisogno:

  • Arduino Mega (potrebbe bastare anche uno Uno)
  • Ponticelli flessibili
  • Interruttore a chiave
  • Tastiera 4x4
  • LCD I2C 20x04
  • 2x servomotori SG90
  • Custodia in alluminio
  • Cerniera in metallo
  • Foglio di alluminio
  • Sega da traforo o utensile rotante con disco da taglio
  • Pistola per colla a caldo
  • Colla ad alta adesione
  • chiavetta USB
  • Lima di metallo

Passaggio 1: configurazione dell'hardware

Configurazione dell'hardware
Configurazione dell'hardware

Per prima cosa ho prototipato gli indovinelli, con Arduino una breadboard e i componenti che volevo utilizzare, ovvero l'interruttore a chiave e la tastiera. Per utilizzare il codice Arduino da questo istruibile così com'è, collega le parti come descritto di seguito. Ovviamente puoi aggiungere e rimuovere componenti, o utilizzare pin diversi, purché apporti le modifiche appropriate al codice.

La maggior parte delle tastiere ha un pin per ogni riga e ogni colonna. Scopri quali pin sono i pin della riga, verificando la continuità tra i diversi pin mentre si premono i pulsanti per chiudere il circuito (vedi diagramma di esempio). I restanti 4 pin devono essere i pin della colonna. (Nota: a volte i due pin più esterni sono collegati al riempimento in rame sul PCB e possono essere ignorati)

Collegare i pin della tastiera COL0 - COL3 ai pin 12 - 9 di Arduino e ROW0 - ROW3 ai pin 8 - 5 di Arduino.

Il display LCD è collegato tramite I2C, quindi sono necessari solo quattro pin: SDA, SCL, 5V e GND.

L'interruttore a chiave ha tre posizioni e sei pin: entrambi i pin C (comune) vanno a massa, mentre i due pin etichettati NO (normalmente aperti) vanno rispettivamente ai pin 22 e 23 di Arduino. (Nota: gli ingressi arduino sono tirati in alto, quindi dobbiamo solo collegare la terra ai pin comuni dell'interruttore)

I due servi servono per aprire fisicamente la porta del vano e per bloccarla tramite un chiavistello.

Collegare 5V e GND dei servo ad Arduino e collegare le linee di segnale come segue: lock servo = pin 44, door servo = pin 45.

Passaggio 2: codice Arduino e indovinelli

Codice Arduino e indovinelli
Codice Arduino e indovinelli
Codice Arduino e indovinelli
Codice Arduino e indovinelli

Il codice per Arduino è composto da diversi file. Lo schizzo principale avvia tutto l'hardware, le librerie e le variabili globali. Tutti gli indovinelli e i blocchi di menu sono memorizzati in funzioni in file separati per una facile gestione. Lo stato di avanzamento, che viene salvato nella EEPROM (cioè è sicuro anche dopo powercylce), determina quali funzioni di indovinello vengono chiamate nella funzione di commutazione del file principale.

Ho rimosso qualsiasi informazione personale dal codice e sostituito alcune soluzioni con sluion generici (1234…). Sentiti libero di modificare il codice come meglio credi e di aggiungere alcune soluzioni personalizzate.

Indovinelli e blocchi di menu:

  1. Avanzate: menu delle impostazioni avanzate con ripristino dei progressi e controlli del compartimento.
  2. Intro: menu introduttivo con testo di saluto e tutorial.
  3. Elementare: Enigma che chiede il numero atomico di iodio.
  4. Outsourcing: il giocatore deve contattare un indirizzo e-mail che risponda automaticamente a un indovinello numerico. (Indovinello a forma di stella nelle immagini)
  5. Sedici: il giocatore deve convertire un numero esadecimale in decimale.
  6. Scelte: il giocatore deve completare un'avventura testuale situata su un'unità flash, la password per il livello successivo è nascosta nella storia. (vedi Amnesia.rtf)
  7. Offline: il giocatore deve ricevere la chiave per attivare l'interruttore a chiave (ad esempio tramite posta, ottimo modo per rallentarlo se è troppo veloce).
  8. Invisibile: la password per il livello successivo è scritta su un pezzo di carta con inchiostro invisibile.
  9. Calcolo: compito di calcolo semplice. (Più di un segnaposto che non è mai stato riempito, poiché ho esaurito il tempo)
  10. Modifica: Breve indovinello relativo alle banconote in euro, può essere adattato a qualsiasi valuta con banconote di colore diverso.
  11. Pazienza: il giocatore non deve girare la chiave per un periodo di 5 minuti, altrimenti il timer si azzera e raddoppia. (Nota: girando la chiave abbastanza spesso, la variabile trabocca e si azzera a causa delle sue dimensioni limitate.)
  12. La risposta: "Qual è LA risposta?". La soluzione è ovviamente 42.
  13. Schermata finale: congratulazioni e istruzioni per l'apertura dello scomparto. (tramite l'interruttore a chiave)

Ho incluso ulteriore documentazione sotto forma di commenti nei file di codice.

Cordiali saluti: tenendo premuto "A" durante la schermata iniziale si apre il menu delle impostazioni. Parola d'ordine: 2582

Passaggio 3: costruzione del frontalino

Costruire il frontalino
Costruire il frontalino
Costruire il frontalino
Costruire il frontalino
Costruire il frontalino
Costruire il frontalino

Ho acquistato la custodia nel mio negozio di ferramenta locale insieme al foglio di alluminio. È arrivato con i divisori che in seguito ho riutilizzato per creare le pareti del vano.

Il foglio di alluminio era troppo largo, quindi l'ho inciso e accorciato con un seghetto da traforo. Tuttavia, una sega circolare, uno strumento rotante o anche una smerigliatrice con un disco da taglio potrebbe essere una soluzione migliore, dal momento che mi ci sono voluti anni e ho spezzato due lame nel processo. Il divario nella parte anteriore del case è intenzionale. Fornisce spazio per posizionare un powerbank e la memory stick.

Dopo aver segnato dove volevo che tutto andasse, ho praticato dei fori negli angoli delle sezioni tracciate e li ho ritagliati usando di nuovo il seghetto da traforo. Per la sezione del vano ho provato un disco da taglio su una smerigliatrice e ha funzionato in modo fantastico. Ho usato una lima di metallo per tagliare le aperture per adattarle ai componenti e sbavarli. Un rapido passaggio con la levigatrice orbitale ha conferito a tutto una finitura opaca. Questo è ovviamente del tutto facoltativo, ho graffiato molto la piastra di alluminio, quindi la levigatura sembrava un buon modo per nasconderli e rimuovere i miei segni di pennarello.

La porta del vano è semplicemente un pezzo tagliato del foglio di alluminio rimasto.

Ho attaccato la cerniera alla porta e alla piastra metallica usando la colla ad alto legame. Viene applicato su entrambe le superfici, lasciato polimerizzare per 10-20 min. e poi entrambi i lati vengono premuti insieme. Il legame è istantaneo e non c'è modo di aggiustare i due pezzi in seguito.

La tastiera e il display LCD si tengono in posizione con della colla a caldo attorno ai lati. (Nota: assicurati di isolare i perni dei componenti dal foglio di alluminio. Una piccola quantità di colla a caldo fa il trucco)

L'interruttore a chiave ha una filettatura e un dado, quindi ho praticato un foro della dimensione corretta e ho inserito l'interruttore.

Per fare in modo che il vano si aprisse automaticamente ho attaccato la porta e i servocomandi alla parte inferiore del foglio di alluminio con colla a caldo. Il gancio di bloccaggio e la leva di apertura e il chiavistello di blocco ho piegato a forma di alcune staffe (simile al nastro idraulico). A posteriori, potrei e probabilmente dovrei stampare in 3D questi componenti in quanto sono piuttosto fragili in questo modo e probabilmente saranno la prima cosa a fallire. Ho attaccato queste parti rispettivamente con colla a caldo e colla ad alto legame (vedi foto).

Dato che la parte frontale non sembrava molto carina in questo modo, ho deciso di stampare alcune cornici per aggirare i diversi componenti e attaccarle anche con la colla a caldo.

Passaggio 4: finire il caso

Finire il caso
Finire il caso
Finire il caso
Finire il caso

Come ho detto in precedenza, il caso è arrivato con alcuni devider. Ho deciso di creare uno scomparto grezzo e un po' di spazio per l'Arduino, quindi ho usato la colla ad alto legame per fissare il tutto in posizione.

Dopo aver collegato tutti i componenti all'Arduino Mega e incollato a caldo sul case, ho fatto passare il cavo USB attraverso la piccola apertura tra i divisori, in modo che fosse accessibile dall'esterno.

Dopo aver fatto cadere con cura la piastra di alluminio nella sua posizione finale, l'ho fissata in posizione premendo l'ugello della pistola per colla a caldo sulla giunzione tra la piastra e la custodia e forzando la colla nello spazio. All'inizio ero scettico sull'integrità di questo metodo di fissazione, ma finora ha resistito.

L'ultima cosa che restava da fare era applicare alcuni ritocchi finali. Ho disegnato alcuni semplici adesivi in MS Publisher che ho stampato, ritagliato e attaccato alla piastra frontale con una semplice colla stick.

Ovviamente dipende totalmente da te se e quanti adesivi vuoi creare e attaccare. Anche questa potrebbe essere una buona opportunità per praticare alcune tecniche di invecchiamento per far sembrare tutto un po' più cattivo. Purtroppo questo mi è venuto solo mentre scrivevo questo Instructable.

Ad ogni modo, spero che questa build di Riddlebox ti sia piaciuta. Se hai domande o idee di miglioramento, lasciami un commento in basso e cercherò di risponderti il prima possibile.

Consigliato: