Taula de continguts:

Pantalla de jocs LED de fusta amb tecnologia Raspberry Pi Zero: 11 passos (amb imatges)
Pantalla de jocs LED de fusta amb tecnologia Raspberry Pi Zero: 11 passos (amb imatges)

Vídeo: Pantalla de jocs LED de fusta amb tecnologia Raspberry Pi Zero: 11 passos (amb imatges)

Vídeo: Pantalla de jocs LED de fusta amb tecnologia Raspberry Pi Zero: 11 passos (amb imatges)
Vídeo: CS50 2015 – 10-я неделя 2024, De novembre
Anonim
Pantalla de jocs LED de fusta amb tecnologia Raspberry Pi Zero
Pantalla de jocs LED de fusta amb tecnologia Raspberry Pi Zero
Pantalla de jocs LED de fusta amb tecnologia Raspberry Pi Zero
Pantalla de jocs LED de fusta amb tecnologia Raspberry Pi Zero
Pantalla de jocs LED de fusta amb tecnologia Raspberry Pi Zero
Pantalla de jocs LED de fusta amb tecnologia Raspberry Pi Zero

Aquest projecte realitza una pantalla LED basada en WS2812 de 20x10 píxels amb una mida de 78x35 cm que es pot instal·lar fàcilment a la sala per jugar a jocs retro. La primera versió d’aquesta matriu es va construir el 2016 i va ser reconstruïda per moltes altres persones. Aquesta experiència es va utilitzar per resumir totes les millores per construir una nova versió de la matriu i portar-la ara a instructables.com. Les principals novetats són l’actualització d’un Raspberry Pi Zero en lloc d’utilitzar i Pi A més un Arduino i substituir l’anterior controlador gran per un gamepad Bluetooth. També es va millorar el programari, inclòs el simulador, que us permet desenvolupar el codi en un ordinador encara que no tingueu accés al maquinari de la matriu.

Una característica especial d’aquesta matriu de LED és la xapa de fusta especial, que s’utilitza per tapar i amagar els LED quan els LED estan desactivats. Això augmenta molt el factor d'acceptació de persones que no són tecnològiques;-) Per descomptat, si aquesta xapa especial no està disponible al vostre país, també podeu utilitzar algun altre material difús com l'acrílic per amagar els LED. També es preveu proporcionar algunes parts clau en el futur per facilitar la reconstrucció del projecte.

Subministraments:

  • Raspberry Pi Zero W (amb alguna adaptació, tots els altres models també funcionaran)
  • 200 LED / s (ratlles LED WS2812B amb 30 LED / m)
  • Pantalla de matriu LED 4x SPI amb MAX7219
  • Cables
  • Gamepad Bluetooth (per exemple, aquest de Pimoroni)
  • Alimentació 5V amb almenys 5A
  • Fusta de MDF per tall per làser
  • Xapa de fusta o placa acrílica de difusió
  • Condensador, resistència
  • Uns cargols

Pas 1: tall per làser

Tall per làser
Tall per làser
Tall per làser
Tall per làser
Tall per làser
Tall per làser

L'estructura base de la matriu està feta de fusta de MDF amb un gruix de 3 mm i tallada per un tallador làser. Si no teniu un tallador làser, podeu utilitzar un servei en línia com ponoko.com o formulor.de o contactar amb el següent fablab / makerspace del vostre entorn. També és possible utilitzar cartró o altres materials més lleugers, però els fitxers adjunts tenen un disseny de 3 mm de gruix, de manera que els materials més prims o gruixuts necessiten un redisseny dels fitxers. El disseny es va fer a Fusion 360. La majoria de les peces es mantenen juntes només lliscant-les al seu lloc, només algunes de les parts, com ara les vores exteriors, s’han d’enganxar utilitzant cola de fusta. Assegureu-vos que la matriu funcioni completament abans d’aplicar cola. També s’ha d’enganxar la xapa de fusta, però aquest és l’últim pas després de garantir que tot funcioni.

Al costat dret (inferior) del pla posterior, hi ha un segment retallat per assegurar els components electrònics a la matriu i continuar tenint accés a aquests components quan s’enganxa la xapa.

Pas 2: instal·leu LEDs

Instal·leu LEDs
Instal·leu LEDs
Instal·leu LEDs
Instal·leu LEDs
Instal·leu LEDs
Instal·leu LEDs

Les ratlles LED són ratlles estàndard de 30 LED / m WS2812, que estan disponibles a Amazon, eBay o altres botigues en línia de tot el món. Normalment, aquesta és també la franja LED adreçable més barata disponible. Si voleu utilitzar altres LEDs, heu d'assegurar-vos que la distància de 30 LED / m s'ajusti al patró de la matriu. Els segments tallats amb laseres tenen petites zones retallades per adaptar-se a l’amplada del LED de 10 cm. Aquestes ratlles LED tenen cinta de doble cara a la part posterior, de manera que podeu enganxar-les directament al MDF després d’un posicionament precís. Comproveu l'orientació correcta de cada franja abans d'utilitzar la cinta (direcció DIN-DOUT).

El patró de cablejat és un zig-zag, de manera que al final només hi ha un pin d’entrada a la matriu i la longitud del cable és el més curta possible. Per distribuir adequadament la potència i reduir el cabelatge a la part superior de la matriu, cada banda LED està connectada a 5V i GND a la part inferior de la matriu. Podeu utilitzar cables simples o prototipar PCB per distribuir la línia 5V i GND.

Pas 3: Muntatge

muntatge
muntatge
muntatge
muntatge
muntatge
muntatge

La vista d'explosió ajuda a identificar les peces correctes per al muntatge. Només heu de seguir les imatges d’instal·lació pas a pas. El pla posterior té estructures transversals per subjectar les parets laterals llargues i algunes de les parets curtes. Si teniu problemes per instal·lar les peces, utilitzeu paper de sorra per solucionar-les.

Pas 4: soldar

Soldadura
Soldadura
Soldadura
Soldadura

Hi ha diferents maneres de soldar les línies elèctriques per a les diferents ratlles juntes. Podeu utilitzar cables individuals o algun tipus de rail comú de coure per soldar els diferents cables. En aquest cas, s’utilitzaven peces de prototipus de PCB per guiar els rails d’alimentació cap a les ratlles. Les ratlles WS2812B ja tenen cables d’alimentació separats que podeu utilitzar per connectar el carril d’alimentació a la primera entrada de banda (costat esquerre de la imatge).

Pas 5: instal·leu la pantalla SPI

Instal·leu la pantalla SPI
Instal·leu la pantalla SPI

Per mostrar les puntuacions i el text del joc, s'utilitza una pantalla de matriu LED basada en el controlador LED MAX7219. Està connectat mitjançant SPI (Serial Peripheral Interface) al Raspberry Pi. Quatre pantalles de 8x8 es combinen amb una pantalla de matriu de punts de 32x8 píxels. Podeu comprar aquestes pantalles de 8x8 píxels per exemple, a eBay, també hi ha pantalles combinades de 32x8 píxels disponibles. També teniu diferents opcions de color; en aquest cas s’utilitzaven pantalles vermelles. Com que SPI funciona com un registre de desplaçament, les pantalles es connecten en sèrie connectant dades de la primera matriu a les dades de la segona i així successivament a partir del costat dret de la pantalla.

Aquesta pantalla només es pot llegir des de fora, si es col·loca directament darrere de la capa de xapa. Si no, només hi ha un borró vermell visible. Per tant, heu de muntar-lo a la part superior del segment de tall del pla posterior amb una distància de 30 mm entre la superfície del pla posterior i la superfície de la matriu. He utilitzat algunes peces i cargols de fusta per adaptar els 19 mm que falten entre el pla posterior i els PCB, però també podeu fer qualsevol tipus de separadors externs.

El cablejat de la pantalla es mostra al pas 7.

Pas 6: instal·leu Pi

Instal·leu Pi
Instal·leu Pi
Instal·leu Pi
Instal·leu Pi
Instal·leu Pi
Instal·leu Pi

En aquesta instal·lació, s’utilitza un Raspberry Pi Zero. També podeu utilitzar qualsevol altre model de Raspberry Pi, però els més nous amb WiFi i Bluetooth integrats us permeten connectar-vos fàcilment a jocs de jocs sense fils i simplificar la programació. Podeu assegurar el Pi utilitzant almenys dos cargols i espaiadors petits per cargolar-lo al pla posterior.

Per al Raspberry Pi Zero W, s’utilitzen els pins següents:

  • PIN 2: 5V
  • PIN 6: GND
  • GPIO18 -> ratlles LED
  • GPIO11: SPI CLK -> MAX7219 matriu CLK
  • GPIO10: SPI MOSI -> MAX7219 matriu DIN
  • GPIO8: SPI CS -> MAX7219 matriu CS

Algunes persones van informar de problemes amb l’ús de GPIO18 per als LED. Si us plau, utilitzeu GPIO21 en aquest cas. Si és així, heu de canviar el codi de la línia 21 per pixel_pin = board. D21.

La tira WS2812B s'utilitza aquí fora de les seves especificacions. Normalment requereix un nivell lògic de 5V a DIN, però el Pi només proporciona 3, 3V. Fins i tot si això funciona en la majoria dels casos, hauríeu de provar-ho amb la tira. Si no funciona, podeu afegir un convertidor de nivell com un 74HCT245 o qualsevol altre convertidor de 3V3 a 5V entre el Pi i la tira.

Pas 7: cablejat i font d'alimentació

Cablejat i font d'alimentació
Cablejat i font d'alimentació
Cablejat i font d'alimentació
Cablejat i font d'alimentació
Cablejat i font d'alimentació
Cablejat i font d'alimentació

El cablejat es realitza segons l'esquema de cablejat. La font d'alimentació és una font de 5 V CC.

Per facilitar l’encesa / apagada de la matriu, s’afegeix un commutador entre l’endoll i els circuits de la matriu. Tot i això, com que al Raspberry Pi no li agrada l’apagada dura, hi ha una opció d’apagat al programari per apagar el Pi de manera segura mitjançant el Gamepad abans de canviar la matriu.

El pin DIN de tira LED es connecta mitjançant una resistència al Pi, també s’afegeix un gran condensador (4700uF) per emmagatzemar la font d’alimentació. Consulteu la Guia d'Adafruit Über per Neopixels per obtenir més informació.

Els LED consumeixen un corrent màxim de 60mA per LED, de manera que és possible un corrent màxim de 200x60mA = 12A !!! Si reduïu la brillantor i no utilitzeu tots els LEDs en blanc complet, aquest és més un valor teòric, però depèn del codi al qual s’assoleixi el corrent màxim. Per tant, és molt important seleccionar una font d’alimentació prou gran. Per a la majoria de les aplicacions hauria de ser suficient una font d'alimentació amb 5V / 5A (25W).

Per fixar el fons posterior amb la pantalla Pi i Matrix, es poden utilitzar algunes petites peces de fusta per fregar-les a les vores i també utilitzar cargols per mantenir el fons posterior al seu lloc.

Pas 8: configureu Pi

Configura Pi
Configura Pi

1. Descarregueu la imatge més recent de Raspbian lite des de raspberrypi.org

2. Copieu-lo a la targeta SD i n'hi ha prou amb 8 GB. Podeu utilitzar per exemple gravador per fer això.

3. Abans d’arrencar el Pi amb la targeta SD, prepareu l’accés WIFI i ssh

4. Introduïu la targeta SD a qualsevol ordinador, ja que hauria de ser accessible una carpeta d'arrencada

5. Copieu les línies següents al fitxer wpa_supplicant.conf (genereu-lo si no existeix) i canvieu els paràmetres en funció de la vostra Wifi i la vostra regió

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

country = EUA update_config = 1 xarxa = {ssid = "Wifi domèstic" psk = "mypassword" key_mgmt = WPA-PSK}

6. Afegiu un fitxer buit anomenat ssh (sense cap extensió) per arrencar per habilitar l'accés a ssh

7. Ara introduïu la targeta SD al Raspberry Pi i arrenceu-la. Comproveu el vostre encaminador wifi per obtenir l'adreça IP del Pi

8. inicieu una connexió SSH al Pi mitjançant un terminal (Linux, Mac) o, per exemple, Pasta un Windows. Inseriu la IP del Pi en lloc de 192.168.x.y

ssh [email protected]

9. Actualitzeu el Pi (triga un temps!)

sudo apt-get update

sudo apt-get upgrade

10. Instal·leu pip i eina de configuració

sudo apt-get install python3-pip

sudo pip3 install --upgrade setuptools

11. Instal·leu el controlador Neopixel, ws281x lib, pygame i libsdl

sudo pip3 instal·la rpi_ws281x adafruit-circuitpython-neopixel

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

12. Activeu SPI trucant a raps-config, aneu a 5 Opcions d'interfície / P4 SPI / Activa

sudo raspi-config

13. Afegiu el Gamepad Bluetooth

sudo bluetoothctl

[bluetooth] # agent activat [bluetooth] # aparellable a [bluetooth] # escaneig activat [bluetooth] # pair aa: bb: cc: dd: ee: ff [bluetooth] # trust aa: bb: cc: dd: ee: ff [bluetooth] # connect aa: bb: cc: dd: ee: ff [bluetooth] # quit

on aa: bb: cc: dd: ee: ff és el vestit MAC del vostre gamepad bluetooth. Aquesta adreça s'hauria de mostrar després de trucar a l'ordre "scan on". Assegureu-vos que el controlador Bluetooth estigui llest per combinar-lo. Consulteu el manual del controlador per fer-ho.

14. Ara podeu connectar-vos amb Pi mitjançant la contrasenya per defecte és raspberry (els usuaris de Windows poden utilitzar Putty):

ssh [email protected]

Pas 9: codi, prova i simulador de Python

Codi, prova i simulador de Python
Codi, prova i simulador de Python
Codi, prova i simulador de Python
Codi, prova i simulador de Python
Codi, prova i simulador de Python
Codi, prova i simulador de Python

El codi està disponible a Github. Games_pi_only.py i tots els fitxers BMP són necessaris.

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

El codi té una opció per executar-se en mode de simulació fora del Pi mitjançant pygame per simular la matriu. Això és molt útil per desenvolupar noves funcions sense tenir accés directe al maquinari de la matriu. També la depuració és molt més fàcil. Heu d’establir la constant PI per activar el mode de simulació (Línia 15):

PI = Fals

En aquest mode de simulació, també s’utilitza el teclat en lloc del controlador de jocs Bluetooth. Els botons 1, 2, 3, 4 s’assignen a A, B, X, Y del gamepad, les tecles de fletxa per indicar-los, “s” per començar i “x” per seleccionar. Podeu utilitzar un editor estàndard més la consola o alguns IDE integrats com Micosoft Visual Studio Code o Jetbrain PyCharm per fer el desenvolupament al vostre PC.

Si utilitzeu la matriu i el Raspberry Pi, heu de definir:

PI = cert

Per copiar el codi al Raspberry Pi, podeu utilitzar l'ordre scp (Windows WinSCP). Obriu una finestra de consola, canvieu a la carpeta que conté els fitxers Github i truqueu

scp games_pi_only [email protected]: / home / pi

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

a continuació, connecteu-vos al Pi mitjançant ssh (els usuaris de Windows poden utilitzar Putty):

ssh [email protected]

després d'iniciar la sessió amb èxit, podeu iniciar el codi python trucant a:

sudo python3 games_pi_only.py

Si el codi funciona correctament, podeu activar l’inici automàtic trucant a:

sudo nano /etc/rc.local

i afegiu la línia següent abans de la sortida 0:

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

Desa (Ctrl + O) i Surt (Ctrl + X)

Pas 10: prova final i xapa

Prova final i xapa
Prova final i xapa
Prova final i xapa
Prova final i xapa
Prova final i xapa
Prova final i xapa

Abans que la xapa estigui enganxada a la part superior de la part frontal, s’ha de provar la matriu per assegurar-se que tots els LEDs funcionen. És molt més fàcil arreglar alguna cosa abans que s’enganxi la xapa.

La xapa de fusta usada és un paper especial de xapa d’auró anomenat Microwood, que té una cara coberta de paper i té un gruix de 0,1 mm. La cara del paper es pot enganxar directament sobre el MDF utilitzant cola de paper estàndard sense aigua.

Pas 11: el resultat

El resultat
El resultat
El resultat
El resultat

Diverteix-te i gaudeix del joc!

Concurs de gerds Pi 2020
Concurs de gerds Pi 2020
Concurs de gerds Pi 2020
Concurs de gerds Pi 2020

Gran Premi al Concurs Raspberry Pi 2020

Recomanat: