Tabla de contenido:

Arduino Riddlebox: 4 pasos (con imágenes)
Arduino Riddlebox: 4 pasos (con imágenes)

Video: Arduino Riddlebox: 4 pasos (con imágenes)

Video: Arduino Riddlebox: 4 pasos (con imágenes)
Video: How To Make Radar With Arduino || Arduino Project. 2024, Octubre
Anonim
Arduino Riddlebox
Arduino Riddlebox

En este Instructable, le mostraré cómo hacer un Riddlebox con Arduino. Hice esto para agregar un poco de diversión al regalo de Navidad real de mi novia, que escondí dentro del compartimiento de la caja.

Una vez que se aplican 5V al cable USB, el Arduino se enciende y la pantalla LCD muestra un breve tutorial y luego una secuencia de diez acertijos, que deben resolverse para abrir el compartimento operado por servo, que puede contener un regalo o un presente.

También hay un menú de configuración engañoso y protegido por contraseña para restablecer el progreso y abrir el compartimento.

Usé lo que pude encontrar en mi ferretería local e imprimí en 3D el resto. Obviamente, puede personalizar Riddlebox agregando más sensores o omitiendo algunas partes. Deje que su creatividad corra libremente.

Necesitará:

  • Arduino Mega (un Uno también podría ser suficiente)
  • Cables de puente flexibles
  • Interruptor de llave
  • Teclado 4x4
  • Pantalla LCD I2C 20x04
  • 2x servomotores SG90
  • Caja de aluminio
  • Bisagra de metal
  • Hoja de aluminio
  • Sierra caladora o herramienta rotativa con disco de corte
  • Pistola de silicona
  • Pegamento de alta adherencia
  • memoria USB
  • Lima metálica

Paso 1: configuración del hardware

Configuración del hardware
Configuración del hardware

Primero hice un prototipo de los acertijos, con el Arduino una placa de pruebas y los componentes que quería usar, es decir, el interruptor de llave y el teclado. Para usar el código Arduino de este instructable tal como está, conecte las partes como se describe a continuación. Por supuesto, puede agregar y eliminar componentes, o usar pines diferentes, siempre que realice los cambios apropiados en el código.

La mayoría de los teclados tienen un pin para cada fila y cada columna. Averigüe qué pines son los pines de la fila, probando la continuidad entre los diferentes pines mientras presiona los botones para cerrar el circuito (vea el diagrama de ejemplo). Los 4 pines restantes deben ser los pines de la columna. (Nota: a veces, los dos pines más externos están conectados al relleno de cobre en la PCB y pueden ignorarse)

Conecte los pines COL0 - COL3 del teclado a los pines 12-9 de Arduino y ROW0 - ROW3 a los pines 8-5 de Arduino.

La pantalla LCD está conectada a través de I2C, por lo que solo se necesitan cuatro pines: SDA, SCL, 5V y GND.

El interruptor de llave tiene tres posiciones y seis pines: ambos pines C (comunes) van a tierra, mientras que los dos pines etiquetados NO (normalmente abiertos) van al pin 22 y 23 de Arduino respectivamente. (Nota: las entradas de arduino están elevadas, por lo que solo necesitamos conectar la tierra a los pines comunes del interruptor)

Los dos servos se utilizan para abrir físicamente la puerta del compartimento y bloquearla mediante un pestillo.

Conecte 5V y GND de los servos al Arduino y conecte las líneas de señal de la siguiente manera: servo de bloqueo = pin 44, servo de puerta = pin 45.

Paso 2: código Arduino y acertijos

Código Arduino y acertijos
Código Arduino y acertijos
Código Arduino y acertijos
Código Arduino y acertijos

El código para Arduino consta de varios archivos. El boceto principal inicia todo el hardware, bibliotecas y variables globales. Todos los acertijos y menublocks se almacenan en funciones en archivos separados para una fácil administración. El estado de progreso, que se guarda en la EEPROM (es decir, es seguro incluso después de powercylce), determina qué funciones de acertijo se llaman en la función de cambio del archivo principal.

Eliminé cualquier información personal del código y reemplacé algunas soluciones con slutions genéricos (1234…). Siéntase libre de cambiar el código como mejor le parezca y agregar algunas soluciones personalizadas.

Acertijos y menublocks:

  1. Avanzado: menú de configuración avanzada con reinicio de progreso y controles del compartimento.
  2. Introducción: menú de introducción con texto de saludo y tutorial.
  3. Elemental: Acertijo preguntando por el número atómico del yodo.
  4. Subcontratación: el jugador debe ponerse en contacto con una dirección de correo electrónico que responda automáticamente un acertijo numérico. (Acertijo en forma de estrella en imágenes)
  5. Dieciséis: el jugador debe convertir un número hexadecimal en decimal.
  6. Opciones: el jugador debe completar una aventura de texto ubicada en una unidad flash, la contraseña para el siguiente nivel está oculta en la historia. (ver Amnesia.rtf)
  7. Fuera de línea: el jugador debe recibir la llave para activar el interruptor de llave (por ejemplo, por correo, una buena forma de ralentizarlos si son demasiado rápidos).
  8. Invisible: La contraseña para el siguiente nivel está escrita en una hoja de papel con tinta invisible.
  9. Cálculo: tarea de cálculo simple. (Más como un marcador de posición que nunca se llenó, ya que se me acabó el tiempo)
  10. Cambio: Acertijo corto sobre billetes en euros, adaptable a cualquier moneda con billetes de diferentes colores.
  11. Paciencia: El jugador no debe girar la llave durante un período de 5 minutos, de lo contrario, el temporizador se reinicia y se duplica. (Nota: Girar la llave con suficiente frecuencia hace que la variable se desborde y se restablezca a cero debido a su tamaño limitado).
  12. La respuesta: "¿Cuál es la respuesta?". La solución obviamente es 42.
  13. Pantalla final: felicitaciones e instrucciones para abrir el compartimento. (a través del interruptor de llave)

He incluido más documentación en forma de comentarios en los archivos de código.

Para su información: mantener presionado 'A' durante la pantalla de inicio abre el menú de configuración. Contraseña: 2582

Paso 3: construcción de la placa frontal

Construyendo la placa frontal
Construyendo la placa frontal
Construyendo la placa frontal
Construyendo la placa frontal
Construyendo la placa frontal
Construyendo la placa frontal

Compré el estuche en mi ferretería local junto con la lámina de aluminio. Venía con divisores que luego reutilicé para crear las paredes del compartimiento.

La hoja de aluminio era demasiado ancha, así que la escribí y la acorté con una sierra caladora. Sin embargo, una sierra de calar, una herramienta giratoria o incluso una amoladora con una rueda de corte podrían ser una mejor opción, ya que me tomó años y rompí dos hojas en el proceso. La brecha en el frente del caso es intencional. Proporciona espacio para colocar una batería externa y la tarjeta de memoria.

Después de marcar dónde quería que fuera todo, taladré agujeros en las esquinas de las secciones marcadas y los corté usando la sierra caladora nuevamente. Para la sección del compartimento probé un disco de corte en una amoladora y funcionó de maravilla. Usé una lima de metal para recortar las aberturas para ajustar los componentes y desbarbarlos. Un pase rápido con la lijadora orbital le dio a todo un acabado mate. Por supuesto, esto es totalmente opcional, raspé mucho la placa de aluminio, por lo que lijar parecía una buena manera de ocultarlos y eliminar mis marcas de rotulador.

La puerta del compartimento es simplemente una pieza recortada de la hoja de aluminio sobrante.

Adjunté la bisagra a la puerta y la placa de metal con el pegamento de alta adherencia. Se aplica en ambas superficies, se deja curar durante 10-20 min. y luego ambos lados se presionan juntos. La unión es instantánea y no hay forma de ajustar las dos piezas más adelante.

El teclado y la pantalla LCD se mantienen en su lugar con un poco de pegamento caliente alrededor de los lados. (Nota: asegúrese de aislar las clavijas de los componentes de la hoja de aluminio. Un poco de pegamento caliente hace el truco)

El interruptor de llave tiene una rosca y una tuerca, así que hice un agujero del tamaño correcto y encajé el interruptor.

Para hacer que el compartimiento se abra automáticamente, coloqué la puerta y cerré los servos en la parte inferior de la hoja de aluminio con pegamento caliente. El gancho de bloqueo y la palanca de apertura y el pestillo de bloqueo los doblé para dar forma a algunos soportes (similar a la cinta de plubmers). A primera vista, podría y probablemente debería haber impreso estos componentes en 3D, ya que son algo endebles de esta manera y probablemente serán lo primero en fallar. Adjunté estas partes con pegamento caliente y pegamento de alta adherencia respectivamente (ver imágenes).

Debido a que el frente no se veía muy bonito de esta manera, decidí imprimir algunos marcos para rodear los diferentes componentes y también los pegué con pegamento caliente.

Paso 4: terminar el caso

Terminando el caso
Terminando el caso
Terminando el caso
Terminando el caso

Como mencioné anteriormente, el caso vino con algunos divisores. Decidí un arreglo para crear un compartimiento aproximado y algo de espacio para el Arduino y luego usé el pegamento de alta adherencia para fijarlo todo en su lugar.

Después de conectar todos los componentes al Arduino Mega y pegarlo en caliente a la carcasa, saqué el cable USB a través de la pequeña abertura entre los divisores, de modo que fuera accesible desde el exterior.

Después de dejar caer con cuidado la placa de aluminio en su posición final, la fijé en su lugar presionando la boquilla de la pistola de pegamento caliente en la unión entre la placa y la carcasa y forzando el pegamento en el espacio. Al principio, era escéptico sobre la integridad de este método de fijación, pero hasta ahora se ha mantenido.

Lo último que quedaba por hacer era aplicar algunos toques finales. Diseñé unas pegatinas sencillas en MS Publisher que imprimí, recorté y pegué a la placa frontal con una simple barra de pegamento.

Por supuesto, depende totalmente de usted si desea hacer y adjuntar muchas pegatinas. Además, esta podría ser una buena oportunidad para practicar algunas técnicas de intemperismo para que todo se vea un poco peor. Lamentablemente, esto solo se me ocurrió mientras escribía este Instructable.

De todos modos, espero que hayas disfrutado de esta versión de Riddlebox. Si tiene alguna pregunta o idea de mejora, déjeme un comentario a continuación e intentaré responderle lo antes posible.

Recomendado: