Inhoudsopgave:

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

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

Video: LED Matrix Game of Life 32 X 32: 8 stappen
Video: Rivers Flows In You - Yiruma | Beginner Piano Tutorial | Easy Piano 2024, November
Anonim
LED Matrix Game of Life 32 X 32
LED Matrix Game of Life 32 X 32

Ik werd geïnspireerd door Jptrsn's 16 x16 Game of Life, maar werd uiteindelijk vier keer groter. best moeilijk om ze uit elkaar te halen en ze te gebruiken in een 16x16-raster zoals ik had gepland, dus besloot ik om een 32x32-raster te maken. Toen werd het lastig, omdat je de code niet zomaar kunt opschalen.

Stap 1: Onderdelen

Ik heb mijn onderdelen van BangGood gekregen, maar je kunt deze overal vandaan halen. 1. Een Arduino Nano (~ £ 2) 2. 4 1x4 led-matrixen (~ £ 3,50 x 4) of zoek naar multipacks die soms goedkoper zijn 3. Wat draad 4. Een USB-micro-aansluiting (< £ 1) 5. Een USB voeding (<£5)6. Een fotolijstje van 15 cm x 15 cm (~ £ 4) van de plaatselijke ambachtelijke winkel

Stap 2: Gereedschap

1. Heet lijmpistool

2. Soldeerbout

3. Draadstrippers

4. Scherp mes

Stap 3: Breadboard bouwen

Breadboard bouwen
Breadboard bouwen

Een ding dat ik op dit punt heb geleerd, is dat een nano (en waarschijnlijk andere Arduino's) niet genoeg stroom kan leveren om alle 4 de matrixen te laten werken zonder de voeding te verbranden! wees gewaarschuwd

Toen mijn boards arriveerden, hadden ze alleen pinnen aan het invoeruiteinde en de uitvoerpinnen zaten los in de tas, of in één geval vastgelopen onder een scherm waardoor de pinnen werden kortgesloten. Het blijkt dat dit niet goed is voor deze schermen (goed gedaan, ik heb er 6 gekocht). U moet de uitgangspinnen op twee van de LED-matrices solderen als ze niet op de uwe zijn gemonteerd.

De lay-out is redelijk eenvoudig, je kunt twee van de matrixen aan elkaar koppelen om twee kettingen te vormen door simpelweg de uitgangspinnen aan te sluiten op de overeenkomende ingangspinnen. U kunt ze niet allemaal in één keer aaneenketenen, aangezien de LedControl-bibliotheek beperkt is tot 8 schermen tegelijk.

Sluit vervolgens DataIn aan op pin 12, laad (of CS) op pin 11 en Clock (of CLK) op pin 10 en voor de andere keten op 5, 4 & 3. Als alternatief kunt u elke gewenste digitale pinnen kiezen, vergeet niet te veranderen de code om uw keuze weer te geven. Voeg vervolgens de USB-aansluiting toe aan het breadboard. Koppel vervolgens de v+ en grondpennen aan de rails van het breadboard. Dan moet je de stroomkabels van de 2 kettingen op +ve en aarde aansluiten en de Arduino aarde aan aarde verbinden. Zodra we klaar zijn met het programmeren van het bord, kun je de Arduino vin koppelen aan v+ en nooit meer de Aurdino USB aansluiten.

Stap 4: Coderen

In eerste instantie dacht ik dat ik alleen maar de bestaande code hoefde te nemen en deze op te schalen naar 32x32, maar het is een beetje tricker dan dat. 1. U hebt twee LedControls nodig, aangezien elk slechts 8 MAX7219s LedControl lc[2] = { LedControl (12, 10, 11, 8), LedControl (5, 3, 4, 8) };2 kan aansturen. Er is niet genoeg geheugen op een Nano om 2 volledige arrays van 32x32 bytes op te slaan om de status van het bord in stand te houden. board arrays als 32x4 en sla de status van elke cel op als een bit in de bytes over de array.

Stap 5: Alles samenbrengen

Test eerst de code en de lay-out van de borden is zoals verwacht door de "testPattern"-methode te gebruiken om een diagonaal kruis over de borden te tekenen. Als dit er niet goed uitziet, dan is er iets mis met de volgorde van de boards en/of de pinnen die je hebt geïnitialiseerd. Kijk dan eens naar de glider-methode die een glider creëert die over het scherm beweegt. Nogmaals, als het niet werkt, controleer dan de volgorde van de pinnen enz. Stel ten slotte de hoofdmethode in op "willekeurig", stel NUMITR in op het aantal keren dat het moet worden herhaald voordat het wordt gereset.

Stap 6: Kader het op

Kader het in
Kader het in

Nu om alles in een frame te plaatsen. Lijm eerst de matrices samen in een 32x32 frame. Vergeet niet om ervoor te zorgen dat het invoeruiteinde voor alle kaarten aan dezelfde kant is (of wijzig de opzoekcode in "gridToCell" om ervoor te zorgen dat de 2e borden ondersteboven staan). Voeg het stopcontact en een schakelaar op de 5v-lijn toe en soldeer alles aan elkaar.

Stap 7: Frameproblemen

Het blijkt dat je een groter frame nodig hebt dan de 6x6 die ik heb. Dus ik zal terug moeten komen om dit af te maken als ik de kans krijg om naar de winkel te gaan.

Stap 8:

Aanbevolen: