Obsah:

LED Matrix Game of Life 32 X 32: 8 kroků
LED Matrix Game of Life 32 X 32: 8 kroků

Video: LED Matrix Game of Life 32 X 32: 8 kroků

Video: LED Matrix Game of Life 32 X 32: 8 kroků
Video: Pixel Dust on RGB Matrix displays 2024, Červen
Anonim
LED Matrix Game of Life 32 X 32
LED Matrix Game of Life 32 X 32

Inspirovala mě Jptrsn's 16 x16 Game of Life, ale nakonec byla čtyřikrát větší. Na Bangood.com jsem našel nějaké MAX7219 Dot Matrix Module 4-v-1 displej pro desky Arduino za 3,50 £, když dorazily, ukázalo se, že je docela těžké je rozdělit a použít v mřížce 16x16, jak jsem plánoval, tak jsem se rozhodl udělat mřížku 32x32. Tehdy se věci staly složitými, protože nemůžete jen zvětšit kód.

Krok 1: Díly

Dostal jsem své díly od BangGood, ale můžete je získat kdekoli. 1. Arduino Nano (~ 2 £) 2. 4 1x4 LED matice (~ 3,50 £ x 4) nebo hledejte multipacky, které jsou někdy levnější 3. Nějaký drát 4. A mikro zásuvka USB (<£ 1) 5. A USB napájení (<5 GBP) 6. Rámeček na rámeček 6 x 6 palců /15 cm x 15 cm (~ 4 GBP) z místního obchodu s řemeslnými výrobky

Krok 2: Nástroje

1. Horká lepicí pistole

2. Páječka

3. Odstraňovače drátů

4. Ostrý nůž

Krok 3: Breadboard Build

Breadboard Build
Breadboard Build

Jedna věc, kterou jsem se v tuto chvíli dozvěděl, je, že nano (a pravděpodobně další Arduino) nemůže poskytnout dostatek energie pro provoz všech 4 matic, aniž by došlo k vypálení napájecího zdroje! být varován

Když dorazily moje desky, měly pouze kolíky na vstupním konci a výstupní kolíky byly volné v sáčku nebo v jednom případě uvízly pod displejem, který zkratoval kolíky ven. Ukazuje se, že to není dobré pro tyto displeje (dobrá práce, koupil jsem 6). Výstupní piny budete muset připájet na dvě LED matice, pokud na nich nejsou osazeny.

Rozložení je poměrně jednoduché, můžete dvě řady matic spojit dohromady a vytvořit dva řetězce jednoduchým připojením výstupních pinů k odpovídajícím vstupním pinům. Nelze je všechny zřetězit v jednom běhu, protože knihovna LedControl je omezena na 8 displejů najednou.

Poté připojte DataIn na pin 12, načtěte (nebo CS) na pin 11 a Clock (nebo CLK) na pin 10 a pro druhý řetězec na 5, 4 a 3. Případně si můžete vybrat libovolné digitální piny, které se vám líbí, nezapomeňte změnit kód, aby odrážel vaši volbu. Poté přidejte zásuvku USB na prkénko. Poté propojte kolíky v+ a uzemnění s kolejnicemi prkénka. Poté musíte zapojit napájecí kabely ze 2 řetězců do +ve a uzemnění a spojit uzemnění Arduino se zemí. Jakmile dokončíme programování desky, můžete propojit Arduino vin s v+ a již nikdy nezapojovat Aurdino USB.

Krok 4: Kód

Zpočátku jsem si myslel, že vše, co musím udělat, je vzít stávající kód a zvětšit jej na 32x32, ale je to trochu trik. 1. Potřebujete dva ovladače LedControl, protože každý může řídit pouze 8 MAX7219s LedControl lc [2] = {LedControl (12, 10, 11, 8), LedControl (5, 3, 4, 8)}; 2. Na Nano není dostatek paměti pro uložení 2 plných 32x32 bajtových polí, aby udržel stav desky. (Konečně, všechny časy, kdy jsem psal kód Game of Life na tabuli v rozhovorech se vyplatí.) Takže definujeme deska pole jako 32x4 a ukládat stav každé buňky jako bit v bajtech v poli.

Krok 5: Dát to všechno dohromady

Nejprve otestujte kód a rozložení desek podle očekávání pomocí metody „testPattern“k nakreslení diagonálního kříže napříč deskami. Pokud to nevypadá správně, je něco špatně v pořadí desek a/nebo kolíků, které jste inicializovali. Poté zkontrolujte věci pomocí metody kluzáku, která vytvoří kluzák, který se pohybuje po obrazovce. Pokud to nefunguje, znovu zkontrolujte pořadí kolíků atd. Nakonec nastavte hlavní metodu na „randomizaci“, nastavte NUMITR na počet opakování, než se má resetovat.

Krok 6: Zarámujte si to

Zarámujte si to
Zarámujte si to

Nyní vše vložíme do rámečku. Nejprve za horka slepte matice dohromady do rámečku 32x32. Nezapomeňte se ujistit, že vstupní konec je u všech stejný (nebo upravit vyhledávací kód v „gridToCell“, aby 2. desky byly vzhůru nohama). Přidejte napájecí zásuvku a vypínač na 5V vedení a vše pájejte dohromady.

Krok 7: Problémy s rámečkem

Ukazuje se, že potřebujete větší rám než ten 6x6, který mám. Budu se tedy muset vrátit, abych to dokončil, až budu mít příležitost dostat se do obchodu.

Krok 8:

Doporučuje: