Sommario:
- Passaggio 1: taglio laser
- Passaggio 2: installare i LED
- Passaggio 3: assemblaggio
- Passaggio 4: saldatura
- Passaggio 5: installare il display SPI
- Passaggio 6: installa Pi
- Passaggio 7: cablaggio e alimentazione
- Passaggio 8: configurazione Pi
- Passaggio 9: codice Python, test e simulatore
- Passaggio 10: test finale e rivestimento
- Passaggio 11: il risultato
Video: Display da gioco a LED in legno alimentato da Raspberry Pi Zero: 11 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
Questo progetto realizza un display LED 20x10 pixel basato su WS2812 con una dimensione di 78x35 cm che può essere facilmente installato in soggiorno per giocare a giochi retrò. La prima versione di questa matrice è stata costruita nel 2016 e ricostruita da molte altre persone. Questa esperienza è stata utilizzata per riassumere tutti i miglioramenti per creare una nuova versione della matrice e portarla ora su instructables.com. Le principali nuove funzionalità sono l'aggiornamento a un Raspberry Pi Zero utilizzando invece e Pi A più un Arduino e sostituendo il precedente controller di grandi dimensioni con un gamepad Bluetooth. Anche il software è stato migliorato compreso il simulatore, che permette di sviluppare il codice su un computer anche se non si ha accesso all'hardware della matrice.
Una particolarità di questa matrice di LED è la speciale impiallacciatura di legno, che viene utilizzata per coprire i LED e per nasconderli, quando i LED sono disabilitati. Ciò aumenta notevolmente il fattore di accettazione delle persone non tecnologiche;-) Naturalmente, se questa speciale impiallacciatura non è disponibile nel tuo paese, puoi anche utilizzare un altro materiale diffuso come l'acrilico per nascondere i LED. Si prevede inoltre di fornire alcune parti chiave in futuro per facilitare la ricostruzione del progetto.
Forniture:
- Raspberry Pi Zero W (con qualche adattamento, funzioneranno anche tutti gli altri modelli)
- 200 LED/s (strisce LED WS2812B con 30 LED/m)
- Display a matrice LED 4x SPI con MAX7219
- Cavi
- Gamepad Bluetooth (ad esempio questo di Pimoroni)
- Alimentazione 5V con almeno 5A
- Legno MDF per taglio laser
- Impiallacciatura di legno o piastra acrilica a diffusione
- Condensatore, resistore
- Alcune viti
Passaggio 1: taglio laser
La struttura di base della matrice è realizzata in legno MDF con uno spessore di 3mm e tagliata da un laser cutter. Se non possiedi un laser cutter, puoi utilizzare un servizio online come ponoko.com o formulor.de o contattare il prossimo fablab/makerspace nel tuo ambiente. È anche possibile utilizzare cartone o altri materiali più leggeri, ma i file allegati sono progettati per uno spessore di 3 mm, quindi i materiali più sottili o più spessi necessitano di una riprogettazione dei file. La progettazione è stata eseguita in Fusion 360. La maggior parte delle parti si tiene insieme semplicemente facendole scorrere in posizione, solo alcune delle parti come i bordi esterni dovrebbero essere incollate insieme usando la colla per legno. Assicurati che la tua matrice funzioni completamente prima di applicare la colla! Anche l'impiallacciatura di legno deve essere incollata, ma questo è l'ultimo passaggio dopo essersi assicurati che tutto funzioni.
Sul lato destro (inferiore) del backplane, c'è un segmento ritagliato per fissare i componenti elettronici alla matrice e avere ancora accesso a questi componenti quando l'impiallacciatura è incollata.
Passaggio 2: installare i LED
Le strisce LED sono strisce standard 30 LED/m WS2812, disponibili su Amazon, eBay o altri negozi online in tutto il mondo. Questa è normalmente anche la striscia LED indirizzabile più economica disponibile. Se si desidera utilizzare altri LED, è necessario assicurarsi che la distanza di 30 LED/m si adatti allo schema della matrice. I segmenti tagliati al laser hanno piccole zone ritagliate per adattarsi alla larghezza del LED di 10 cm. Queste strisce LED hanno un nastro biadesivo sul retro, quindi puoi semplicemente incollarle direttamente sull'MDF dopo un posizionamento preciso. Controllare il corretto orientamento di ogni striscia prima di utilizzare il nastro (direzione DIN-DOUT).
Lo schema di cablaggio è a zig-zag, quindi alla fine c'è solo un pin di ingresso alla matrice e le lunghezze dei cavi sono le più corte possibili. Per distribuire correttamente la potenza e ridurre il cablaggio nella parte superiore della matrice, ogni striscia LED è collegata a 5V e GND nella parte inferiore della matrice. È possibile utilizzare cavi singoli o PCB di prototipazione per distribuire la linea 5V e GND.
Passaggio 3: assemblaggio
La vista esplosione aiuta a identificare i pezzi corretti per l'assieme. Basta seguire le immagini di installazione passo dopo passo. Il backplane ha strutture trasversali per sostenere le pareti laterali lunghe e alcune delle pareti corte. Se hai problemi a installare i pezzi, usa la carta vetrata per ripararlo.
Passaggio 4: saldatura
Esistono diversi modi per saldare insieme le linee elettriche per le diverse strisce. In entrambi i casi è possibile utilizzare fili singoli o una sorta di common rail in rame per saldare i diversi fili. In questo caso, sono stati utilizzati pezzi di PCB prototipo per guidare i binari di alimentazione verso le strisce. Le strisce WS2812B hanno già cavi di alimentazione separati che è possibile utilizzare per collegare la barra di alimentazione all'ingresso della prima striscia (lato sinistro nell'immagine).
Passaggio 5: installare il display SPI
Per visualizzare i punteggi e il testo del gioco, viene utilizzato un display a matrice di LED basato sul driver LED MAX7219. È collegato tramite SPI (Serial Peripheral Interface) al Raspberry Pi. Quattro display 8x8 sono combinati in un display a matrice di punti 32x8 pixel. Puoi acquistare questo display 8x8 pixel per es. su eBay sono disponibili anche display combinati 32x8 pixel. Inoltre hai diverse opzioni di colore; in questo caso sono stati utilizzati display rossi. Poiché SPI funziona come un registro a scorrimento, i display sono collegati tra loro in serie collegando i dati della prima matrice ai dati della seconda e così via partendo dal lato destro del display.
Questo display è leggibile solo dall'esterno, se è posizionato direttamente dietro lo strato di impiallacciatura. In caso contrario, è visibile solo una sfocatura rossa. Quindi devi montarlo sopra il segmento ritagliato del backplane con una distanza di 30 mm tra la superficie del backplane e la superficie della matrice. Ho usato alcuni pezzi di legno e viti avanzati per adattare i 19 mm mancanti tra il backplane e i PCB, ma puoi anche qualsiasi tipo di distanziale esterno.
Il cablaggio del display è mostrato al punto 7.
Passaggio 6: installa Pi
In questa installazione viene utilizzato un Raspberry Pi Zero. Puoi anche utilizzare qualsiasi altro modello Raspberry Pi, ma quelli più recenti con WiFi e Bluetooth integrati ti consentono di connetterti facilmente a gamepad wireless e semplificare la programmazione. Puoi fissare il Pi utilizzando almeno due viti e piccoli distanziali per avvitarlo al backplane.
Per il Raspberry Pi Zero W, vengono utilizzati i seguenti pin:
- PIN 2: 5V
- PIN 6: GND
- GPIO18 -> Strisce LED
- GPIO11: SPI CLK -> MAX7219 matrice CLK
- GPIO10: SPI MOSI -> MAX7219 matrice DIN
- GPIO8: CS SPI -> CS matrice MAX7219
Alcune persone hanno segnalato problemi con l'utilizzo di GPIO18 per i LED. Si prega di utilizzare GPIO21 in questo caso. Se è così, devi cambiare il codice nella riga 21 in pixel_pin = board. D21.
La striscia WS2812B viene utilizzata qui al di fuori delle sue specifiche. Normalmente richiede un livello logico 5V su DIN, ma il Pi fornisce solo 3, 3V. Anche se funziona nella maggior parte dei casi, dovresti testarlo con la tua striscia. Se non funziona, puoi aggiungere un convertitore di livello come un 74HCT245 o qualsiasi altro convertitore da 3V3 a 5V tra il Pi e la striscia.
Passaggio 7: cablaggio e alimentazione
Il cablaggio viene eseguito secondo lo schema di cablaggio. L'alimentatore è a 5 V CC.
Per una facile accensione/spegnimento della matrice, viene aggiunto un interruttore tra la spina di alimentazione e i circuiti della matrice. Tuttavia, poiché al Raspberry Pi non piace lo spegnimento forzato, c'è un'opzione di spegnimento nel software per spegnere in sicurezza il Pi tramite Gamepad prima di spegnere la matrice.
Il pin DIN della striscia LED è collegato tramite un resistore al Pi, inoltre viene aggiunto un grande condensatore (4700uF) per tamponare l'alimentazione. Si prega di consultare l'Überguide di Adafruit per Neopixels per maggiori dettagli.
I LED consumano una corrente massima di 60 mA per LED, quindi è possibile una corrente massima di 200x60 mA = 12 A!!! Riducendo la luminosità e non utilizzando tutti i LED completamente bianchi, questo è più un valore teorico, ma dipende dal codice quale corrente massima viene raggiunta. Quindi selezionare un alimentatore sufficientemente grande è molto importante. Per la maggior parte delle applicazioni dovrebbe essere sufficiente un alimentatore con 5V/5A (25W).
Per fissare il backplane con il display Pi e Matrix, è possibile utilizzare alcuni piccoli pezzi di legno per fissarli ai bordi e utilizzare anche viti per tenere in posizione il backplane.
Passaggio 8: configurazione Pi
1. Scarica l'ultima immagine Raspbian lite da raspberrypi.org
2. Copialo su una scheda SD, 8 GB sono sufficienti. Puoi usare ad es. incisore per farlo.
3. Prima di avviare il Pi con la scheda SD, preparare l'accesso WIFI e ssh
4. Inserisci la scheda SD su qualsiasi computer, una cartella di avvio dovrebbe essere accessibile
5. Copia le seguenti righe nel file wpa_supplicant.conf (generalo se non esiste) e modifica i parametri a seconda del tuo Wifi e della tua regione
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
country=US update_config=1 rete={ ssid="WiFi domestico" psk="mypassword" key_mgmt=WPA-PSK }
6. Aggiungi un file vuoto chiamato ssh (senza alcuna estensione) all'avvio per abilitare l'accesso ssh
7. Ora inserisci la scheda SD nel Raspberry Pi e avvialo. Controlla il tuo router wifi per ottenere l'indirizzo IP del Pi
8. avviare una connessione SSH al Pi utilizzando un terminale (Linux, Mac) o ad es. Stuccare un Windows. Inserisci l'IP del Pi invece di 192.168.x.y
9. Aggiorna il Pi (richiede del tempo!)
sudo apt-get update
sudo apt-get upgrade
10. Installa pip e strumento di configurazione
sudo apt-get install python3-pip
sudo pip3 install --upgrade setuptools
11. Installa il driver Neopixel, ws281x lib, pygame e libsdl
sudo pip3 install rpi_ws281x adafruit-circuitpython-neopixel
sudo pip3 install pygame sudo apt-get install libsdl1.2-dev sudo pip3 install --upgrade luma.led_matrix
12. Abilita SPI chiamando raps-config, vai a 5 Opzioni di interfaccia / SPI P4 / Abilita
sudo raspi-config
13. Aggiungi gamepad Bluetooth
sudo bluetoothctl
[bluetooth]# agent su [bluetooth]# pairable su [bluetooth]# scan su [bluetooth]# pair aa:bb:cc:dd:ee:ff [bluetooth]# trust aa:bb:cc:dd:ee:ff [bluetooth]# connetti aa:bb:cc:dd:ee:ff [bluetooth]# esci
dove aa:bb:cc:dd:ee:ff è il MAC dress del tuo gamepad bluetooth. Questo indirizzo dovrebbe essere mostrato dopo aver chiamato il comando "scan on". Assicurati che il tuo controller Bluetooth sia pronto per l'accoppiamento, controlla il manuale del controller come farlo.
14. Ora puoi connetterti a te Pi tramite, la password predefinita è lampone (gli utenti Windows possono usare Putty):
Passaggio 9: codice Python, test e simulatore
Il codice è disponibile su Github. games_pi_only.py e tutti i file bmp sono necessari.
git clone href= https://github.com/makeTVee/ledmatrix/tree/master/python/pi_only
Il codice ha un'opzione per essere eseguito in modalità simulazione al di fuori del Pi usando pygame per simulare la matrice. Questo è molto utile per sviluppare nuove funzionalità senza avere accesso diretto all'hardware della matrice. Anche il debug è molto più semplice. Devi impostare la costante PI per attivare la modalità di simulazione (riga 15):
PI=Falso
In questa modalità di simulazione, viene utilizzata anche la tastiera al posto del gamepad Bluetooth. I pulsanti 1, 2, 3, 4 sono mappati su A, B, X, Y del gamepad, i tasti freccia per le direzioni, "s" per l'inizio e "x" per la selezione. Puoi utilizzare un editor standard più la console o alcuni IDE integrati come Micosoft Visual Studio Code o Jetbrain PyCharm per eseguire lo sviluppo sul tuo PC.
Se usi la matrice e il Raspberry Pi, devi definire:
PI=Vero
Per copiare il codice sul Raspberry Pi, puoi utilizzare il comando scp (Windows WinSCP). Apri una finestra della console, passa alla cartella che contiene i file Github e chiama
scp games_pi_only [email protected]:/home/pi
scp *.bmp [email protected]:/home/pi
quindi connettiti al Pi tramite ssh (gli utenti Windows possono usare Putty):
dopo aver effettuato l'accesso con successo, puoi avviare il codice python chiamando:
sudo python3 games_pi_only.py
Se il codice viene eseguito correttamente, puoi abilitare l'avvio automatico chiamando:
sudo nano /etc/rc.local
e aggiungi la seguente riga prima dell'uscita 0:
/usr/bin/nice -n -20 python3 /home/pi/games_pi_only.py &
Salva (Ctrl+O) ed Esci (Ctrl+X)
Passaggio 10: test finale e rivestimento
Prima che l'impiallacciatura sia incollata sulla parte superiore della parte anteriore, la matrice deve essere testata per garantire che tutti i LED funzionino. È molto più facile riparare qualcosa prima che l'impiallacciatura venga incollata.
L'impiallacciatura di legno utilizzata è una carta speciale per impiallacciatura di acero chiamata Microwood, che è rivestita di carta su un lato e ha uno spessore di 0,1 mm. Il lato in carta può essere incollato direttamente sull'mdf utilizzando la normale colla per carta senza acqua.
Passaggio 11: il risultato
Divertiti e goditi il gioco!
Gran Premio al Concorso Raspberry Pi 2020
Consigliato:
Altoparlante Bluetooth alimentato a batteria fai-da-te // Come costruire - Lavorazione del legno: 14 passaggi (con immagini)
Altoparlante Bluetooth alimentato a batteria fai-da-te // Come costruire - Lavorazione del legno: ho costruito questo altoparlante boombox Bluetooth ricaricabile, alimentato a batteria e portatile utilizzando il kit di altoparlanti Parts Express C-Note più la loro scheda amplificatore KAB (link a tutte le parti di seguito). Questa è stata la mia prima costruzione di altoparlanti e sono sinceramente stupito di quanto sia fantastico
Smettila! Gioco LED (alimentato da Arduino): 6 passaggi
Smettila! LED Game (powered by Arduino): questo progetto è stato ispirato da questo video di YouTube e dal Pendulum Challenge Kit (link interrotto. Prova questo.) da Makershed.com. È un gioco semplice composto da cinque luci a LED e un interruttore a pulsante. I LED lampeggiano in sequenza e la riproduzione
Come usare alcuni pezzi di legno per assemblarli in un simpatico e potente braccio robotico in legno: 10 passaggi
Come usare alcuni pezzi di legno per assemblare in un simpatico e potente braccio robotico in legno: Il nome del braccio robotico è WoodenArm. Sembra molto carino! Se vuoi maggiori dettagli su WoodenArm, fai riferimento a www.lewansoul.com Ora possiamo fare un'introduzione su WoodenArm, passiamoci sopra
Bruciatore alimentato tramite USB! Questo progetto può bruciare attraverso plastica/legno/carta (il progetto divertente deve anche essere un legno molto fine): 3 passaggi
Bruciatore alimentato tramite USB! Questo progetto può bruciare attraverso plastica/legno/carta (il progetto divertente deve anche essere un legno molto fine): NON FARLO UTILIZZANDO USB!!!! ho scoperto che può danneggiare il tuo computer da tutti i commenti. il mio computer va bene comunque Utilizzare un caricabatterie per telefono da 600 mA 5 V. ho usato questo e funziona bene e nulla può essere danneggiato se usi una spina di sicurezza per interrompere l'alimentazione
Display Light Box da una scatola di legno: 9 passaggi (con immagini)
Display Light Box da una scatola di legno: io e mia moglie abbiamo regalato a mia madre una scultura in vetro per Natale. Quando mia madre l'ha aperto, mio fratello ha detto "RadBear (beh, in realtà ha detto il mio nome) potrebbe costruirti una scatola luminosa!". Ha detto questo perché come collezionista di vetro ho