Taula de continguts:

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

Vídeo: LED Matrix Game of Life 32 X 32: 8 passos

Vídeo: LED Matrix Game of Life 32 X 32: 8 passos
Vídeo: 4k Game Stick Hd Box Retro Tv 2 4g Wireless Gamepad Game 2024, De novembre
Anonim
LED Matrix Game of Life 32 X 32
LED Matrix Game of Life 32 X 32

Em vaig inspirar en el joc de la vida de 16 x16 de Jptrsn, però vaig acabar sent quatre vegades més gran. Vaig trobar una pantalla 4-en-1 del mòdul de matriu de punts MAX7219 per a taules Arduino a Bangood.com per 3,50 GBP quan van arribar. és bastant difícil separar-los i utilitzar-los en una quadrícula de 16x16 tal com tenia previst, així que vaig decidir fer una quadrícula de 32x32. Va ser llavors quan les coses es van tornar complicades, ja que no es pot escalar el codi.

Pas 1: parts

Tinc les meves peces de BangGood, però les podeu obtenir a qualsevol lloc. 1. Un Arduino Nano (~ 2 £) 2. 4 matrius led de 1x4 (~ 3,50 £ x 4) o busqueu paquets múltiples que de vegades siguin més econòmics 3. Alguns cables 4. Una presa micro USB (<1 £) 5. Un USB font d'alimentació (<5 £) 6. Un marc de quadre de 6 "x6" / 15cmx15cm Box (~ 4 £) de la botiga d'artesania local

Pas 2: eines

1. Pistola de cola calenta

2. Soldador

3. Decapants de filferro

4. Ganivet esmolat

Pas 3: construcció de taulers de pa

Breadboard Build
Breadboard Build

Una cosa que he après en aquest moment és que un nano (i probablement altres Arduinos) no pot proporcionar prou energia per executar les 4 matrius sense esgotar la font d'alimentació. estigui advertit

Quan van arribar els meus taulers, només tenien pins a l'extrem d'entrada i els pins de sortida estaven solts a la bossa o, en un cas, encallats sota una pantalla que els restringia. Resulta que no és bo per a aquestes pantalles (bona feina que he comprat 6). Haureu de soldar els pins de sortida en dues de les matrius LED si no estan instal·lades a la vostra.

El disseny és bastant senzill, podeu encadenar dues de les matrius juntes per formar dues cadenes simplement connectant els pins de sortida als pins d’entrada coincidents. No podeu encadenar-los tots en una sola tirada, ja que la biblioteca LedControl està limitada a 8 pantalles alhora.

A continuació, connecteu DataIn al pin 12, carregueu (o CS) al pin 11 i Clock (o CLK) al pin 10 i per a l’altra cadena a 5, 4 i 3. Alternativament, podeu triar els pins digitals que vulgueu només recordeu de canviar el codi per reflectir la vostra elecció. A continuació, afegiu el sòcol USB a la placa de control. A continuació, enllaceu els passadors v + i terra amb els rails de la placa. A continuació, heu de connectar els cables d’alimentació de les 2 cadenes a + ve i a terra i lligar el terra Arduino a terra. Un cop hàgim acabat de programar la placa, podeu enllaçar l'Arduino vin a v + i no connectar mai més l'Aurdino USB.

Pas 4: Codi

Al principi, vaig pensar que tot el que necessitava fer era agafar el codi existent i ampliar-lo fins a 32x32, però és una mica més complicat que això. 1. Necessiteu dos LedControls, ja que cadascun només pot conduir 8 MAX7219s LedControl lc [2] = {LedControl (12, 10, 11, 8), LedControl (5, 3, 4, 8)}; 2. No hi ha prou memòria en un Nano per emmagatzemar 2 matrius complets de 32x32 bytes per mantenir l'estat de la placa. (Finalment, totes les vegades que he escrit codi de Game of Life en una pissarra en les entrevistes paga la pena.) Per tant, definim el matrius de taules de 32x4 i emmagatzemen l'estat de cada cel·la com una mica als bytes de tota la matriu.

Pas 5: ajuntar-ho tot

Primer proveu el codi i el disseny de les taules és l’esperat mitjançant el mètode "testPattern" per dibuixar una creu diagonal a través de les taules. Si això no sembla correcte, hi ha alguna cosa malament en l'ordre dels taulers i / o els pins que heu inicialitzat. A continuació, comproveu les coses amb el mètode del planador que crea un planador que es mou per la pantalla. Una vegada més, si no funciona, comproveu l'ordre dels pins, etc. Finalment, configureu el mètode principal perquè sigui "aleatori", configureu NUMITR al nombre de vegades que s'ha de repetir abans de restablir-lo.

Pas 6: emmarqueu-lo

Emmarqueu-lo
Emmarqueu-lo

Ara, poseu-ho tot en un marc. En primer lloc, enganxeu en calent les matrius en un marc de 32x32. Recordeu que heu d'assegurar-vos que l'extrem d'entrada està al mateix costat per a tots ells (o bé modifiqueu el codi de cerca a "gridToCell" per permetre que els 2n taulers estiguin al revés). Afegiu la presa de corrent i un interruptor de la línia de 5 V i soldeu-ho tot junt.

Pas 7: problemes de trama

Resulta que necessiteu un marc més gran que el de 6x6 que tinc. Així que hauré de tornar per acabar-ho quan tingui l'oportunitat d'arribar a la botiga.

Pas 8:

Recomanat: