La Via Libris es un libro que te lleva al tesoro - 💡 Fix My Ideas

La Via Libris es un libro que te lleva al tesoro

La Via Libris es un libro que te lleva al tesoro


Autor: Ethan Holmes, 2019

El VIA LIBRIS es un libro del tesoro de bolsillo. Conduce a su usuario a una ubicación predeterminada, utilizando un dial de brújula especial y dando pistas en FRÍO, CALIENTE o CALIENTE. En la ubicación del tesoro, una tarjeta de regalo sale de una ranura oculta en el libro. Es una gran sorpresa para el destinatario de la tarjeta de regalo. Se puede programar una nueva ubicación en cualquier momento con solo presionar un botón. Cada libro es hecho a mano, único en su clase, hermoso y reutilizable. Lo uso para regalar tarjetas de regalo a amigos y familiares, guiándolos a la tienda / restaurante para el que sirve la tarjeta. Cuando la tarjeta sale, de repente entienden la sorpresa y pueden usarla inmediatamente. Es muy divertido.

El VIA LIBRIS utiliza un Arduino Pro Mini (debajo de la placa de circuito), un magnetómetro, un acelerómetro (para la compensación de la inclinación de la brújula), un módulo GPS, un subminervicio (rotación de la rueda) y un servo especial de motorreductor de rotación continua (brújula). Rotación del puntero) que diseñé y construí a medida después de probar muchas alternativas.

Este proyecto fue inspirado por la caja de geocaching inversa de Kenton Harris. Realmente me gustó la idea de llevar a alguien a un lugar para encontrar una sorpresa, que está en la caja todo el tiempo.

El VIA LIBRIS fue diseñado para ser un poco anticuado. Me encantan las cosas que se mueven. Me gusta esa vieja sensación mecánica. Tomé la decisión consciente de implementar muchas características en hardware (con servos que giran las ruedas indicadoras). Podría haber implementado estos indicadores con una pantalla o una matriz de luz LED. Esto hubiera sido MUCHO más simple para mi diseño, y aún se vería genial. Pero decidí tomar una ruta más difícil y hacer las cosas mecánicas. Sentí que una pantalla no sería muy diferente de una aplicación de teléfono inteligente.

Mientras pensaba en mi diseño y construí un prototipo, hice algunos cambios en mi idea desde el principio. Por ejemplo, decidí que solo quería dos motores (o servos) en mi producto. Esto me obligó a desarrollar un diseño que hiciera tres tipos de movimiento con solo dos servos: la rueda de la brújula, la rueda de pista y el dispensador de tarjetas de regalo. Un tercer servo o motor habría creado un problema de espacio, y también agregaría otro conjunto de imanes a un diseño que dependía de una brújula electrónica sensible para determinar el cojinete magnético. Esta fue una de las muchas compensaciones en mi diseño, y al identificarlos pronto pude analizarlos y visualizar las ramificaciones de las diferentes opciones. Aún así, esta decisión de dos servos eventualmente me creó muchos desafíos. Más sobre eso más tarde.

Disfruto construyendo proyectos mecánicos con arduinos. La combinación de hardware / software a menudo le permite realizar un cambio de diseño o comportamiento simplemente cambiando su software. Esto es mucho más rápido que una modificación de hardware. Por ejemplo, descubrí que los sub-micro servos que uso para mi rueda de pistas tienen alguna variación en la forma en que giran. Una rotación de 20 grados no es lo mismo de servo a servo. Las ubicaciones de las ruedas de FRÍO, CALIENTE, CALIENTE variaron de servo a servo (y, por lo tanto, de caja a caja). Tenía dos opciones: hacer una calcomanía personalizada para cada servo, con ubicaciones de pistas ligeramente diferentes, o usar una versión de calcomanía y simplemente cambiar los valores de rotación en el software para cada caja. Es fácil cambiar los valores de rotación en el software, y de todos modos tuve que usar valores personalizados para cada caja para las calibraciones de la brújula electrónica.

Diseñé una placa de circuito impreso (PCB) personalizada al principio del proceso, ya que el tamaño de la PCB impulsaba muchos otros parámetros de diseño. Tuve que tomar una decisión crucial con respecto a este PCB. Estaría usando varios "módulos" de productos diferentes: un Arduino Pro Mini, un Adafruit Ultimate GPS, un servo controlador y una brújula electrónica. Podría haber diseñado una PCB que esencialmente reconstruiría todos esos productos en una PCB. Pero eso estaba más allá de mi capacidad en ese momento. Me habría requerido comprar (y soldar) muchos componentes diminutos de montaje en superficie. Por lo tanto, opté por un enfoque ligeramente diferente. Utilicé EAGLE PCB (Autodesk) para diseñar un PCB maestro en el que podría soldar varios módulos completos (Arduino, GPS, etc.). Mi diseño aún era complejo: requería una placa de dos caras, con un módulo GPS en la parte superior y Arduino en la parte inferior. Pero EAGLE tiene esta capacidad.

Antes de enviar el diseño de mi PCB a un fabricante, construí mi propia placa para probar el sistema. Fue crudo, pero funcionó! Aprendí que un plano terrestre grande debajo del módulo GPS es importante: aísla las débiles señales GPS de todo el ruido eléctrico que produce un Arduino (y servos). Fue fácil diseñar esta característica en EAGLE.

Pedí diez PCB personalizados de un fabricante. A pesar de haber revisado mi diseño antes de ordenar los PCB, me di cuenta de que, tan pronto como los recibí, había cometido un error de diseño. Tuve que volver a trabajar algunos caminos en cada PCB. No es gran cosa para diez, pero hubiera sido un gran esfuerzo para 100 o más. ¡Comprueba tres veces tu diseño antes de pedir PCB personalizados! Es un poco difícil, especialmente con tablas de múltiples capas, pero hazlo. No cometas mi error Necesitaba tres piezas acrílicas transparentes para mis prototipos. Les pedí un corte personalizado a un proveedor de plásticos y perforé mis propios agujeros con la ayuda de una plantilla de cartón. Esto estuvo bien para diez prototipos. Pero para cantidades mayores, cortaré con láser las piezas (y los agujeros).

El diseño 3D es donde hice mi primer gran error. Recuerda mi decisión de usar dos servos / motores para tres movimientos diferentes: la rueda de la brújula, la rueda de pista y el dispensador de tarjetas de regalo. Esto creó un desafío de diseño complejo para mí. Necesitaba el servo de rueda de pista para activar también algún tipo de dispensador. Quería que el dispensador "sacara" la tarjeta de regalo, de manera sorprendente, desde una ranura oculta en la parte inferior del libro. Tenía que tener un mecanismo activado cuando la rueda de pista giratoria golpea la ubicación del GPS "ha llegado".

Al principio, decidí NO invertir mi tiempo en un diseño 3D y, en cambio, intenté crear prototipos de diferentes versiones de dispensadores. Probé cinco versiones diferentes, todas con algún tipo de resorte (por una, usé un pasador de seguridad grande). El diseño estaba limitado de varias maneras, principalmente por el pequeño espacio en el que debía encajar el mecanismo del dispensador, pero también por el movimiento de la rueda de pista.

Cada vez que creé una versión actualizada, tendría uno de dos problemas. Funcionaría bien pero sería ridículamente difícil de hacer, o sería fácil de hacer y trabajar de manera intermitente. Descubrí esto cuando comencé a hacer prototipos para dárselos a amigos y familiares. Necesitaba un diseño que permitiera "hacer" fácilmente. Pasé meses de trabajo en muchas versiones, cada una con sus propios problemas.

Cuando la versión cinco fue un fracaso, levanté mis manos y decidí invertir mi tiempo en crear un buen modelo de diseño asistido por computadora en 3D (CAD). Utilicé Autodesk Fusion 360. Pasé algunas horas durante un fin de semana creando un ensamblaje completo de mi diseño, menos un dispensador. Agregué todas las partes que interactuarían de alguna manera con el sistema completo. El diseño me permitió visualizar las restricciones y probar fácilmente diferentes ideas de dispensadores sin construir nada. Si no funcionó, simplemente hice clic en "deshacer" y probé otra cosa. Pasé algunas horas durante una semana probando diferentes ideas de dispensadores en mi modelo 3D. Finalmente me decidí por una solución confiable y repetible, usando tres partes impresas en 3D. En total, pasé 10 horas en este proceso de diseño. Si lo hubiera hecho al principio, habría ahorrado semanas y meses de agravación. No cometas mi error ¡Comience con un modelo 3D!

El modelo también permitió muchos extras valiosos. Podía fácilmente imprimir en 3D los tres componentes de mi dispensador. También podría crear representaciones 3D fotorrealistas, dibujos en 2D (para cortar con láser el acrílico mencionado anteriormente), Y realicé una bonita animación del diseño y funcionamiento del dispensador. Esto tomó algún tiempo pero valió la pena. Utilicé ese clip de animación en un video más largo para presentar mi producto. Puedes ver todos estos artículos en el sitio web de mi proyecto.

El código del software Arduino (mi "boceto" de Arduino) tomó un poco de trabajo para garantizar que Arduino pudiera manejar todas las funciones necesarias. Esto incluía el I / O para una variedad de dispositivos externos. El Adafruit Ultimate GPS Breakout utiliza comunicación en serie. La brújula electrónica, una LSM303, utiliza I2C. Los servos usan pines digitales, y mi brújula de diseño personalizado también necesitaba un pin analógico para medir la retroalimentación. Mi proyecto también incluye un pequeño vibrador de disco para proporcionar comentarios de los usuarios, que utiliza otro pin digital Arduino.

El Arduino utiliza la comunicación en serie para la programación, y solo hay un "puerto" en serie codificado en un Arduino. El módulo GPS también utiliza ese puerto serie. Un módulo GPS conectado interfiere con la carga de un boceto de programa en el Arduino. Idealmente, habría cambiado el GPS a un par de pines digitales utilizando la biblioteca Soft Serial Arduino. Utiliza software para imitar la interfaz serial del hardware. PERO cuando construí mi primera versión, descubrí que Soft Serial y los servos no funcionan en absoluto. Ellos interfieren con el tiempo del otro. Entonces, me quedé con el único puerto serie y agregué algunos puentes simples al diseño de mi PCB. Puedo tirar de los puentes para desconectar el GPS para la programación. Un ejemplo de un cambio de hardware para resolver una falla de software.

Durante mi proceso de compilación, documenté CADA paso con fotos y notas. Incluyendo cualquier configuración de herramientas especiales. Por lo tanto, he creado una guía de montaje y fabricación sobre la marcha. ¡Recomiendo altamente esto! Lo necesitará cuando aumente su producción, o incluso si está construyendo solo diez artículos para familiares y amigos. Hacerlo ahora apenas lleva tiempo extra. Además, ¡agrega muchos comentarios a cualquier código que escribas!

Durante mi proceso, también descubrí que parte del enrutamiento del cable, especialmente con el cable servo, era difícil debido al espacio limitado. No había forma de evitar esto con los diez PCB iniciales que tenía. Pero inmediatamente hice un cambio en el diseño de la versión 2 de la PCB para solucionar el problema. ¡Haz esos tipos de cambios cuando estén frescos en tu mente! Como la mayoría de los creadores, trabajo en un proyecto en fases, paso a otra cosa, luego vuelvo a él, a veces semanas o meses después. Es difícil recordar los cambios necesarios en ese momento.

Una vez que tuve algunos prototipos de trabajo, me divertí probándolos. Empaqué mis prototipos en una bonita "caja de libros" que compré en una tienda de artesanía. Pronto compraría MUCHAS de estas cajas. Me decidí por algunos amigos y familiares aventureros, y le di a cada uno un VIA LIBRIS con una tarjeta de regalo precargada para una tienda cercana a ellos. La ubicación fue preprogramada en la EEPROM del Arduino. También les di instrucciones muy mínimas. Recuerda que no tenían idea de que había una tarjeta de regalo dentro. Quería ver si podían comenzar su "búsqueda del tesoro" simplemente encendiendo la caja y siguiéndola, y quería que se sorprendieran. ¡Funcionó! Mi favorito fue una llamada telefónica que recibí de un amigo: "No tenía idea de lo que iba a pasar cuando llegué al lugar que esta caja me estaba llevando. ¡Pero estoy aquí frente al "comerciante" y una tarjeta de regalo que acaba de sacar de esta tienda! ¡Totalmente genial!"

También recibí algunos comentarios importantes. Mi casilla no le dice a su usuario qué tan lejos están de la ubicación del "tesoro". Podría, pero me gusta mantenerlo un poco misterioso. Solo da pistas FRÍAS, CALIENTES, CALIENTES. Uno de mis usuarios señaló que al principio no tenían idea de hasta qué punto tendrían que viajar. ¿Coche? ¿Bicicleta? ¿Caminar? Agregué íconos en la rueda de pistas que representan un auto, o pasos. Al principio, también le digo a una persona aproximadamente lo lejos que tendrá que viajar.

Hubo un problema inusual. Mi madre vive lejos de mí, y durante su búsqueda del tesoro, la brújula no señalaba la ubicación correcta. Encontré esto difícil de creer. Las matemáticas nunca están mal, ¿correcto? Finalmente descubrí un error en mi código en la función de trigonometría que calcula el rumbo. Fue un error sutil y extraño que no fue evidente alrededor de la latitud / longitud de mi hogar. Pero fue un problema definido en otras áreas del país. Fácil de arreglar, pero de lo contrario no lo habría sabido.

Otra sugerencia valiosa de retroalimentación fue agregar sonidos a la caja, para mantener a los niños ocupados durante la búsqueda del tesoro. ¡Gran idea! Mi versión actualizada incluye la tarjeta de sonido Adafruit Audio FX. Reproduce un montón de sonidos divertidos a través de un pequeño altavoz de forma aleatoria. Necesitaré actualizar el diseño de mi PCB nuevamente, pero eso es fácil de hacer. Afortunadamente, hay espacio para la placa de sonido justo encima del Arduino.

Ha sido un proceso divertido y educativo, y he aprendido algunas buenas lecciones en el camino:

Primero, realice un seguimiento cuidadoso de sus revisiones, ya sea de hardware, código, etc. Tengo un documento de historial de revisión que detalla las fechas y los cambios realizados con cada versión. Han habido muchos. La historia ha sido un salvavidas, especialmente cuando vuelvo a este proyecto después de unos meses de descanso y no recuerdo bien dónde lo dejé.

Segundo, decide lo que te inspira y enfócate en eso. Estoy inspirado en esa combinación de Arduino y movimiento mecánico. Los dos parecen funcionar bien juntos.

En tercer lugar, mantenga una lista de las piezas que utiliza, incluida la fuente, su precio, dimensiones, etc. Esa lista de piezas será invaluable a medida que comience a construir su artículo en cantidad.

Finalmente, una vez que hayas construido un prototipo, ¡pruébalo! Pruébelo usted mismo en diferentes entornos, posibles casos de uso, etc. No se desanime si no funciona tan bien como esperaba. ¿Recuerdas el desafío del dispensador de tarjetas de regalo que mencioné antes? Utilice este proceso de autoprueba para identificar cualquier problema posible. Luego, pídale a su familia o amigos que prueben su prototipo. Antes de hacer esto, escriba cualquier instrucción de uso especial que puedan necesitar. Pretenda que es un cliente que acaba de desempaquetar su producto. Quieres probar toda su experiencia, sin tu guía. De todos modos, no estará disponible para guiar a todos los posibles usuarios o clientes.

Escribí una guía de creación de prototipos basada en este proyecto, que ofrece excelentes lecciones aprendidas para cualquier proyecto, grande o pequeño.



Puede Que Le Interesen

Gakken mag y fiesta de despliegue de computadora de 4 bits en Tokio

Gakken mag y fiesta de despliegue de computadora de 4 bits en Tokio


Reseña de libro y sorteo: Kanzashi In Bloom por Diane Gilleland

Reseña de libro y sorteo: Kanzashi In Bloom por Diane Gilleland


¡La réplica de mascota de fieltro de aguja, con el propio pelaje de tu mascota!

¡La réplica de mascota de fieltro de aguja, con el propio pelaje de tu mascota!


Resumen de super aprendizaje para soldar

Resumen de super aprendizaje para soldar