Innehållsförteckning:

LED Matrix Game of Life 32 X 32: 8 steg
LED Matrix Game of Life 32 X 32: 8 steg

Video: LED Matrix Game of Life 32 X 32: 8 steg

Video: LED Matrix Game of Life 32 X 32: 8 steg
Video: First look at Cosmic Unicorn (32 x 32 RGB LED matrix with Raspberry Pi Pico W Aboard) 2024, November
Anonim
LED Matrix Game of Life 32 X 32
LED Matrix Game of Life 32 X 32

Jag blev inspirerad av Jptrsn's 16 x16 Game of Life men slutade med att bli fyra gånger större. Jag hittade några MAX7219 Dot Matrix Module 4-in-1 Display For Arduino boards på Bangood.com för £ 3,50 när de kom fram visade det sig vara ganska svårt att bryta isär dem och använda dem i ett 16x16 rutnät som jag hade planerat, så jag bestämde mig för att göra ett 32x32 rutnät. Det var då saker blev knepiga, eftersom du inte bara kan skala upp koden.

Steg 1: Delar

Jag fick mina delar från BangGood men du kan skaffa dessa var som helst. 1. En Arduino Nano (~ £ 2) 2. 4 1x4 Led Matrixer (~ £ 3,50 x 4) eller leta efter multipack som ibland är billigare 3. Någon tråd 4. Ett USB -mikrouttag (<£ 1) 5. En USB strömförsörjning (<£ 5) 6. En 15 "x 15 cm x 15 cm lådramsram (~ £ 4) från den lokala hantverksbutiken

Steg 2: Verktyg

1. Het limpistol

2. Lödkolv

3. Wire strippers

4. Vass kniv

Steg 3: Breadboard Build

Brödbräda
Brödbräda

En sak jag lärde mig vid denna tidpunkt är att en nano (och förmodligen andra Arduinos) inte kan ge tillräckligt med ström för att köra alla 4 matriserna utan att bränna ut strömförsörjningen! varnas

När mina brädor kom hade de bara fått stift på ingångsänden och utgångsstiften var lösa i påsen, eller i ett fall fastnat under en display som kortade ut stiften. Det visar sig att det inte är bra för dessa skärmar (bra jobbat jag köpte 6). Du måste löda utgångsstiften på två av LED -matriserna om de inte är monterade på din.

Layouten är ganska enkel, du kan koppla ihop två av matriserna för att bilda två kedjor genom att helt enkelt ansluta utgångsstiften till de matchande ingångsstiften. Du kan inte kedja dem alla i en körning eftersom LedControl -biblioteket är begränsat till 8 skärmar åt gången.

Anslut sedan DataIn till stift 12, ladda (eller CS) till stift 11 och Klocka (eller CLK) till stift 10 och för den andra kedjan till 5, 4 & 3. Alternativt kan du välja alla digitala stift du gillar, kom bara ihåg att byta koden för att återspegla ditt val. Lägg sedan till USB -uttaget i brödbrädan. Länka sedan v+ och slipstiften till skenorna på brödbrädan. Sedan måste du ansluta strömkablarna från de 2 kedjorna till +ve och jorda och knyta Arduino -marken till marken. När vi har programmerat kortet kan du länka Arduino vin till v+ och aldrig ansluta Aurdino USB igen.

Steg 4: Kod

Först trodde jag att allt jag behövde göra var att ta den befintliga koden och skala upp den till 32x32 men det är lite lurigare än så. 1. Du behöver två LedControls eftersom var och en bara kan köra 8 MAX7219s LedControl lc [2] = {LedControl (12, 10, 11, 8), LedControl (5, 3, 4, 8)}; 2. Det finns inte tillräckligt med minne på en Nano för att lagra 2 hela 32x32 byte -matriser för att hålla styrelsen i. (Slutligen lönar sig alla gånger jag har skrivit Game of Life -kod på en whiteboard i intervjuer.) Så, vi definierar kortuppsättningar som 32x4 och lagrar tillståndet för varje cell som en bit i byte över matrisen.

Steg 5: Sätta ihop allt

Testa först koden och layouten på brädorna som förväntat genom att använda "testPattern" -metoden för att rita ett diagonalt kryss över brädorna. Om detta inte ser rätt ut är det något fel med brädornas ordning och/eller stiften som du har initialiserat. Kontrollera sedan saker med glider -metoden som skapar en glider som rör sig över skärmen. Återigen, om det inte fungerar, kontrollera ordningen på stiften etc. Slutligen ställer du in huvudmetoden som "slumpmässig", ställer NUMITR till antalet gånger det ska upprepas innan du återställer.

Steg 6: Rama in det

Rama in det
Rama in det

Nu för att lägga allt i en ram. Först, hett limma ihop matriserna till en 32x32 ram. Kom ihåg att se till att ingångsänden är på samma sida för dem alla (eller ändra uppslagskoden i "gridToCell" för att möjliggöra att de andra tavlorna är upp och ner). Lägg till eluttaget och en strömbrytare på 5v -ledningen och löd ihop allt.

Steg 7: Ramproblem

Det visar sig att du behöver en större ram än den 6x6 jag har. Så jag måste komma tillbaka för att göra klart det här när jag får chansen att komma till affären.

Steg 8:

Rekommenderad: