Bienvenido a 2021 con Raspberry Pi: parte superior del árbol de Navidad con simulación de fuego

Se acerca el año nuevo, y si tienes un par de horas de tiempo libre, puedes hacer una decoración de alta tecnología para un árbol de Navidad, palmera o mandarina. No importa, se verá bien en todas partes.









Debajo del corte - un gif con una demostración del trabajo de esta cosa



La base del diseño es una tira flexible LED NeoPixel 32x8, una Raspberry Pi y buen humor. Bueno, sí, necesitas algo de código Python.



Lo que necesitas para trabajar









  • Raspberry Pi 3, Raspberry Pi 4 o Raspberry Pi Zero W con conector GPIO.
  • Fuente de alimentación, mouse, monitor, teclado y cable HDMI para Raspberry Pi
  • Tira flexible 32x8 Matriz de LED RGB NeoPixel
  • Conjunto de puentes (L-a-F, M-a-M y F-to-F)
  • Fuente de alimentación 5V
  • Condensador 1000 µF
  • También puedes coger una tira de tela para difundir la luz de la tira de LED.
  • Base impresa en 3D para toda la estructura.


Parte 1. Preparación de la matriz RGB



En este punto, necesitará soldar un par de pines y usar el código de muestra de NeoPixel Uberguide de Adafruit . Para nuestro proyecto, necesitamos dos fuentes de energía: para la "frambuesa" y la tira de LED. Para este último, necesitará conectar no solo energía, sino también datos. Aquí todo es sencillo.









Si lo desea, puede agregar otra tira de tela para difundir la luz LED brillante.



Conectamos los datos



Tomamos cualquier "tierra" de la "frambuesa" y la conectamos a la línea de datos GND de la tira de LED.









Conectamos la fuente de alimentación.



Esto se puede hacer mediante un cable normal, según el esquema ya mostrado arriba, o mediante un cable USB. En este caso, debe conectarse de acuerdo con este esquema.









Ahora verifiquemos la matriz ejecutando el código de Adafruit.



Ejecute la "frambuesa", conecte la potencia de la matriz RGB, abra el terminal e instale las dependencias: Descargue el código del repositorio del autor: Seleccione la carpeta scrollingTextMask: Ejecute el código de prueba fillMatrix.py:



sudo pip3 install rpi_ws281x adafruit-circuitpython-neopixel

sudo python3 -m pip install --force-reinstall adafruit-blinka












git clone https://github.com/carolinedunn/RGBTreeTopper











cd RGBTreeTopper











sudo python3 32-fillMatrix.py













Si obtiene un arcoíris, como en el gif anterior, todo funciona, puede pasar a la siguiente etapa. Si algo salió mal, lo más probable es que algunos contactos estén conectados incorrectamente.



Sugerencias: Si el sistema no funciona con el GPIO del pin 21 de la frambuesa, pruebe los pines 10, 12 o 18. Luego abra 32-fillMatrix.py desde la carpeta scrollingTextMask y actualice el pin GPIO. En este caso, deberá cambiar los otros archivos del proyecto en consecuencia.



Detenga el script presionando Ctrl + C.



Parte 2. ¡Enciéndelo!



Ahora en la terminal, que aún está abierta, escribimos el comando:



sudo python3 treeTopper.py













En las carpetas que obtuvimos de GitHub, hay una carpeta de "fuego" que contiene 10 imágenes jpeg. Esto es lo que hace el código treeTopper.py:



declara las bibliotecas que se utilizan en el código. Se debe prestar atención a PIL (Pillow Imaging Library), una biblioteca que agrega capacidades de procesamiento de imágenes al intérprete de Python.









  • Le dice al Pi dónde enviar datos al dado especificando los 21 pines GPIO (línea 8).
  • Indica los parámetros de la matriz, incluyendo tamaño, brillo y tiempo de pausa entre la demostración de cada una de las imágenes (líneas 9-13).
  • Crea una matriz con los datos de esos 10 archivos JPEG en orden secuencial (líneas 28-32).
  • Analiza los píxeles de la imagen y los convierte en una matriz RGB con la salida de la imagen en una matriz RGB (líneas 35-41).
  • Hace una pausa de 0,2 segundos y luego repite el proceso para la siguiente imagen (línea 42).
  • El proceso se ejecuta hasta la ejecución de la combinación Ctrl + C.


¿Y si quieres tus propias fotos?



Los parámetros deben ser los siguientes:



  • Formato: JPEG.
  • Ancho: 32 píxeles.
  • Altura: 8 píxeles.


Cada archivo debe guardarse con los nombres 1-10.JPG en la carpeta correspondiente.



Para mostrar imágenes, debe establecer una nueva ruta a las imágenes. Si lo desea, puede cambiar la secuencia de su visualización.









Lanzar al arrancar



Una vez que tengamos todas las imágenes listas, use Python para ejecutar el script al arrancar. La mejor opción es Crontab.



Abra Crontab en la consola: crontab -e



Ingrese 1 y presione Enter.









Esto abre un nuevo archivo crontab. En el interior, baje e ingrese ->



sudo python3 /home/pi/RGBTreeTopper/treeTopper.py







@reboot sudo python3 /home/pi/RGBTreeTopper/treeTopper.py







Presione Ctrl + X, y luego crontab para guardar.



Apagamos la "frambuesa" y apagamos todo lo que hemos recogido.



Parte 3. Montaje final



En este paso, ya puede demostrar una luz de Año Nuevo en la parte superior de nada menos que un árbol de Navidad.



  • Imprimimos el cuerpo en una impresora 3D.
  • Pasamos los cables a los lugares correctos y los arreglamos.
  • Doblamos la matriz de LED, no es necesario presionar con fuerza.
  • Ponemos la estructura encima del árbol de Navidad. Nos encendemos y nos regocijamos.








Por cierto, el autor es consciente de que su invento tiene forma de rollo de papel higiénico.









Ella bromea diciendo que en el contexto de lo que está sucediendo en 2020, esto es bastante adecuado. Pero, en general, se puede cambiar: el diseño se puede modificar fácilmente, si se desea, de modo que un rollo de papel se convierta ... sí, en cualquier cosa.










All Articles