Tabla de contenido:

Pantalla LED de madera para juegos con tecnología Raspberry Pi Zero: 11 pasos (con imágenes)
Pantalla LED de madera para juegos con tecnología Raspberry Pi Zero: 11 pasos (con imágenes)

Video: Pantalla LED de madera para juegos con tecnología Raspberry Pi Zero: 11 pasos (con imágenes)

Video: Pantalla LED de madera para juegos con tecnología Raspberry Pi Zero: 11 pasos (con imágenes)
Video: Raspberry Pi Model B, análisis y primer encendido 2024, Noviembre
Anonim
Pantalla LED de madera para juegos con tecnología Raspberry Pi Zero
Pantalla LED de madera para juegos con tecnología Raspberry Pi Zero
Pantalla LED de madera para juegos con tecnología Raspberry Pi Zero
Pantalla LED de madera para juegos con tecnología Raspberry Pi Zero
Pantalla LED de madera para juegos con tecnología Raspberry Pi Zero
Pantalla LED de madera para juegos con tecnología Raspberry Pi Zero

Este proyecto realiza una pantalla LED basada en WS2812 de 20x10 píxeles con un tamaño de 78x35 cm que se puede instalar fácilmente en la sala de estar para jugar juegos retro. La primera versión de esta matriz fue construida en 2016 y reconstruida por muchas otras personas. Esta experiencia se utilizó para resumir todas las mejoras para crear una nueva versión de la matriz y llevarla ahora a instructables.com. Las principales características nuevas son la actualización a una Raspberry Pi Zero en lugar de usar y Pi A más un Arduino y reemplazar el controlador grande anterior con un gamepad Bluetooth. También se mejoró el software, incluido el simulador, que le permite desarrollar el código en una computadora incluso si no tiene acceso al hardware de la matriz.

Una característica especial de esta matriz de LED es la chapa de madera especial, que se utiliza para cubrir el LED y ocultarlo, cuando los LED están desactivados. Esto aumenta enormemente el factor de aceptación de las personas no tecnológicas;-) Por supuesto, si este revestimiento especial no está disponible en su país, también puede utilizar algún otro material difuso como el acrílico para ocultar los LED. También está previsto proporcionar algunas piezas clave en el futuro para facilitar la reconstrucción del proyecto.

Suministros:

  • Raspberry Pi Zero W (con algunas adaptaciones, todos los demás modelos también funcionarán)
  • 200 LED / s (rayas de LED WS2812B con 30 LED / m)
  • Pantalla de matriz LED 4x SPI con MAX7219
  • Cables
  • Gamepad Bluetooth (por ejemplo, este de Pimoroni)
  • Fuente de alimentación 5V con al menos 5A
  • Madera MDF para corte por láser
  • Chapa de madera o placa acrílica de difusión.
  • Condensador, resistencia
  • Algunos tornillos

Paso 1: corte por láser

Corte por láser
Corte por láser
Corte por láser
Corte por láser
Corte por láser
Corte por láser

La estructura base de la matriz está hecha de madera MDF con un espesor de 3 mm y cortada con un cortador láser. Si no posee una cortadora láser, puede utilizar un servicio en línea como ponoko.com o formulor.de o ponerse en contacto con el próximo fablab /makerspace en su entorno. También es posible utilizar cartón u otros materiales más ligeros, pero los archivos adjuntos están diseñados para un grosor de 3 mm, por lo que los materiales más delgados o más gruesos necesitan un rediseño de los archivos. El diseño se realizó en Fusion 360. La mayoría de las partes se mantienen unidas con solo deslizarlas en su lugar, solo algunas de las partes, como los bordes exteriores, deben pegarse con pegamento para madera. ¡Asegúrese de que su matriz esté funcionando completamente antes de aplicar cualquier pegamento! También hay que pegar la chapa de madera, pero este es el último paso después de asegurarse de que todo funciona.

En el lado derecho (inferior) de la placa posterior, hay un segmento recortado para asegurar los componentes electrónicos a la matriz y aún tener acceso a estos componentes cuando se pega el revestimiento.

Paso 2: Instale los LED

Instalar LED
Instalar LED
Instalar LED
Instalar LED
Instalar LED
Instalar LED

Las franjas de LED son franjas estándar de 30 LED / m WS2812, que están disponibles en Amazon, eBay u otras tiendas en línea de todo el mundo. Esta suele ser también la banda de LED direccionable más barata disponible. Si desea utilizar otros LED, debe asegurarse de que la distancia de 30 LED / m se ajuste al patrón de matriz. Los segmentos cortados con láser tienen pequeñas regiones recortadas para adaptarse al ancho del LED de 10 cm. Estas franjas LED tienen cinta de doble cara en la parte posterior, por lo que puede pegarlas directamente al MDF después de un posicionamiento preciso. Compruebe la orientación correcta de cada franja antes de utilizar la cinta (dirección DIN-DOUT).

El patrón de cableado es en zig-zag, por lo que al final, solo hay un pin de entrada a la matriz y las longitudes de los cables son lo más cortas posible. Para distribuir correctamente la energía y reducir el cableado en la parte superior de la matriz, cada franja de LED está conectada a 5V y GND en la parte inferior de la matriz. Puede utilizar cables individuales o PCB de prototipos para distribuir la línea 5V y GND.

Paso 3: Montaje

Montaje
Montaje
Montaje
Montaje
Montaje
Montaje

La vista de explosión ayuda a identificar las piezas correctas para el ensamblaje. Simplemente siga las imágenes de instalación paso a paso. El backplane tiene estructuras transversales para sostener las paredes laterales largas y algunas de las paredes cortas. Si tiene problemas para instalar las piezas, use papel de lija para arreglarlo.

Paso 4: soldadura

Soldadura
Soldadura
Soldadura
Soldadura

Hay diferentes formas de soldar juntas las líneas eléctricas para las diferentes bandas. Puede usar cables individuales o algún tipo de riel común de cobre para soldar los diferentes cables. En este caso, se utilizaron piezas de prototipos de PCB para guiar los rieles de alimentación hacia las franjas. Las bandas WS2812B ya tienen cables de alimentación separados que puede usar para conectar el riel de alimentación a la primera entrada de banda (lado izquierdo en la imagen).

Paso 5: Instale SPI Display

Instalar SPI Display
Instalar SPI Display

Para mostrar las puntuaciones y el texto del juego, se utiliza una pantalla de matriz LED basada en el controlador LED MAX7219. Está conectado a través de SPI (interfaz de periféricos en serie) a la Raspberry Pi. Cuatro pantallas de 8x8 se combinan en una pantalla de matriz de puntos de 32x8 píxeles. Puede comprar estas pantallas de 8x8 píxeles por ej. En eBay, también hay disponibles pantallas combinadas de 32x8 píxeles. También tienes diferentes opciones de color; en este caso se utilizaron pantallas rojas. Debido a que SPI funciona como un registro de desplazamiento, las pantallas se conectan en serie conectando los datos de la primera matriz a los datos de la segunda y así sucesivamente comenzando desde el lado derecho de la pantalla.

Esta pantalla solo se puede leer desde el exterior, si se coloca directamente detrás de la capa de revestimiento. Si no es así, solo se ve un borrón rojo. Por lo tanto, debe montarlo en la parte superior del segmento recortado del backplane con una distancia de 30 mm entre la superficie del backplane y la superficie de la matriz. He utilizado algunas piezas de madera y tornillos sobrantes para adaptar los 19 mm que faltan entre el backplane y las placas de circuito impreso, pero también puede utilizar cualquier tipo de espaciador exterior.

El cableado de la pantalla se muestra en el paso 7.

Paso 6: instalar Pi

Instalar Pi
Instalar Pi
Instalar Pi
Instalar Pi
Instalar Pi
Instalar Pi

En esta instalación, se utiliza una Raspberry Pi Zero. También puede usar cualquier otro modelo de Raspberry Pi, pero los más nuevos con WiFi y Bluetooth integrados le permiten conectarse fácilmente a gamepads inalámbricos y simplificar la programación. Puede asegurar el Pi usando al menos dos tornillos y pequeños espaciadores para atornillarlo al backplane.

Para la Raspberry Pi Zero W, se utilizan los siguientes pines:

  • PIN 2: 5 V
  • PIN 6: TIERRA
  • GPIO18 -> Rayas LED
  • GPIO11: SPI CLK -> MAX7219 matriz CLK
  • GPIO10: SPI MOSI -> MAX7219 matriz DIN
  • GPIO8: SPI CS -> MAX7219 matriz CS

Algunas personas informaron problemas con el uso de GPIO18 para los LED. Utilice GPIO21 en este caso. Si es así, debe cambiar el código en la línea 21 a pixel_pin = board. D21.

La tira WS2812B se utiliza aquí fuera de su especificación. Normalmente requiere un nivel lógico de 5V en DIN, pero el Pi solo proporciona 3, 3V. Incluso si esto funciona en la mayoría de los casos, debe probarlo con su tira. Si no funciona, puede agregar un convertidor de nivel como un 74HCT245 o cualquier otro convertidor de 3V3 a 5V entre el Pi y la tira.

Paso 7: Cableado y fuente de alimentación

Cableado y fuente de alimentación
Cableado y fuente de alimentación
Cableado y fuente de alimentación
Cableado y fuente de alimentación
Cableado y fuente de alimentación
Cableado y fuente de alimentación

El cableado se realiza de acuerdo con el esquema de cableado. La fuente de alimentación es una fuente de 5 V CC.

Para facilitar el encendido / apagado de la matriz, se agrega un interruptor entre el enchufe de alimentación y los circuitos de la matriz. Sin embargo, debido a que a la Raspberry Pi no le gusta el apagado duro, hay una opción de apagado en el software para apagar de forma segura la Pi a través del Gamepad antes de cambiar la matriz.

El pin DIN de la tira de LED se conecta a través de una resistencia al Pi, también se agrega un condensador grande (4700uF) para amortiguar la fuente de alimentación. Consulte la Überguide de Adafruit para Neopixels para obtener más detalles.

Los LED consumen una corriente máxima de 60 mA por LED, por lo que es posible una corriente máxima de 200x60 mA = 12 A. Al reducir el brillo y no usar todos los LED en blanco completo, este es un valor más teórico, pero depende del código qué corriente máxima se alcance. Por lo tanto, es muy importante seleccionar una fuente de alimentación lo suficientemente grande. Para la mayoría de las aplicaciones, una fuente de alimentación de 5V / 5A (25W) debería ser suficiente.

Para fijar la placa posterior con el Pi y la pantalla Matrix, se pueden usar algunos trozos pequeños de madera para frotarlos en los bordes y también usar tornillos para mantener la placa posterior en su lugar.

Paso 8: Configurar Pi

Configurar Pi
Configurar Pi

1. Descargue la última imagen de Raspbian lite de raspberrypi.org

2. Cópielo en una tarjeta SD, 8GB es suficiente. Puede utilizar, por ejemplo, etcher para hacer esto.

3. Antes de arrancar el Pi con la tarjeta SD, prepare el acceso a WIFI y ssh

4. Inserte la tarjeta SD en cualquier computadora, se debe poder acceder a una carpeta de inicio

5. Copie las siguientes líneas al archivo wpa_supplicant.conf (generelo si no existe) y cambie los parámetros dependiendo de su Wifi y región

ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev

country = US update_config = 1 network = {ssid = "Home Wifi" psk = "mypassword" key_mgmt = WPA-PSK}

6. Agregue un archivo vacío llamado ssh (sin ninguna extensión) para iniciar y habilitar el acceso ssh

7. Ahora inserte la tarjeta SD en la Raspberry Pi e iníciela. Verifique su enrutador wifi para obtener la dirección IP del Pi

8. inicie una conexión SSH al Pi usando un terminal (Linux, Mac) o por ejemplo Masilla una ventana. Inserte la IP del Pi en lugar de 192.168.x.y

ssh [email protected]

9. Actualiza el Pi (¡lleva algo de tiempo!)

sudo apt-get update

sudo apt-get upgrade

10. Instale pip y la herramienta de configuración

sudo apt-get install python3-pip

sudo pip3 install --upgrade setuptools

11. Instale el controlador Neopixel, ws281x lib, pygame y libsdl

sudo pip3 instalar rpi_ws281x adafruit-circuitpython-neopixel

sudo pip3 install pygame sudo apt-get install libsdl1.2-dev sudo pip3 install --upgrade luma.led_matrix

12. Habilite SPI llamando a raps-config, navegue hasta 5 Opciones de interfaz / P4 SPI / Habilitar

sudo raspi-config

13. Agregar Gamepad Bluetooth

sudo bluetoothctl

[bluetooth] # agente en [bluetooth] # sincronizable en [bluetooth] # escanear en [bluetooth] # par aa: bb: cc: dd: ee: ff [bluetooth] # confiar en aa: bb: cc: dd: ee: ff [bluetooth] # conectar aa: bb: cc: dd: ee: ff [bluetooth] # salir

donde aa: bb: cc: dd: ee: ff es el vestido MAC de tu gamepad bluetooth. Esta dirección debe mostrarse después de llamar al comando "scan on". Asegúrese de que su controlador Bluetooth esté listo para emparejarse; consulte el manual del controlador para saber cómo hacerlo.

14. Ahora puede conectarse a su Pi a través de, la contraseña predeterminada es frambuesa (los usuarios de Windows pueden usar Putty):

ssh [email protected]

Paso 9: código, prueba y simulador de Python

Código, prueba y simulador de Python
Código, prueba y simulador de Python
Código, prueba y simulador de Python
Código, prueba y simulador de Python
Código, prueba y simulador de Python
Código, prueba y simulador de Python

El código está disponible en Github. games_pi_only.py y todos los archivos bmp son necesarios.

git clone href = https://github.com/makeTVee/ledmatrix/tree/master/python/pi_only

El código tiene una opción para ejecutarse en modo de simulación fuera del Pi usando pygame para simular la matriz. Esto es muy útil para desarrollar nuevas funciones sin tener acceso directo al hardware de la matriz. Además, la depuración es mucho más sencilla. Debe configurar la constante PI para activar el modo de simulación (Línea 15):

PI = falso

En este modo de simulación, también se usa el teclado en lugar del gamepad Bluetooth. Los botones 1, 2, 3, 4 están asignados a A, B, X, Y del gamepad, las teclas de flecha para direcciones, "s" para inicio y "x" para seleccionar. Puede usar un editor estándar más la consola o algunos IDE integrados como Micosoft Visual Studio Code o Jetbrain PyCharm para hacer el desarrollo en su PC.

Si usa la matriz y la Raspberry Pi, debe definir:

PI = Verdadero

Para copiar el código a la Raspberry Pi, puede usar el comando scp (Windows WinSCP). Abra una ventana de consola, cambie a la carpeta que contiene los archivos Github y llame

scp games_pi_only [email protected]: / home / pi

scp *.bmp [email protected]: / home / pi

luego conéctese al Pi a través de ssh (los usuarios de Windows pueden usar Putty):

ssh [email protected]

después de iniciar sesión correctamente, puede iniciar el código de Python llamando a:

sudo python3 games_pi_only.py

Si el código se ejecuta correctamente, puede habilitar el inicio automático llamando a:

sudo nano /etc/rc.local

y agregue la siguiente línea antes de salir 0:

/ usr / bin / nice -n -20 python3 /home/pi/games_pi_only.py &

Guardar (Ctrl + O) y salir (Ctrl + X)

Paso 10: Prueba final y revestimiento

Prueba final y revestimiento
Prueba final y revestimiento
Prueba final y revestimiento
Prueba final y revestimiento
Prueba final y revestimiento
Prueba final y revestimiento

Antes de pegar la chapa en la parte superior del frente, se debe probar la matriz para asegurarse de que todos los LED estén funcionando. Es mucho más fácil arreglar algo antes de pegar la chapa.

La chapa de madera utilizada es un papel de chapa de arce especial llamado Microwood, que se cubre por una cara con papel y tiene un grosor de 0,1 mm. El lado del papel se puede pegar directamente sobre el mdf usando pegamento de papel estándar sin agua.

Paso 11: el resultado

El resultado
El resultado
El resultado
El resultado

¡Diviértete y disfruta del juego!

Concurso Raspberry Pi 2020
Concurso Raspberry Pi 2020
Concurso Raspberry Pi 2020
Concurso Raspberry Pi 2020

Gran Premio en el Concurso Raspberry Pi 2020

Recomendado: