Мазмуну:

LED Matrix Life of Life 32 X 32: 8 Steps
LED Matrix Life of Life 32 X 32: 8 Steps

Video: LED Matrix Life of Life 32 X 32: 8 Steps

Video: LED Matrix Life of Life 32 X 32: 8 Steps
Video: Pixel Dust on RGB Matrix displays 2024, Ноябрь
Anonim
LED Matrix Жашоо Оюну 32 X 32
LED Matrix Жашоо Оюну 32 X 32

Мен Jptrsn's 16 x16 Жашоо Оюнунан шыктандым, бирок төрт эсе чоң болуп калдым. Bangood.com сайтынан MAX7219 Dot Matrix Module 4-in-1 дисплейин 3.50 фунтка таптым. Аларды бөлүп, мен пландаштыргандай 16x16 сеткада колдонуу абдан кыйын, ошондуктан мен 32x32 тор жасоону чечтим. Мына ошондо баары татаалдашып кетти, анткени сиз жөн эле кодду чоңойта албайсыз.

1 -кадам: Бөлүктөр

Мен тетиктеримди BangGoodтан алдым, бирок сиз муну каалаган жерден булактай аласыз. 1. An Arduino Nano (~ £ 2) 2. 4 1x4 Led Matrixes (~ £ 3.50 x 4) же кээде арзаныраак болгон мультипакеттерди издеңиз 3. Кээ бир зымдар 4. USB микро розеткасы (<£ 1) 5. USB электр менен камсыздоо (<£ 5) 6. Жергиликтүү кол өнөрчүлүк дүкөнүнөн 6 "x6" /15cmx15cm кутуча сүрөт алкагы (~ £ 4)

2 -кадам: Куралдар

1. Ысык желим тапанча

2. ширетүүчү темир

3. Зымдан тазалагычтар

4. Курч бычак

3 -кадам: Breadboard Build

Breadboard Build
Breadboard Build

Мен бул жерден үйрөнгөн бир нерсе, нано (жана, балким, башка Arduinos) электр булагын күйгүзбөстөн, бардык 4 матрицаны иштетүү үчүн жетиштүү күч бере албайт! эскертүү

Менин тактайлар келгенде, алар кирүүчү учунда гана казыктары бар болчу жана баштыктарда боштуктар бош болгон, же бир учурда казыктарды кыскартуучу дисплейдин астында тыгылып калган. Көрүнүп тургандай, бул дисплейлер үчүн жакшы эмес (жакшы жумуш 6 сатып алдым). Чыгуу казыктарын LED матрицаларынын экөөнө ширетишиңиз керек, эгерде алар сиздикине жабышпаса.

Макет абдан жөнөкөй, сиз матрицалардын экөөнү биригип, эки чынжырды түзүп, чыгуучу пиндерди дал келген кирүү казыктарына туташтырсаңыз болот. LedControl китепканасы бир убакта 8 дисплей менен чектелгендиктен, сиз алардын бардыгын бир чуркай албайсыз.

Андан кийин DataInди 12 пинге, жүктөөнү (же CS) 11ге жана Clockты (же CLK) 10го, ал эми башка чынжырды 5, 4 жана 3кө туташтырыңыз. Же сиз каалаган санарип казыктарды тандап алууну унутпаңыз код сиздин тандооңузду чагылдырат. Андан кийин USB розеткасын нан тактасына кошуңуз. Андан кийин v+ жана жер казыктарын нан тактасынын рельсине байланыштырыңыз. Андан кийин 2 чынжырдан +жана жерге чейин электр өткөргүчтөрүн туташтырып, Arduino жерин жерге байлашыңыз керек. Биз тактаны программалоону бүтүргөндөн кийин, Arduino vinди v+ менен байланыштырып, Aurdino USB'ди кайра туташтырбаңыз.

4 -кадам: Код

Башында, мен бар болгон кодду алып, аны 32x32ге чейин кеңейтүү керек деп ойлогом, бирок бул бир аз алдаана. 1. Сизге эки LedControls керек, анткени ар бири 8 MAX7219s LedControl lc [2] = {LedControl (12, 10, 11, 8), LedControl (5, 3, 4, 8)}; 2. Тактанын абалын сактоо үчүн Нанодо 32x32 байттык 2 массивди сактоо үчүн эстутум жетишсиз. (Акыры, интервьюларда доскага Life Game кодун жазган убактымдын баары төлөйт.) Ошентип, биз 32x4 форматындагы такта жана ар бир уячанын абалын массивдеги байттарда бир аз сактаңыз.

5 -кадам: Бардыгын бириктирүү

Биринчиден, кодду жана такталардын жайгашуусун "testPattern" ыкмасын колдонуу менен, тактайларга диагоналдуу кайчылаш чийүү менен күтүңүз. Эгерде бул туура көрүнбөсө, анда сиз баштаган тактайлардын жана/же казыктардын тартибинде туура эмес нерсе бар. Андан кийин экранда жылуучу планерди түзүүчү планер ыкмасы менен нерселерди текшериңиз. Дагы бир жолу иштебей калса, анда казыктардын тартибин текшериңиз ж.б.. Акыры, негизги ыкманы "рандомизациялоо" үчүн коюңуз, NUMITRди баштапкы абалга келтирүүдөн мурун кайталоо керек болгон убакытка коюңуз.

6 -кадам: Аны алкакка түшүрүү

Frame It Up
Frame It Up

Эми баарын алкакка салуу үчүн, биринчиден, матрицаларды ысык клей менен 32x32 алкакка бириктирүү. Киргизүү учу бардыгы үчүн бир тарапта экендигин текшериңиз (же 2 -такталарды тескери кароо үчүн "gridToCell" издөө кодун өзгөртүңүз). Электр розеткасын жана 5v линиясындагы өчүргүчтү кошуп, бардыгын чогуу ширетүү.

7 -кадам: Frame Issues

Көрсө, менде 6х6дан чоңураак кадр керек экен. Мен дүкөнгө жетүү мүмкүнчүлүгүнө ээ болгондо, муну аягына чыгаруу үчүн кайра келишим керек.

8 -кадам:

Сунушталууда: