INHOUDSOPGAWE:

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

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

Video: LED Matrix Game of Life 32 X 32: 8 stappe
Video: ТАКОВ МОЙ ПУТЬ В L4D2 2024, November
Anonim
LED Matrix Game of Life 32 X 32
LED Matrix Game of Life 32 X 32

Ek is geïnspireer deur Jptrsn's 16 x16 Game of Life, maar uiteindelik vier keer groter. Ek het 'n paar MAX7219 Dot Matrix Module 4-in-1-skerm vir Arduino-borde op £ 3.50 gevind toe hulle aankom, blyk dit te wees redelik moeilik om dit uitmekaar te breek en in 'n 16x16 rooster te gebruik soos ek beplan het, so ek het besluit om 'n 32x32 rooster te maak. Dit was toe dat dinge lastig geword het, aangesien u nie net die kode kan opskaal nie.

Stap 1: Onderdele

Ek het my onderdele by BangGood gekry, maar u kan dit oral kry. 1. 'n Arduino Nano (~ £ 2) 2. 4 1x4 Led Matrixes (~ £ 3.50 x 4) of soek na verpakkings wat soms goedkoper is 3. 'n Kabel 4. 'n USB -mikro -aansluiting (<£ 1) 5. 'n USB kragtoevoer (<£ 5) 6. 'N Boxraam (~ £ 4) van 'n plaaslike handwerkwinkel

Stap 2: Gereedskap

1. Warm gomgeweer

2. Soldeerbout

3. Draadstroppers

4. Skerp mes

Stap 3: Breadboard Build

Broodbord gebou
Broodbord gebou

Een ding wat ek op hierdie stadium geleer het, is dat 'n nano (en waarskynlik ander Arduinos) nie genoeg krag kan verskaf om al 4 die matrikse te laat loop sonder om die kragtoevoer uit te brand nie! wees gewaarsku

Toe my borde kom, het hulle net penne aan die ingang gekry, en die uitgangspennetjies was los in die sak, of in een geval het hulle vasgesteek onder 'n skerm wat die penne uitkort. Dit blyk dat dit nie goed is vir hierdie skerms nie (goeie werk, ek het 6 gekoop). U moet die uitvoerpenne aan twee van die LED -matrikse soldeer as dit nie op u s'n is nie.

Die uitleg is redelik eenvoudig; u kan twee van die matrikse aanmekaar koppel om twee kettings te vorm deur eenvoudig die uitvoerpenne aan die bypassende invoerpenne te koppel. U kan nie almal in een keer ketting nie, aangesien die LedControl -biblioteek beperk is tot 8 skerms op 'n slag.

Koppel DataIn dan aan pen 12, laai (of CS) na pin 11 en Clock (of CLK) na pin 10 en vir die ander ketting na 5, 4 & 3. Alternatiewelik kan u enige digitale penne kies wat u wil, maar onthou om dit te verander die kode om u keuse te weerspieël. Voeg dan die USB -aansluiting by die broodbord. Koppel dan die v+ en gemaalde penne aan die relings van die broodbord. Dan moet u die kragdrade van die 2 kettings in +ve en grond aansluit en die Arduino -grond met die grond vasmaak. As ons klaar is met die programmering van die bord, kan u die Arduino vin aan v+ koppel en nooit weer die Aurdino USB aansluit nie.

Stap 4: Kode

Aanvanklik het ek gedink ek hoef net die bestaande kode op te neem en dit op te skaal vir 32x32, maar dit is 'n bietjie trukker as dit. 1. U benodig twee LedControls, aangesien elkeen slegs 8 MAX7219s LedControl lc [2] = {LedControl (12, 10, 11, 8), LedControl (5, 3, 4, 8)} kan bestuur; 2. Daar is nie genoeg geheue op 'n Nano om 2 volledige 32x32 byte -skikkings op te slaan om die toestand van die bord te behou nie. (Ten slotte, al die kere wat ek Game of Life -kode op 'n witbord in onderhoude geskryf het, betaal.) Ons definieer dus die bord skikkings as 32x4 en stoor die toestand van elke sel as 'n bietjie in die grepe oor die skikking.

Stap 5: Alles saamvoeg

Toets eers die kode en die uitleg van die planke soos verwag deur die 'testPattern' -metode te gebruik om 'n diagonale kruis oor die planke te trek. As dit nie reg lyk nie, is daar iets verkeerd met die volgorde van die borde en/of die penne wat u geïnisieer het, en kyk dan na die ding met die sweeftuigmetode wat 'n sweeftuig skep wat oor die skerm beweeg. As dit nie uitwerk nie, kyk dan na die volgorde van die penne, ens. Stel uiteindelik die hoofmetode op "willekeurig", stel NUMITR in op die aantal kere wat dit moet herhaal voordat u dit herstel.

Stap 6: Raam dit op

Raam dit op
Raam dit op

Om alles nou in 'n raam te plaas, plak die matriks eers warm in 'n 32x32 raam. Onthou om seker te maak dat die invoerkant aan almal dieselfde kant is (of verander die opsporingskode in "gridToCell" sodat die 2de borde onderstebo kan wees). Voeg die netaansluiting en 'n skakelaar op die 5v -lyn by en soldeer alles saam.

Stap 7: raamkwessies

Dit blyk dat u 'n groter raam nodig het as die 6x6 een wat ek het. Ek sal dus moet terugkom om dit af te handel as ek 'n kans kry om by die winkel uit te kom.

Stap 8:

Aanbeveel: