Taula de continguts:

Arduino Riddlebox: 4 passos (amb imatges)
Arduino Riddlebox: 4 passos (amb imatges)

Vídeo: Arduino Riddlebox: 4 passos (amb imatges)

Vídeo: Arduino Riddlebox: 4 passos (amb imatges)
Vídeo: КАКИМ БУДЕТ PORTAL 3 2024, De novembre
Anonim
Arduino Riddlebox
Arduino Riddlebox

En aquest instructiu us mostraré com fer un Riddlebox alimentat per Arduino. Vaig fer això per afegir una mica de diversió al regal de Nadal real de les meves amigues, que vaig amagar dins del compartiment de la caixa.

Una vegada que s’apliquen 5V al cable USB, l’Arduino s’encén i la pantalla LCD mostra un breu tutorial i, a continuació, una seqüència de deu endevinalles, que cal resoldre per obrir el compartiment servodireccional, que pot contenir un regal o un regal.

També hi ha un menú de configuració protegit amb contrasenya, que permet restablir el progrés i obrir el compartiment.

Vaig fer servir el que podia trobar a la meva ferreteria local i vaig imprimir en 3D la resta. Evidentment, podeu personalitzar Riddlebox afegint més sensors o deixant de banda algunes parts. Deixeu que la vostra creativitat vagi lliure.

Necessitarà:

  • Arduino Mega (un Uno també pot ser suficient)
  • Cable flexible de pont
  • Interruptor de clau
  • Teclat 4x4
  • LCD I2C 20x04
  • 2 servomotors SG90
  • Estoig d'alumini
  • Frontissa metàl·lica
  • Xapa d'alumini
  • Serradora o eina giratòria amb una roda de tall
  • Pistola de cola calenta
  • Cola d'alta unió
  • Memòria USB
  • Llima de metall

Pas 1: Configuració del maquinari

Configuració del maquinari
Configuració del maquinari

Primer vaig prototipar les endevinalles, amb l’Arduino una taula de treball i els components que volia utilitzar, és a dir, l’interruptor de tecla i el teclat. Per utilitzar el codi Arduino a partir d’aquest instructiu tal qual, connecteu les parts tal com es descriu a continuació. Per descomptat, podeu afegir i eliminar components o utilitzar diferents pins sempre que feu els canvis adequats al codi.

La majoria de teclats tenen un pin per a cada fila i cada columna. Esbrineu quins pins són els pins de fila, provant la continuïtat entre diferents pins mentre premeu els botons per tancar el circuit (vegeu el diagrama d’exemple). Els 4 pins restants han de ser els pins de la columna. (Nota: de vegades els dos pins més externs estan connectats al farciment de coure del PCB i es poden ignorar)

Connecteu els pins del teclat COL0 - COL3 als pins Arduino 12 - 9 i ROW0 - ROW3 als pins Arduino 8 - 5.

La pantalla LCD es connecta mitjançant I2C, de manera que només calen quatre pins: SDA, SCL, 5V i GND.

L'interruptor de la clau té tres posicions i sis pins: tots dos pins C (comuns) van a terra, mentre que els dos pins amb el NO (normalment oberts) van als pins 22 i 23 d'Arduino respectivament. (Nota: les entrades arduino estan elevades, de manera que només necessitem connectar terra als pins comuns del commutador)

Els dos servos s’utilitzen per obrir físicament la porta del compartiment i bloquejar-la mitjançant un pestell.

Connecteu 5V i GND dels servos a l’Arduino i connecteu les línies de senyal de la següent manera: servo de bloqueig = pin 44, servo de porta = pin 45.

Pas 2: Codi Arduino i endevinalles

Codi Arduino i endevinalles
Codi Arduino i endevinalles
Codi Arduino i endevinalles
Codi Arduino i endevinalles

El codi de l'Arduino consta de diversos fitxers. L’esbós principal inicia tot el maquinari, les biblioteques i les variables globals. Tots els enigmes i blocs de menú s’emmagatzemen en funcions en fitxers separats per facilitar la gestió. L'estat de progrés, que es desa a l'EEPROM (és a dir, és segur fins i tot després de la potència), determina a quines funcions de l'endevinalla s'anomena la funció de commutació del fitxer principal.

He eliminat tota la informació personal del codi i he substituït algunes solucions per slutions genèriques (1234 …). No dubteu a canviar el codi com vulgueu i afegir algunes solucions personalitzades.

Endevinalles i blocs de menú:

  1. Avançat: menú de configuració avançada amb restabliment del progrés i controls del compartiment.
  2. Introducció: menú d'introducció amb text de salutació i tutorial.
  3. Elemental: endevinalla per al nombre atòmic de iode.
  4. Subcontractació: el jugador ha de contactar amb una adreça de correu electrònic que respongui automàticament a un enigma numèric. (Endevinalla en forma d’estrella en imatges)
  5. Setze: el jugador ha de convertir un nombre hexadecimal en decimal.
  6. Opcions: El jugador ha de completar una aventura de text ubicada en una unitat flash, la contrasenya del següent nivell està amagada a la història. (vegeu Amnesia.rtf)
  7. Fora de línia: el jugador ha de rebre la tecla per activar l’interruptor de tecla (per exemple, per correu electrònic, ampliar la manera de frenar-los si són massa ràpids).
  8. Invisible: la contrasenya del següent nivell s’escriu en un tros de paper amb tinta invisible.
  9. Càlcul: tasca de càlcul simple. (Més d'un marcador de posició que mai no es va omplir, ja que se m'acabava el temps)
  10. Canvi: Enigma breu sobre els bitllets de banc euro, es pot adaptar a qualsevol moneda amb bitllets de banc de diferents colors.
  11. Paciència: el jugador no ha de girar la clau durant un període de 5 minuts; en cas contrari, el temporitzador es reinicia i es duplica. (Nota: Si gireu la clau amb suficient freqüència, la variable es desborda i restableix a zero a causa de la seva mida limitada.)
  12. La resposta: "Quina és la resposta?". La solució és òbviament 42.
  13. Pantalla final: Enhorabona i instruccions per obrir el compartiment. (a través del commutador de tecles)

He inclòs més documentació en forma de comentaris als fitxers de codi.

FYI: si mantingueu "A" durant la pantalla d'inici s'obre el menú de configuració. Contrasenya: 2582

Pas 3: construcció de la placa frontal

Construint la placa frontal
Construint la placa frontal
Construint la placa frontal
Construint la placa frontal
Construint la placa frontal
Construint la placa frontal

Vaig comprar la caixa a la meva ferreteria local juntament amb la xapa d'alumini. Va venir amb separadors que després vaig tornar a utilitzar per crear les parets del compartiment.

La làmina d'alumini era massa àmplia, de manera que la vaig escriure i escurçar amb una serra per afrontar. No obstant això, una serra mecànica, una eina giratòria o fins i tot una rectificadora amb una roda de tall podria ser més adequada, ja que em van costar anys i vaig fer dues fulles en el procés. El buit a la part davantera del cas és intencionat. Ofereix espai per col·locar un powerbank i el llapis de memòria.

Després de marcar cap a on volia que anés tot, vaig fer forats a les cantonades de les seccions marcades i els vaig retallar amb la serra d’enfrontament. Per a la secció del compartiment, vaig provar una roda de tall en una mola, i va funcionar fantàsticament. He utilitzat una llima metàl·lica per retallar les obertures per adaptar-les als components i desbrossar-les. Una passada ràpida amb la polidora orbital va donar a tot un acabat mat. Això és, per descomptat, totalment opcional, he fregat molt la placa d’alumini, de manera que liixar em va semblar una bona manera d’amagar-los i eliminar les meves marques nítides.

La porta del compartiment és simplement una peça retallada de la xapa d’alumini sobrant.

Vaig fixar la frontissa a la porta i a la placa metàl·lica amb la cola d’alta adherència. S’aplica a les dues superfícies, es deixa curar durant 10-20 min. i, a continuació, es pressionen els dos costats. L'enllaç és instantani i no hi ha manera d'ajustar les dues peces més endavant.

El teclat i la pantalla LCD es mantenen al seu lloc amb una mica de cola calenta als costats. (Nota: assegureu-vos d’aïllar els passadors dels components de la làmina d’alumini. Una mica de cola calenta fa el truc)

L'interruptor de clau té un fil i una femella, de manera que he forat un forat de la mida correcta i he ajustat l'interruptor.

Per fer que el compartiment s’obri automàticament, he connectat la porta i tanco els servos a la part inferior de la xapa d’alumini amb cola calenta. El ganxo de bloqueig i la palanca d'obertura i el pestell de bloqueig els vaig doblar per donar forma a uns quants suports (similar a la cinta de plubmers). A la vista, podria i probablement hauria d'imprimir en 3D aquests components, ja que són poc febles d'aquesta manera i probablement serà el primer que fallarà. Vaig adjuntar aquestes parts amb cola calenta i cola d'alta unió respectivament (veure imatges).

Com que la part frontal no semblava molt maca d’aquesta manera, vaig decidir imprimir alguns marcs per recórrer els diferents components i també els vaig adjuntar amb cola calenta.

Pas 4: acabant el cas

Acabant el cas
Acabant el cas
Acabant el cas
Acabant el cas

Com he esmentat anteriorment, el cas va venir amb alguns desviadors. Vaig decidir una disposició per crear un compartiment rugós i una mica d'espai per a l'Arduino i després vaig utilitzar la cola d'alta unió per arreglar-ho tot al seu lloc.

Després de connectar tots els components a l'Arduino Mega i enganxar-lo en calent a la caixa, vaig alimentar el cable USB a través de la petita obertura entre els separadors, de manera que fos accessible des de l'ouside.

Després de deixar caure la placa d'alumini amb cura a la seva posició final, la vaig fixar al seu lloc pressionant el broquet de la pistola de cola calenta a la costura entre la placa i la caixa i forçant la cola a la bretxa. Al principi, era escèptic quant a la idegretia d’aquest mètode de fixació, però s’ha mantingut fins ara.

L’últim que quedava per fer era aplicar alguns tocs finals. Vaig dissenyar uns adhesius simples a MS Publisher que vaig imprimir, retallar i enganxar a la placa frontal amb un simple adhesiu.

Per descomptat, depèn de vosaltres si i quants adhesius voleu fer i adjuntar. També pot ser una bona oportunitat per practicar algunes tècniques meteorològiques perquè tot sembli una mica més dolent. Malauradament, això només em va venir mentre redactava aquest instructiu.

De totes maneres, espero que us hagi agradat aquesta versió de Riddlebox. Si teniu cap pregunta o idea de millora, deixeu-me un comentari a continuació i intentaré tornar-vos a respondre el més aviat possible.

Recomanat: