Lámpara Neoboard - No se necesita SD e impresa en 3D: 3 pasos (con imágenes)
Lámpara Neoboard - No se necesita SD e impresa en 3D: 3 pasos (con imágenes)
Anonim
Lámpara Neoboard - No se necesita SD e impresa en 3D
Lámpara Neoboard - No se necesita SD e impresa en 3D

Por dmtinkdev Siga más por el autor:

Lámpara Minecraft Ore - Tamaño y densidad de píxeles personalizables
Lámpara Minecraft Ore - Tamaño y densidad de píxeles personalizables
Lámpara Minecraft Ore - Tamaño y densidad de píxeles personalizables
Lámpara Minecraft Ore - Tamaño y densidad de píxeles personalizables

Proyectos Fusion 360 »

Después de construir una lámpara Minecraft para mi hijo de 7 años, su hermano pequeño quería algo similar. Él está más en SuperMario que en Minecraft, por lo que su luz nocturna mostrará sprites de videojuegos.

Este proyecto se basa en el proyecto The Neoboard, pero las piezas se pueden imprimir en 3D y el arduino no necesita una tarjeta SD para leer las imágenes (se pueden almacenar dentro de la memoria flash).

Suministros

  • 1x placa arduino (Uno o Nano están bien)
  • 2x filamento (negro para el cuerpo principal y transparente para los difusores). Incluso si desea un color diferente para su soporte, aún necesitará un filamento negro para la parte de los separadores LED. He usado PLA.
  • 1 pulsador
  • 1 resistencia de 300-500 ohmios (para el pin de entrada de datos de la tira)
  • 1 condensador de 1000 µF (para proteger la tira de cambios bruscos de corriente)
  • 1 panel de matriz de leds de 16x16
  • Materiales típicos de los fabricantes (pegamento, cables dupont, conectores auto soldables, tornillos M4, etc.)

Paso 1: descargue el código y procese sus imágenes

Descargue el código y procese sus imágenes
Descargue el código y procese sus imágenes
Descargue el código y procese sus imágenes
Descargue el código y procese sus imágenes
Descargue el código y procese sus imágenes
Descargue el código y procese sus imágenes
Descargue el código y procese sus imágenes
Descargue el código y procese sus imágenes

Puede obtener el código del repositorio de GitHub.

Ya hay perfiles de Platformio para las placas Arduino Uno y Nano en su interior.

Para procesar las imágenes usaremos Processing (la GUI o la herramienta cli funcionarán). El código de procesamiento leerá una imagen de 16x16 y convertirá todos los colores de los píxeles en una matriz uint8 ordenada según la frecuencia con la que se conecta la matriz de LED.

En el 99% de los casos, para procesar correctamente sus imágenes, solo necesitará:

  1. Cambiar el valor a las variables inputFilename y outputFilename
  2. Copie el contenido del archivo outputFilename y péguelo dentro de /src/sprites.h

Dentro del código arduino también necesitarás cambiar

  • Los valores de LEDS_PIN, BUTTON_PIN y TOTAL_SPRITES
  • Quizás el tipo de led en el constructor de la tira … pero no debería ser común
  • Y el 'interruptor' dentro de la función changeSprite () para mostrar todas sus imágenes

Como puede ver en la declaración de las matrices, estamos usando la palabra clave PROGMEM para almacenar los datos en flash en lugar de SDRAM. De esta manera, no necesitamos una tarjeta SD para almacenar la información de color de las imágenes.

Como puede ver en una imagen de arriba, almacenar el código y 10 imágenes SuperMario solo necesita alrededor de 11kbytes, por lo que hay mucho espacio para más imágenes (e incluso más si usa una placa MEGA2650).

Paso 2: imprima todas las piezas

Imprimir todas las piezas
Imprimir todas las piezas
Imprimir todas las piezas
Imprimir todas las piezas
Imprimir todas las piezas
Imprimir todas las piezas
Imprimir todas las piezas
Imprimir todas las piezas

Diseñé las piezas con Fusion360. Puede descargarlos desde:

O si solo desea los archivos STL, están disponibles en Thingiverse:

La contraportada es trivial de imprimir y el soporte solo necesita soportes (pero dependiendo de cómo lo coloques, necesitarás más soportes o una combinación de impresora / filamento capaz de imprimir puentes grandes).

Para el difusor originalmente pensé que usar una hoja con recubrimiento suave y el patrón de la curva de Hilbert iba a dar los mejores resultados, pero he probado diferentes combinaciones de capas, resolución, hojas y patrones y obtuve los mejores resultados con el PLA transparente. filamento de BQ con estos ajustes:

  • hoja: hoja con recubrimiento de polvo
  • capas: 3
  • resolución: 0.2
  • patrón: rectilíneo

Pero, dependiendo de tu filamento, el fabricante de los leds de tu matriz, la distancia del difusor al led y si hay una separación completa entre tus leds tus resultados pueden variar. No me preguntes por qué me he convertido en un experto en este micro-nicho:)

He usado la opción PrusaSlicer para cambiar manualmente el color durante una impresión para cambiar entre filamentos transparentes y negros, por lo que tengo el difusor y el separador de LED en una parte (no es necesario pegarlos).

Paso 3: conecta todo

Conecta todo
Conecta todo
Conecta todo
Conecta todo
Conecta todo
Conecta todo

Conectar todas las partes no podría ser más fácil: encienda la placa y la matriz de leds con un cable USB de 5V, y conecte el botón y la entrada de la tira a los puertos de placa designados.

Recuerde que para evitar dañar la matriz, se recomienda agregar un capacitor y una resistencia a su conexión.

Si todo se hace correctamente, verá un pingüino feliz en su matriz:)

Para comprobar que todo funciona bien:

  • La imagen debe tener un fondo negro degradado azul
  • Las esquinas tienen flechas verdes.
  • La flecha de la esquina inferior izquierda se extiende con 2 píxeles rojos