Tabla de contenido:

Magic Answers Ball con Arduino Pro Mini y pantalla TFT: 7 pasos
Magic Answers Ball con Arduino Pro Mini y pantalla TFT: 7 pasos

Video: Magic Answers Ball con Arduino Pro Mini y pantalla TFT: 7 pasos

Video: Magic Answers Ball con Arduino Pro Mini y pantalla TFT: 7 pasos
Video: Cual pantalla usar con Arduino? 2024, Mes de julio
Anonim
Magic Answers Ball con Arduino Pro Mini y pantalla TFT
Magic Answers Ball con Arduino Pro Mini y pantalla TFT
Magic Answers Ball con Arduino Pro Mini y pantalla TFT
Magic Answers Ball con Arduino Pro Mini y pantalla TFT
Magic Answers Ball con Arduino Pro Mini y pantalla TFT
Magic Answers Ball con Arduino Pro Mini y pantalla TFT

Hace un tiempo, mi hija y yo desarmamos una bola Magic 8 para que ella pudiera reemplazar las veinte respuestas con otras de su elección. Este fue un regalo para una amiga suya. Eso me hizo pensar en cómo hacer eso a mayor escala. ¿Podríamos tener más de 20 respuestas? ¡Con una versión electrónica podemos!

Así que esto describirá cómo desmonté una Mattel Magic 8 Ball (lo siento, Mattel) y usé una pantalla TFT redonda para mostrar una cantidad increíble de respuestas adicionales (la tarjeta micro-SD más pequeña que pude encontrar era de 8GB, por lo que es realmente excesiva para para qué se utiliza). La pelota usa una tabla Sparkfun Wake-on-shake para activar la respuesta y luego apagar la pelota para conservar la batería. Se utiliza una placa de recarga para permitir que la batería se recargue desde una conexión USB.

Suministros

Partes:

Arduino Pro Mini 328 - 3.3V / 8MHz

SparkFun Wake on Shake

Batería de iones de litio - 400 mAh

Organizador 12pcs TP4056 Módulo de carga 5V Micro USB 1A 18650 Tablero de carga de batería de litio con módulo de cargador de protección (solo necesita uno de estos, pero el paquete de 12 costaba menos de $ 9)

Placa de almacenamiento DAOKI 5Pcs Micro SD (nuevamente, solo necesitas una, pero el paquete de 5 aún costaba menos de $ 9)

Módulo de pantalla LCD TFT DFRobot de 2,2 pulgadas

MicroSD de 8 GB de Kingston (es posible que tenga una vieja de estas en su casa)

Placa de pruebas Perma-Proto del tamaño de un cuarto (también puede usar la placa que desee)

Bola mágica 8

FTDI Basic breakout 3.3V (es posible que ya tenga uno de estos si ha realizado un proyecto similar con el Arduino Pro Mini o una placa similar)

Carcasa de 4 pines con conector de cable Dupont de cabezal de clavija macho / hembra JST XH de 2,54 mm (opcional, pero recomendado para conectar la batería)

Otros suministros básicos:

Pegamento moldeable Sugru (podría usar cinta adhesiva y pegamento caliente, pero me gusta más)

Cinta adhesiva

Cinta de espuma de doble cara

Cable

Instrumentos:

Soldador

Herramienta rotativa de su elección (es decir, Dremel)

Abrazadera para muebles

Paso 1: corte la bola mágica 8 por la mitad

Corta la bola mágica 8 por la mitad
Corta la bola mágica 8 por la mitad
Corta la bola mágica 8 por la mitad
Corta la bola mágica 8 por la mitad

Primero deberás dividir la Magic 8 Ball por la mitad. Aseguré el mío a una mesa de trabajo con el lado plano hacia abajo usando una abrazadera para muebles. Usando una Dremel con un disco de corte básico adjunto, corte a lo largo de la costura de la bola. Deberá cortar profundamente, hasta donde lo permita el disco de corte. Tomar con calma. Incluso después de haber cortado todo el contorno, es posible que deba usar un destornillador de cabeza plana o un cincel para hacer la separación final. Hay un cilindro que contiene el líquido "mágico" y el icosaedro (forma de veinte lados, sí, tuve que buscarlo) en el interior. Simplemente tírelo a la basura o úselo en algún otro proyecto. Si lo usa en otro proyecto, avíseme qué hizo para saber qué hacer con el mío.

Te quedarás con dos mitades como se muestra en las imágenes. He hecho esto tres veces y la última vez, el labio blanco era liso en lugar de tener crestas, por lo que su bola puede verse ligeramente diferente a la de la imagen.

Todavía habrá algo de escoria plástica alrededor del borde exterior (el plástico derretido y endurecido). Frena eso con tus manos, si puedes; el uso de una herramienta corre el riesgo de rayar el acabado de la bola y la escoria se desprende con bastante facilidad.

Paso 2: prepara la pelota

Prepara la pelota
Prepara la pelota
Prepara la pelota
Prepara la pelota
Prepara la pelota
Prepara la pelota

Hay dos modificaciones que tendremos que hacer en las mitades de plástico de la bola.

Primero, en la mitad abierta, la que tiene el "8" pintado, necesitaremos rasurar un área lo suficientemente grande para que nuestra placa de carga USB se asiente con el puerto USB sobresaliendo. Usé mi Dremel con un tambor de lijado grueso adjunto. Desea que esto sea lo más delgado posible sin tener que pasar limpio. Luego, corte una pequeña abertura lo suficientemente grande para permitir que el puerto USB se asome hacia el exterior. Usé una pinza para medir el puerto USB, pero probablemente podrías mirar esto si es necesario. Nuevamente, utilicé la Dremel con un pequeño accesorio de corte para hacer la abertura. Las dos primeras imágenes muestran la apertura y cómo se ve con la placa USB detrás.

En segundo lugar, en la otra mitad, la que tiene un agujero en AMBOS lados y el borde de plástico blanco, prepare un lugar para que la pantalla se asiente. Justo dentro de la abertura donde se colocará la pantalla, hay aristas de plástico y una pestaña de goma (?) En el interior de la abertura. Saque la brida y déjela a un lado. Lo volveremos a colocar más tarde, pero queremos que quede fuera del camino para este paso. La pantalla tiene una extrusión rectangular en un lado que no permitirá que se asiente plana en la abertura si no se eliminan algunas de estas crestas. Utilizando el tambor de lijado grueso de la Dremel de nuevo, aféiteselos tanto como sea posible. Entre por el orificio donde estará la pantalla para obtener el mejor ángulo. Debería verse como las imágenes cuando esté completo. Tenga en cuenta que las imágenes muestran la pantalla en su lugar, pero NO LA CONECTE todavía.

Paso 3: Prepare las respuestas en la tarjeta Micro-SD

Este paso es un poco más complicado de lo que piensas. Si no desea crear su propia lista de respuestas, vaya al último párrafo de este paso.

La intención es que podamos darle a la pelota cualquier lista de cadenas para que se utilicen como posibles respuestas y que queden centradas en la pantalla sin interrupciones en el medio de las palabras. No queremos hacer este procesamiento en el microcontrolador y queremos un archivo con un tamaño de registro estático para poder encontrar rápidamente cualquier línea en particular.

Aunque la pantalla es redonda, es funcionalmente una pantalla rectangular virtual con solo píxeles visibles dentro del círculo. La pantalla puede mostrar texto de varios tamaños, pero solo usamos la versión más pequeña, que es de 6 x 8 píxeles. Con este tamaño, hay 315 caracteres que la pantalla puede poner en una pantalla (21 caracteres por línea por 15 líneas), pero solo 221 son visibles y cada línea tiene un número diferente de caracteres visibles. ¿Ves el problema?

Escribí un programa Java para tomar un archivo de respuestas sin formato y convertirlas en registros completamente centrados que podrían mostrarse fácilmente en el TFT redondo. (enlace para descargar el archivo "FormatToPicksFileFullyCentered.java").

Sin entrar en una explicación de todo el código, la idea general es que trabajemos hacia atrás desde el centro (ish) e insertando espacios para asegurarnos de no dividir palabras en líneas visibles, luego hacemos lo mismo desde el centro delantero. Finalmente, recorremos todas las líneas y centramos cada línea dentro de las 21 líneas completas de caracteres para crear un registro de exactamente 316 bytes (315 caracteres alfanuméricos más un carácter de nueva línea). El código realmente funciona a través de tres fuentes, x 3, x 2 y x 1 para ver cuál es la fuente más grande que se puede usar y aún se ajusta al texto. El centrado está un poco fuera de lugar para las fuentes x 2 y x 3, lo siento. Tenga cuidado con los caracteres que ocupan más de un byte, estos pueden alterar el archivo que se genera.

Copie el archivo "picks.txt" en la tarjeta micro-SD.

Si no quiere tomarse la molestia de crear su propia lista de selecciones, he incluido mi lista de selecciones que puede copiar en la tarjeta SD y usar. No pude cargar un archivo.txt en instructables en este momento, así que aquí hay un enlace donde puede descargar el archivo picks.txt.

Paso 4: Cargue el código al Arduino Mini

Cargar código al Arduino Mini
Cargar código al Arduino Mini
Cargar código al Arduino Mini
Cargar código al Arduino Mini
Cargar código al Arduino Mini
Cargar código al Arduino Mini

En primer lugar, si nunca antes ha usado el Arduino Pro Mini, no puede simplemente conectar un cable USB y descargarlo; tienes que usar una placa FTDI y conectar los cables a los pines apropiados en el mini. No daré un tutorial sobre eso aquí, hay muchos en la web. Para mí, no quería soldar un conector permanente en la placa del microcontrolador que solo se usaría una vez para descargar el código, así que creé un pequeño clip que se puede usar para programar el mini sin soldar (ver imágenes). Esto se inspiró en productos como Fiddy, pero no tengo fácil acceso a una impresora 3D, así que hice la mía propia con un clip de papas fritas. Si la gente está interesada, haré un instructivo solo para eso.

Vamos al código. Hay un par de partes interesantes en este código, pero en su mayor parte es sencillo.

En la función de configuración, hay una cantidad decente de código que se ocupa de obtener una buena semilla aleatoria. El método típico de usar la lectura analógica desde un pin no conectado no da una respuesta lo suficientemente variada en mi experiencia. Obtengo un número entre 477 y 482. Dado que la función aleatoria de Arduino tiene una y solo una secuencia y la semilla determina dónde comenzar en esa secuencia, un rango tan estrecho no producirá suficientes respuestas posibles al final. Tenga en cuenta que este código esencialmente comienza de nuevo cada vez que la placa Wake-on-shake apaga y vuelve a encender, por lo que la posición de secuencia inicial determinada por la semilla es crucial. Para ayudar con esto, escribo un archivo muy pequeño en la tarjeta SD para realizar un seguimiento de la última semilla y agregar eso a un nuevo valor proveniente del pin no conectado.

Una vez que se selecciona una selección en la función de bucle y se lee en una matriz de caracteres, no podemos simplemente imprimir la cadena completa. La pantalla tiene un límite de la longitud de una cadena que puede manejar a la vez. Por esa razón, tenemos que recorrer cada una de las quince líneas y enviarlas a la pantalla una a la vez.

Bibliotecas externas necesarias:

Biblioteca ST7687S

Biblioteca DFRobot-Display

Paso 5: Conecte los componentes

Conecte los componentes
Conecte los componentes
Conecte los componentes
Conecte los componentes

Es hora de hacer toda la soldadura de cables. Tendía a equivocarme por el lado de cables un poco más largos de lo que realmente necesitaba, pero eso terminó funcionando bien.

En el esquema adjunto, la pantalla TFT está representada por un conector en lugar de una imagen de toda la pantalla (para la que no pude encontrar una parte de Fritzing). He etiquetado los cables / pines en función de cómo están etiquetados en la pieza. De manera similar, la tarjeta SD no es exactamente la que usé, pero etiqueté los cables / pines para la parte enumerada.

Hay un componente que no soldé en este paso: la batería. En su lugar, utilicé un conector de cuatro pines con los dos pines intermedios retirados (segunda imagen). Esto me permitió probar todos los componentes conectados entre sí y luego desconectar la batería mientras adjuntaba todo a la bola.

Finalmente, utilicé una placa de circuito impreso permanente de un cuarto de tamaño para facilitar la alimentación y las conexiones compartidas. Lo verás en las fotos de montaje.

Prueba que todo esté funcionando

Paso 6: coloque los componentes en la pelota

Adjuntar componentes a la pelota
Adjuntar componentes a la pelota
Adjuntar componentes a la pelota
Adjuntar componentes a la pelota
Adjuntar componentes a la pelota
Adjuntar componentes a la pelota
Adjuntar componentes a la pelota
Adjuntar componentes a la pelota

Primero coloque la pantalla en su lugar y use un poco de Sugru para asegurarla (primeras dos imágenes). No se olvide de la brida que quitó anteriormente, debe volver a colocarla en su lugar antes de asegurar la pantalla en su lugar.

Luego, pegué el protoboard en la parte inferior de la mitad vacía de la bola. Mantuve todas mis soldaduras en un lado de la placa, por lo que todavía tenía la mitad de la placa sobre la que podía encintar. Luego pegué la batería en la parte superior de esa misma mitad del proto-tablero (tercera imagen).

Ambas mitades están ahora conectadas por cables. Averigüe dónde terminará el orificio del USB cuando junte las dos mitades. Si el borde blanco tiene las espinas hacia arriba, tenga en cuenta que debe bajar centrado en una de las cuñas del borde blanco porque aseguraremos la placa de carga USB entre dos de los bordes de plástico del borde.

Con un pequeño trozo de cinta de espuma de doble cara, coloque la placa de carga USB. La cinta de doble cara no debe cubrir toda la parte inferior de la placa de carga porque el extremo con los cables conectados colgará sobre el borde central del borde blanco. Por lo tanto, la cinta debe cubrir aproximadamente las tres cuartas partes de la superficie inferior del tablero. Primero, coloca la cinta en la parte inferior de la tabla y luego presiónala en el lugar que hayas elegido. El conector USB debe estar en el borde de la bola, pegándose en el área negra del plástico sin salir de la bola. Finalmente, use un poco más de Sugru sobre la parte superior del tablero y asegúrelo en ambos lados. Esto solo agrega fuerza adicional para cuando se inserta un cable en el puerto USB.

Coloque la tarjeta micro-SD en el módulo de la tarjeta SD ahora

Puede asegurar los otros componentes al labio blanco si lo desea. Simplemente coloqué los componentes restantes detrás de la pantalla.

Paso 7: Vuelva a juntar las dos mitades

Vuelva a unir las dos mitades
Vuelva a unir las dos mitades
Vuelva a juntar las dos mitades
Vuelva a juntar las dos mitades

Verifique que haya insertado la tarjeta SD y que haya probado todos los componentes juntos.

Ok, si estás listo, haz una serpiente larga con un poco de pegamento Sugru y pásala por todo el borde de la mitad de la bola con el labio blanco (primera imagen). El pegamento debe colocarse justo en la unión donde se unen las secciones en blanco y negro del plástico. Poner el pegamento aquí asegura que tenga una unión fuerte mientras minimiza la cantidad de pegamento que sale de la grieta después de unir las dos mitades.

Presione las dos mitades juntas asegurándose de que el puerto USB se adhiera a través del orificio previamente cortado. Usando la abrazadera para muebles, sujete las dos mitades juntas lo suficientemente apretadas para mantener las mitades juntas, sin necesidad de sujetarlas con fuerza. El pegamento Sugru se endurecerá en aproximadamente 24 horas.

Si tiene un poco de pegamento que se escurrió de la articulación, no dude en rasparlo con el dedo o con un paño suave / toalla de papel.

Recomendado: