Indholdsfortegnelse:

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

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

Video: LED Matrix Game of Life 32 X 32: 8 trin
Video: DIY 32 * 8 точечно-матричные спектральные часы / полноцветный RGB с голосовой активацией 2024, Juni
Anonim
LED Matrix Game of Life 32 X 32
LED Matrix Game of Life 32 X 32

Jeg blev inspireret af Jptrsn's16 x16 Game of Life, men endte med at blive fire gange større. Jeg fandt nogle MAX7219 Dot Matrix Module 4-in-1 Display For Arduino boards på Bangood.com for £ 3,50 da de ankom viste det sig at være ret svært at skille dem ad og bruge dem i et 16x16 gitter som jeg havde planlagt, så jeg besluttede at lave et 32x32 gitter. Det var da tingene blev vanskelige, da du ikke bare kan skalere koden op.

Trin 1: Dele

Jeg fik mine dele fra BangGood, men du kan få dem overalt. 1. En Arduino Nano (~ £ 2) 2. 4 1x4 Led Matrixes (~ £ 3,50 x 4) eller se efter multipacks, som nogle gange er billigere 3. Nogle ledninger 4. En USB -mikrostik (<£ 1) 5. En USB strømforsyning (<£ 5) 6. En 15 x 15 cm x 15 cm billedramme (~ £ 4) fra den lokale håndværksbutik

Trin 2: Værktøjer

1. Varm limpistol

2. Loddejern

3. Wire strippere

4. Skarp kniv

Trin 3: Breadboard Build

Breadboard Build
Breadboard Build

En ting, jeg lærte på dette tidspunkt, er, at en nano (og sandsynligvis andre Arduinos) ikke kan levere strøm nok til at køre alle 4 matricer uden at brænde strømforsyningen ud! Vær advaret

Da mine brædder ankom, havde de kun fået stifter på inputenden, og outputstifterne var løse i posen, eller i et tilfælde fastklemt under et display, der kortsluttede stifterne. Det viser sig, at det ikke er godt for disse skærme (godt job, jeg købte 6). Du skal lodde outputstifterne på to af LED -matrixerne, hvis de ikke er monteret på din.

Layoutet er ret ligetil, du kan daisy kæde to af matrixerne sammen for at danne to kæder ved blot at forbinde output -benene til de matchende input -pins. Du kan ikke kæde dem alle sammen i en kørsel, da LedControl -biblioteket er begrænset til 8 skærme ad gangen.

Derefter sættes DataIn til pin 12, indlæses (eller CS) til pin 11 og Clock (eller CLK) til pin 10 og for den anden kæde til 5, 4 & 3. Alternativt kan du vælge enhver digital stift, du kan lide, bare husk at ændre koden for at afspejle dit valg. Tilføj derefter USB -stikket til brødbrættet. Forbind derefter v+ og formalet stifter til skinnerne på brødbrættet. Derefter skal du tilslutte strømledningerne fra de 2 kæder til +ve og jord og binde Arduino -jorden til jorden. Når vi er færdige med at programmere tavlen, kan du koble Arduino vin til v+ og aldrig tilslutte Aurdino USB igen.

Trin 4: Kode

Først troede jeg, at alt, hvad jeg skulle gøre, var at tage den eksisterende kode og skalere den op til 32x32, men det er lidt trickere end det. 1. Du skal bruge to LedControls, da hver kun kan køre 8 MAX7219s LedControl lc [2] = {LedControl (12, 10, 11, 8), LedControl (5, 3, 4, 8)}; 2. Der er ikke nok hukommelse på en Nano til at gemme 2 fulde 32x32 byte -arrays til at holde tavlen i. (Endelig betaler alle de gange, jeg har skrevet Game of Life -kode på et whiteboard i interviews). Så vi definerer board -arrays som 32x4 og gemmer tilstanden for hver celle som en bit i bytes på tværs af arrayet.

Trin 5: Sæt det hele sammen

Test først koden og planternes layout som forventet ved hjælp af "testPattern" -metoden til at tegne et diagonalt kryds på tværs af brædderne. Hvis dette ikke ser rigtigt ud, er der noget galt med rækkefølgen af brædderne og/eller stifterne, du har initialiseret. Kontroller derefter tingene med glider -metoden, der skaber en svævefly, der bevæger sig hen over skærmen. Igen, hvis det ikke virker, skal du kontrollere rækkefølgen af benene osv. Til sidst skal du indstille hovedmetoden til at være "tilfældig", indstille NUMITR til det antal gange, den skal gentages, før du nulstiller.

Trin 6: Indram det

Indram det
Indram det

Nu skal alt sættes i en ramme. Først limes matrixerne sammen til en 32x32 ramme. Husk at sørge for, at inputenden er på samme side for dem alle (eller rediger opslagskoden i "gridToCell" for at tillade, at 2. tavler vender på hovedet). Tilføj stikkontakten og en switch på 5v -ledningen, og lod alt sammen.

Trin 7: Ramme problemer

Det viser sig, at du har brug for en større ramme end den 6x6, jeg har. Så jeg bliver nødt til at vende tilbage for at afslutte dette, når jeg får mulighed for at komme til butikken.

Trin 8:

Anbefalede: