Tartalomjegyzék:

LED Mátrix Életjáték 32 X 32: 8 lépés
LED Mátrix Életjáték 32 X 32: 8 lépés

Videó: LED Mátrix Életjáték 32 X 32: 8 lépés

Videó: LED Mátrix Életjáték 32 X 32: 8 lépés
Videó: Conway's Game of Life running on a 32x32 LED matrix and raspberry pi 2024, November
Anonim
LED Mátrix Életjáték 32 X 32
LED Mátrix Életjáték 32 X 32

Engem a Jptrsn 16 x16-os Életjátéka inspirált, de végül négyszer nagyobb lett. Találtam néhány MAX7219 Dot Matrix Module 4-in-1 kijelzőt az Arduino táblákhoz a Bangood.com-on 3,50 fontért, amikor megérkeztek, kiderült, hogy elég nehéz szétbontani őket, és 16x16 -os rácsban használni, ahogy terveztem, ezért úgy döntöttem, hogy 32x32 -es rácsot készítek. Ekkor a dolgok trükkösre fordultak, mivel nem lehet csak úgy növelni a kódot.

1. lépés: Alkatrészek

Az alkatrészeimet a BangGoodtól kaptam, de ezeket bárhonnan beszerezheti. 1. Egy Arduino Nano (~ £ 2) 2. 4 db 1x4 LED -es mátrix (~ £ 3.50 x 4), vagy keresse meg a néha olcsóbb gyűjtőcsomagokat 3. Néhány vezeték 4. Egy USB mikroaljzat (<£ 1) 5. Egy USB tápegység (<£ 5) 6. 6 "x6" /15cmx15cm Box képkeret (~ £ 4) a helyi kézművesbolttól

2. lépés: Eszközök

1. Forró ragasztópisztoly

2. Forrasztópáka

3. Huzalcsupaszítók

4. Éles kés

3. lépés: Breadboard Build

Breadboard Build
Breadboard Build

Egy dolgot tanultam ezen a ponton, hogy egy nano (és valószínűleg más Arduino -k) sem tud elegendő energiát biztosítani mind a 4 mátrix futtatásához anélkül, hogy kiégett volna a tápegység! figyelmeztetni

Amikor a tábláim megérkeztek, csak a bemeneti végén voltak csapok, és a kimeneti csapok lazák voltak a zsákban, vagy egy esetben a kijelző alá szorultak, és rövidre zárják a csapokat. Kiderült, hogy ez nem jó ezeknek a kijelzőknek (jó munkát vettem 6). A kimeneti csapokat két LED -mátrixra kell forrasztani, ha azok nincsenek a tiéden.

Az elrendezés meglehetősen egyszerű: a mátrixok közül kettőt összekapcsolhat két lánccá, egyszerűen csatlakoztatva a kimeneti csapokat a megfelelő bemeneti tüskékhez. Nem lehet mindegyiket láncolni egy futtatásban, mivel a LedControl könyvtár egyszerre 8 kijelzőre korlátozódik.

Ezután csatlakoztassa a DataIn -t a 12 -es tűhöz, töltse be (vagy CS) a 11 -es tűhöz, és az órát (vagy CLK -t) a 10 -es tűhöz, a másik lánchoz pedig 5, 4 és 3 -at. a kódot, amely tükrözi a választását. Ezután csatlakoztassa az USB -aljzatot a kenyértáblához. Ezután kösse össze a v+ és a földelt csapokat a kenyértábla síneivel. Ezután be kell dugni a 2 lánc tápkábeleit a +ve -be és földelni, és az Arduino földjét a földhöz kell kötni. Miután befejeztük a tábla programozását, összekapcsolhatjuk az Arduino vin -t a v+ -al, és soha többé nem csatlakoztathatjuk az Aurdino USB -t.

4. lépés: Kód

Először azt hittem, csak annyit kell tennem, hogy előveszem a meglévő kódot, és 32x32 -re méretezem, de ez egy kicsit trükkösebb ennél. 1. Két LedControlra van szüksége, mivel mindegyik csak 8 MAX7219s LedControl lc [2] = {LedControl (12, 10, 11, 8), LedControl (5, 3, 4, 8)}; 2. Nincs elég memória egy Nano -n, hogy 2 teljes 32x32 bájtos tömböt tárolhasson a tábla állapotának megőrzése érdekében. (Végül, minden alkalommal, amikor interjúkban írtam egy táblára az Élet játék kódját, az kifizetődő.) Tehát meghatározzuk a tábla tömböket 32x4 -re, és tárolja az egyes cellák állapotát bitként a tömb bájtjaiban.

5. lépés: Összerakni

Először tesztelje a kódot és a táblák elrendezését a várt módon, a "testPattern" módszer segítségével rajzoljon átlós keresztet a táblákon. Ha ez nem tűnik jól, akkor valami baj van a táblák és/vagy az inicializált csapok sorrendjével. Ezután nézze meg a dolgokat a vitorlázó módszerrel, amely egy vitorlázógépet hoz létre, amely mozog a képernyőn. Ismét, ha nem megy, akkor ellenőrizze a csapok sorrendjét stb. Végül állítsa a fő módszert "randomizálásra", és állítsa a NUMITR értéket a visszaállítás előtti ismétlésszámra.

6. lépés: Keretezze fel

Keretezd fel
Keretezd fel

Most mindent egy keretbe kell helyezni. Először is, forró ragasztóval illessze össze a mátrixokat egy 32x32 -es keretbe. Ne felejtse el, hogy a bemenet vége ugyanazon az oldalon van (vagy módosítsa a keresési kódot a "gridToCell" -ben, hogy a 2. tábla fejjel lefelé legyen). Adja hozzá a hálózati aljzatot és egy kapcsolót az 5 V -os vezetékhez, és forrasztjon össze mindent.

7. lépés: Keretproblémák

Kiderült, hogy nagyobb keretre van szüksége, mint a nálam lévő 6x6 -os. Tehát vissza kell térnem, hogy befejezzem ezt, amikor lesz alkalmam eljutni a boltba.

8. lépés:

Ajánlott: