Innehållsförteckning:

Trä LED -spelskärm Driven av Raspberry Pi Zero: 11 steg (med bilder)
Trä LED -spelskärm Driven av Raspberry Pi Zero: 11 steg (med bilder)

Video: Trä LED -spelskärm Driven av Raspberry Pi Zero: 11 steg (med bilder)

Video: Trä LED -spelskärm Driven av Raspberry Pi Zero: 11 steg (med bilder)
Video: Тест каравана в -25° . Ночёвка зимой. Как не замёрзнуть? 2024, December
Anonim
Trä LED -spelskärm Drivs av Raspberry Pi Zero
Trä LED -spelskärm Drivs av Raspberry Pi Zero
Trä LED -spelskärm Drivs av Raspberry Pi Zero
Trä LED -spelskärm Drivs av Raspberry Pi Zero
Trä LED -spelskärm Drivs av Raspberry Pi Zero
Trä LED -spelskärm Drivs av Raspberry Pi Zero

Detta projekt förverkligar en 20x10 pixlar WS2812 -baserad LED -skärm med en storlek på 78x35 cm som enkelt kan installeras i vardagsrummet för att spela retrospel. Den första versionen av denna matris byggdes 2016 och byggdes om av många andra människor. Denna erfarenhet användes för att sammanfatta alla förbättringar för att bygga en ny version av matrisen och föra detta nu till instructables.com. De viktigaste nya funktionerna är uppdateringen till en Raspberry Pi Zero istället för att använda och Pi A plus en Arduino och ersätta den tidigare stora kontrollen med en Bluetooth -spelkontroll. Även mjukvaran förbättrades inklusive simulatorn, som låter dig utveckla koden på en dator även om du inte har tillgång till matrishårdvaran.

En speciell egenskap hos denna LED -matris är den speciella träfaner, som används för att täcka lysdioden och dölja dem när lysdioder är inaktiverade. Detta ökar starkt acceptansfaktorn för icke-tekniska människor;-) Naturligtvis, om denna speciella faner inte är tillgänglig i ditt land, kan du också använda något annat diffust material som akryl för att dölja lysdioderna. Det är också planerat att tillhandahålla några viktiga delar i framtiden för att göra det lättare att bygga om projektet.

Tillbehör:

  • Raspberry Pi Zero W (med viss anpassning fungerar alla andra modeller också)
  • 200 LED/s (WS2812B LED -ränder med 30 LED/m)
  • 4x SPI LED -matrisdisplay med MAX7219
  • Kablar
  • Bluetooth -spelkontroll (t.ex. detta från Pimoroni)
  • Strömförsörjning 5V med minst 5A
  • MDF -trä för laserskärning
  • Träfaner eller diffusionsplatta av akryl
  • Kondensator, motstånd
  • Några skruvar

Steg 1: Laserskärning

Laserskärning
Laserskärning
Laserskärning
Laserskärning
Laserskärning
Laserskärning

Matrisens basstruktur är gjord av MDF -trä med en tjocklek av 3 mm och skärs av en laserskärare. Om du inte äger en laserskärare kan du använda en onlinetjänst som ponoko.com eller formulor.de eller kontakta nästa fablab/makerspace i din miljö. Det är också möjligt att använda kartong eller andra lättare material men de bifogade filerna är konstruerade för 3 mm tjocklek, så tunnare eller tjockare material behöver en omdesign av filerna. Designen gjordes i Fusion 360. De flesta delarna håller ihop bara genom att skjuta dem på plats, bara några av delarna som de yttre kanterna ska limmas ihop med trälim. Se till att din matris fungerar helt innan du applicerar något lim! Även träfaner måste limas på, men detta är det sista steget efter att ha säkerställt att allt fungerar.

På den högra (nedre) sidan av bakplanet finns ett utklippt segment för att fästa de elektroniska komponenterna i matrisen och fortfarande ha tillgång till dessa komponenter när faner limmas på.

Steg 2: Installera lysdioder

Installera lysdioder
Installera lysdioder
Installera lysdioder
Installera lysdioder
Installera lysdioder
Installera lysdioder

LED -ränderna är standard 30 LED/m WS2812 -ränder, som finns på Amazon, eBay eller andra onlinebutiker över hela världen. Detta är normalt också den billigaste adresserbara LED -stripen som finns. Om du vill använda andra lysdioder måste du se till att 30 LED/m -avståndet passar till matrismönstret. De laserskurna segmenten har små utskurna områden för att passa LED -bredden på 10 cm. Dessa LED-ränder har dubbelsidig tejp på ryggen, så att du kan limma dem direkt på MDF efter exakt placering. Kontrollera att varje remsa är riktad innan du använder tejpen (DIN-DOUT-riktning).

Ledningsmönster är en sicksack så i slutet finns det bara en ingångsstift till matrisen och kabellängderna är så korta som möjligt. För att fördela kraften ordentligt och minska kablage överst på matrisen är varje LED -rand ansluten till 5V och GND i botten av matrisen. Du kan använda antingen enstaka ledningar eller prototyper för att distribuera 5V- och GND -linjen.

Steg 3: Montering

hopsättning
hopsättning
hopsättning
hopsättning
hopsättning
hopsättning

Explosionsvyn hjälper till att identifiera rätt delar för montering. Följ bara de steg-för-steg installationsbilderna. Bakplanet har korsstrukturer för att hålla de långa sidoväggarna och några av de korta väggarna. Om du har problem med att installera bitarna, använd sandpapper för att fixa det.

Steg 4: Lödning

Lödning
Lödning
Lödning
Lödning

Det finns olika sätt att löda där kraftledningar för de olika ränderna tillsammans. Antingen kan du använda enstaka trådar eller någon form av common rail av koppar för att löda de olika trådarna. I detta fall användes bitar av prototyp PCB för att styra kraftskenorna till ränderna. WS2812B -ränder har redan separata strömkablar som du kan använda för att ansluta kraftskenan till den första ingången (vänster sida på bilden).

Steg 5: Installera SPI Display

Installera SPI Display
Installera SPI Display

För att visa spelresultat och text används en LED -matrisdisplay baserad på LED -drivrutinen MAX7219. Den är ansluten via SPI (Serial Peripheral Interface) till Raspberry Pi. Fyra 8x8 -skärmar kombineras till en 32x8 pixel dotmatrisdisplay. Du kan köpa denna 8x8 pixel skärmar för t.ex. på eBay finns det också kombinerade 32x8 pixlar. Du har också olika färgalternativ; i detta fall användes röda displayer. Eftersom SPI fungerar som ett skiftregister, är displayerna anslutna i serie genom att ansluta data från den första matrisen till data i den andra och så vidare från höger sida av displayen.

Denna display kan bara läsas utifrån om den är placerad direkt bakom fanerlagret. Om inte, är det bara en röd suddighet som syns. Så du måste montera den ovanpå backplane-utskärningssegmentet med ett avstånd på 30 mm mellan bakplanets yta och matrisens yta. Jag har använt några rester av träbitar och skruvar för att anpassa de 19 mm som saknas mellan bakplanet och kretskortet, men du kan också välja vilken yttre distans som helst.

Kabeldragning av displayen visas i steg 7.

Steg 6: Installera Pi

Installera Pi
Installera Pi
Installera Pi
Installera Pi
Installera Pi
Installera Pi

I denna installation används en Raspberry Pi Zero. Du kan också använda alla andra Raspberry Pi -modeller, men nyare med integrerad WiFi och Bluetooth gör att du enkelt kan ansluta till trådlösa spelkontroller och förenkla programmeringen. Du kan säkra Pi genom att använda minst två skruvar och små distanser för att skruva fast den på bakplanet.

För Raspberry Pi Zero W används följande stift:

  • PIN 2: 5V
  • PIN 6: GND
  • GPIO18 -> LED -ränder
  • GPIO11: SPI CLK -> MAX7219 matrix CLK
  • GPIO10: SPI MOSI -> MAX7219 matris DIN
  • GPIO8: SPI CS -> MAX7219 matrix CS

Vissa rapporterade problem med att använda GPIO18 för lysdioderna. Använd GPIO21 i det här fallet. Om så är fallet måste du ändra koden på rad 21 till pixel_pin = board. D21.

WS2812B -remsan används här utanför dess specifikation. Normalt kräver det en 5V logisk nivå på DIN, men Pi ger bara 3, 3V. Även om detta fungerar i de flesta fall bör du testa detta med din remsa. Om det inte fungerar kan du lägga till en nivåomvandlare som en 74HCT245 eller någon annan 3V3 till 5V -omvandlare mellan Pi och remsan.

Steg 7: Kabeldragning och strömförsörjning

Kabeldragning och strömförsörjning
Kabeldragning och strömförsörjning
Kabeldragning och strömförsörjning
Kabeldragning och strömförsörjning
Kabeldragning och strömförsörjning
Kabeldragning och strömförsörjning

Kabeldragning görs enligt kopplingsschemat. Strömförsörjningen är en 5V likström.

För en enkel på/av -omkoppling av matrisen läggs en omkopplare till mellan strömkontakten och matrikkretsarna. Eftersom Raspberry Pi inte gillar hård avstängning finns det dock ett avstängningsalternativ i programvaran för att säkert stänga av Pi via Gamepad innan matrisen byts.

LED -remsan DIN -stift är ansluten via ett motstånd till Pi, även en stor kondensator (4700uF) läggs till för att buffra strömförsörjningen. Kolla in Adafruit Überguide för Neopixels för mer information.

Lysdioder förbrukar en maximal ström på 60mA per LED, så en maximal ström på 200x60mA = 12A är möjlig !!! Genom att minska ljusstyrkan och inte använda alla lysdioder i helvitt är detta mer ett teoretiskt värde, men det beror på koden vilken maximal ström som uppnås. Så att välja en tillräckligt stor strömförsörjning är mycket viktigt. För de flesta applikationer bör en strömförsörjning med 5V/5A (25W) vara tillräcklig.

För att fixera bakplanet med Pi och Matrix -displayen kan några små träbitar användas för att skruva dem i kanterna och även använda skruvar för att hålla bakplanet på plats.

Steg 8: Konfigurera Pi

Konfigurera Pi
Konfigurera Pi

1. Ladda ner den senaste Raspbian lite -bilden från raspberrypi.org

2. Kopiera den till och SD -kort, 8 GB räcker. Du kan använda t.ex. etsare för att göra detta.

3. Innan du startar Pi med SD -kortet, förbered WIFI och ssh -åtkomst

4. Sätt i SD -kortet i vilken dator som helst, en startmapp ska vara tillgänglig

5. Kopiera följande rader till filen wpa_supplicant.conf (generera den om den inte finns) och ändra parametrarna beroende på din Wifi och region

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

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

6. Lägg till en tom fil som heter ssh (utan tillägg) för att starta för att aktivera ssh -åtkomst

7. Sätt nu in SD -kortet i Raspberry Pi och starta det. Kontrollera din wifi -router för att få Pi: ns IP -adress

8. starta en SSH -anslutning till Pi med hjälp av en terminal (Linux, Mac) eller t.ex. Spackla ett Windows. Sätt in IP: n för Pi istället för 192.168.x.y

ssh [email protected]

9. Uppdatera Pi (tar lite tid!)

sudo apt-get uppdatering

sudo apt-get uppgradering

10. Installera pip och installationsverktyg

sudo apt-get install python3-pip

sudo pip3 install -uppgradera setuptools

11. Installera Neopixel -drivrutinen, ws281x lib, pygame och libsdl

sudo pip3 installera rpi_ws281x adafruit-circuitpython-neopixel

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

12. Aktivera SPI genom att anropa raps-config, navigera till 5 gränssnittsalternativ / P4 SPI / Aktivera

sudo raspi-config

13. Lägg till Bluetooth -spelkontroll

sudo bluetoothctl

[bluetooth]# agent på [bluetooth]# parbar på [bluetooth]# skanning på [bluetooth]# par aa: bb: cc: dd: ee: ff [bluetooth]# trust aa: bb: cc: dd: ee: ff [bluetooth]# connect aa: bb: cc: dd: ee: ff [bluetooth]# avsluta

där aa: bb: cc: dd: ee: ff är MAC -klänningen på din bluetooth gamepad. Den här adressen ska visas efter att du har ringt kommandot "scan on". Se till att din Bluetooth -kontroller är redo att para ihop, se handboken för kontrollen hur du gör detta.

14. Du kan nu ansluta till dig Pi, standardlösenordet är hallon (Windows -användare kan använda kitt):

ssh [email protected]

Steg 9: Python -kod, test och simulator

Python -kod, test och simulator
Python -kod, test och simulator
Python -kod, test och simulator
Python -kod, test och simulator
Python -kod, test och simulator
Python -kod, test och simulator

Koden är tillgänglig på Github. games_pi_only.py och alla bmp -filer behövs.

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

Koden har ett alternativ att köra i simuleringsläge utanför Pi med hjälp av pygame för att simulera matrisen. Detta är till stor hjälp för att utveckla nya funktioner utan att ha direktåtkomst till matrishårdvaran. Det är också mycket lättare att felsöka. Du måste ställa in PI -konstanten för att aktivera simuleringsläget (rad 15):

PI = falskt

I detta simuleringsläge används tangentbordet i stället för Bluetooth -spelkontrollen. Knapparna 1, 2, 3, 4 mappas till A, B, X, Y på spelkontrollen, piltangenter för vägbeskrivning, “s” för start och “x” för val. Du kan använda en standardredigerare plus konsolen eller några integrerade IDE som Micosoft Visual Studio Code eller Jetbrain PyCharm för att göra utvecklingen på din PC.

Om du använder matrisen och Raspberry Pi måste du definiera:

PI = Sant

För att kopiera koden till Raspberry Pi kan du använda kommandot scp (Windows WinSCP). Öppna ett konsolfönster, växla till mappen som innehåller Github -filerna och ring

scp games_pi_only [email protected]:/home/pi

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

anslut sedan till Pi via ssh (Windows -användare kan använda kitt):

ssh [email protected]

efter lyckad inloggning kan du starta pythonkoden genom att ringa:

sudo python3 games_pi_only.py

Om koden fungerar korrekt kan du aktivera autostart genom att ringa:

sudo nano /etc/rc.local

och lägg till följande rad före avfart 0:

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

Spara (Ctrl+O) och Avsluta (Ctrl+X)

Steg 10: Slutprov och faner

Slutprov och faner
Slutprov och faner
Slutprov och faner
Slutprov och faner
Slutprov och faner
Slutprov och faner

Innan faner är lim ovanpå fronten, bör matrisen testas för att säkerställa att alla lysdioder fungerar. Det är mycket lättare att fixa något innan faner limmas på.

Det använda träfaner är ett speciellt lönnfanerpapper som kallas Microwood, som är täckt med papper på en sida och har en tjocklek på 0, 1 mm. Papperssidan kan limas direkt på mdf med vanligt vattenfritt papperslim.

Steg 11: Resultatet

Resultatet
Resultatet
Resultatet
Resultatet

Ha kul och njut av spelet!

Raspberry Pi Contest 2020
Raspberry Pi Contest 2020
Raspberry Pi Contest 2020
Raspberry Pi Contest 2020

Stora priset i Raspberry Pi Contest 2020

Rekommenderad: