Satura rādītājs:

LED matricas dzīves spēle 32 X 32: 8 soļi
LED matricas dzīves spēle 32 X 32: 8 soļi

Video: LED matricas dzīves spēle 32 X 32: 8 soļi

Video: LED matricas dzīves spēle 32 X 32: 8 soļi
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Jūnijs
Anonim
LED matricas dzīves spēle 32 X 32
LED matricas dzīves spēle 32 X 32

Mani iedvesmoja Jptrsn's 16 x16 Game of Life, bet galu galā tā bija četras reizes lielāka. Es atradu dažus MAX7219 Dot Matrix Module 4-in-1 displejus Arduino dēļiem vietnē Bangood.com par 3,50 £, kad tie ieradās, izrādījās diezgan grūti tos sadalīt un izmantot 16x16 režģī, kā biju plānojis, tāpēc nolēmu izveidot 32x32 režģi. Tieši tad lietas kļuva sarežģītas, jo jūs nevarat vienkārši palielināt kodu.

1. darbība: detaļas

Es saņēmu savas detaļas no BangGood, bet jūs varat tās iegūt jebkurā vietā. 1. Arduino Nano (~ £ 2) 2. 4 1x4 LED matricas (~ £ 3.50 x 4) vai meklējiet daudzpaketes, kas dažreiz ir lētākas 3. Daži vadi 4. USB mikro ligzda (<£ 1) 5. A USB barošanas avots (<£ 5) 6. 6 collu x 6 collu /15 cm x 15 cm kastes attēlu rāmis (~ £ 4) no vietējā amatniecības veikala

2. darbība: rīki

1. Karstās līmes pistole

2. Lodāmurs

3. Stiepļu noņēmēji

4. Asu nazi

3. darbība: maizes dēļa veidošana

Maizes dēļa veidošana
Maizes dēļa veidošana

Viena lieta, ko es uzzināju šajā brīdī, ir tāda, ka nano (un, iespējams, arī citi Arduinos) nevar nodrošināt pietiekami daudz enerģijas, lai darbinātu visas 4 matricas, neizdegot barošanas avotu! jābrīdina

Kad mani dēļi ieradās, viņiem bija tikai tapas uz ievades gala, un izejas tapas bija vaļīgas somā, vai vienā gadījumā iestrēgušas zem displeja, saīsinot tapas. Izrādās, ka tas nav labi šiem displejiem (labu darbu es nopirku 6). Jums būs jālodē izejas tapas uz divām LED matricām, ja tās nav uzstādītas uz jūsu.

Izkārtojums ir diezgan vienkāršs, jūs varat sasaistīt divas matricas kopā, veidojot divas ķēdes, vienkārši savienojot izejas tapas ar atbilstošajām ievades tapām. Jūs nevarat tos visus ķēdēt vienā piegājienā, jo LedControl bibliotēka vienlaikus ir ierobežota līdz 8 displejiem.

Pēc tam pievienojiet DataIn 12. tapai, ielādējiet (vai CS) 11. tapai un pulksteni (vai CLK) - 10. tapai, bet otrai ķēdei - 5., 4. un 3. Alternatīvi, varat izvēlēties jebkuras digitālās tapas, kuras vēlaties, vienkārši neaizmirstiet nomainīt kodu, kas atspoguļo jūsu izvēli. Pēc tam pievienojiet USB ligzdu maizes dēlim. Pēc tam savienojiet v+ un zemes tapas ar maizes dēļa sliedēm. Tad jums ir jāpievieno strāvas vadi no 2 ķēdēm uz +ve un jāiezemē un jāsasaista Arduino zeme ar zemi. Kad esam pabeiguši tāfeles programmēšanu, varat saistīt Arduino vin ar v+ un nekad vairs nepievienot Aurdino USB.

4. solis: kods

Sākumā es domāju, ka viss, kas man jādara, ir paņemt esošo kodu un palielināt to līdz 32x32, bet tas ir nedaudz viltīgāk. 1. Jums ir vajadzīgas divas LedControl ierīces, jo katra var vadīt tikai 8 MAX7219s LedControl lc [2] = {LedControl (12, 10, 11, 8), LedControl (5, 3, 4, 8)}; 2. Nano nav pietiekami daudz atmiņas, lai saglabātu 2 pilnus 32x32 baitu masīvus, lai saglabātu tāfeles stāvokli. (Visbeidzot, visas reizes, kad intervijās esmu uzrakstījis dzīvības spēles kodu uz tāfeles, atmaksājas.) Tātad, mēs definējam dēļu masīvus kā 32x4 un katras šūnas stāvokli kā bitu saglabājiet masīvā esošajos baitos.

5. solis: salieciet to visu kopā

Vispirms pārbaudiet kodu un dēļu izkārtojumu, kā paredzēts, izmantojot "testPattern" metodi, lai uzzīmētu diagonālo krustu pāri dēļiem. Ja tas neizskatās pareizi, tad ir kaut kas nepareizs ar inicializēto dēļu un/vai tapu secību. Pēc tam pārbaudiet lietas ar planiera metodi, kas rada planieri, kas pārvietojas pa ekrānu. Atkal, ja tas nedarbojas, pārbaudiet tapu secību utt. Visbeidzot, iestatiet galveno metodi kā "nejaušību", iestatiet NUMITR uz to reižu skaitu, kas tai jāatkārto pirms atiestatīšanas.

6. solis: ierāmējiet to

Ierāmējiet to
Ierāmējiet to

Tagad, lai visu ievietotu rāmī. Pirmkārt, karsti salīmējiet matricas kopā 32x32 rāmī. Neaizmirstiet pārliecināties, ka ievades beigas visiem ir vienā pusē (vai arī modificējiet uzmeklēšanas kodu “gridToCell”, lai otrās plates būtu otrādi). Pievienojiet strāvas kontaktligzdu un slēdzi 5v līnijā un lodējiet visu kopā.

7. darbība. Rāmja problēmas

Izrādās, ka jums ir nepieciešams lielāks rāmis nekā 6x6, kāds man ir. Tāpēc man būs jāatgriežas, lai pabeigtu šo darbu, kad man būs iespēja nokļūt veikalā.

8. darbība

Ieteicams: