Mundarija:

LED matritsali hayot o'yini 32 X 32: 8 qadam
LED matritsali hayot o'yini 32 X 32: 8 qadam

Video: LED matritsali hayot o'yini 32 X 32: 8 qadam

Video: LED matritsali hayot o'yini 32 X 32: 8 qadam
Video: DNK replikatsiyasi, RNK transkripsiyasi va translyatsiya | Uglerodning xususiyatlari | Biologiya 2024, Sentyabr
Anonim
LED matritsali hayot o'yini 32 X 32
LED matritsali hayot o'yini 32 X 32

Menga Jptrsnning 16 x16 Hayot O'yini ilhomlanib, lekin to'rt barobar katta bo'lib qoldi. Bangood.com saytidan Arduino uchun MAX7219 nuqta matritsali 4-in-1 displeyini 3,50 funtga topdim. Ularni ajratish va men rejalashtirganimdek 16x16 katakchada ishlatish juda qiyin, shuning uchun men 32x32 o'lchamdagi panjara yasashga qaror qildim. O'sha paytda hamma narsa murakkab bo'lib ketdi, chunki siz kodni kattalashtira olmaysiz.

1 -qadam: qismlar

Men o'z qismlarimni BangGood -dan oldim, lekin siz ularni istalgan joydan olishingiz mumkin. 1. Arduino Nano (~ 2 funt) 2. 4 ta 1x4 o'lchamli LED matritsalar (~ 3,50 x 4 funt) yoki ba'zida arzonroq bo'lgan ko'p paketlarni qidiring 3. Ba'zi simlar 4. USB mikro rozetkasi (<1 funt) 5. USB quvvat manbai (<5 funt) 6. Mahalliy hunarmandchilik do'konidan 6 "x6" /15cmx15 sm o'lchamdagi rasmli ramka (~ 4 funt)

2 -qadam: asboblar

1. Issiq yopishtiruvchi qurol

2. Lehimlash temir

3. Tel -striptizchilar

4. O'tkir pichoq

3 -qadam: Breadboard tuzilishi

Non paneli yaratish
Non paneli yaratish

Bu erda men bilgan narsa shundaki, nano (va ehtimol boshqa Arduinolar) 4 ta matritsani elektr ta'minotini yoqmasdan ishga tushirish uchun etarli quvvat bilan ta'minlay olmaydi! ogohlantirilsin

Mening taxtalarim kelganida, ular kirish uchida faqat pin bor edi va chiqish pinlari sumkada bo'shashib qolgan, yoki bitta holatda pimlarni o'chirib qo'yadigan displey ostida tiqilib qolgan. Ma'lum bo'lishicha, bu displeylar uchun yaxshi emas (yaxshi ish men 6 sotib olganman). Chiqish pimlarini ikkita LED matritsaga lehimlashingiz kerak, agar ular siznikiga o'rnatilmagan bo'lsa.

Joylashtirish juda sodda, siz chiqish pimlarini mos keladigan kirish pimlariga ulash orqali ikkita zanjir hosil qilish uchun ikkita matritsani bir -biriga bog'lab qo'yishingiz mumkin. LedControl kutubxonasi bir vaqtning o'zida 8 ta displey bilan cheklanganligi sababli, ularning barchasini bir marotaba zanjirlay olmaysiz.

Keyin DataIn -ni 12 -pinga ulang, yuklang (yoki CS -ni) 11 -raqamga, soatni (yoki CLK) 10 -pinga, boshqa zanjirni esa 5, 4 va 3 ga ulang. Shu bilan bir qatorda siz xohlagan raqamli pinlarni tanlashingiz mumkin. Sizning tanlovingizni aks ettiradigan kod. Keyin USB -rozetkani non paneliga qo'shing. Keyin v+ va tuproq pimlarini non taxtasining relslariga ulang. Keyin siz 2 ta zanjirdan +va erga elektr simlarini ulashingiz va Arduino erini erga ulashingiz kerak. Kengashni dasturlashni tugatgandan so'ng, siz Arduino vinni v+ ga ulashingiz mumkin va Aurdino USB -ni boshqa hech qachon ulamang.

4 -qadam: kod

Avvaliga, men faqat mavjud kodni olish va uni 32x32 ga kengaytirish kerak deb o'yladim, lekin bu biroz ayyorroq. 1. Sizga ikkita LedControl kerak, chunki ularning har biri 8 ta MAX7219s LedControl lc [2] = {LedControl (12, 10, 11, 8), LedControl (5, 3, 4, 8)}; 2. Nano -da 32x32 baytli 2 ta to'liq massivni saqlash uchun xotira etarli emas. (Nihoyat, intervyularda "O'yin kodi" ni doskaga yozgan vaqtlarim o'z samarasini beradi.) Shunday qilib, biz taxtali massivlar 32x4 bo'lib, har bir katakning holatini bir oz baytlarda saqlang.

5 -qadam: Hammasini bir joyga to'plash

Birinchidan, taxtalar bo'ylab diagonal xochni chizish uchun "testPattern" usuli yordamida taxtalarning joylashuvi va tuzilishini kuting. Agar bu to'g'ri ko'rinmasa, taxtalar va/yoki pinlar tartibida noto'g'ri narsa bor, keyin ekran bo'ylab harakatlanadigan planerni yaratadigan planer usuli bilan tekshiring. Agar u ishlamasa, pinlarning tartibini tekshiring va hokazo. Oxir -oqibat, asosiy usulni "tasodifiy" qilib belgilang, NUMITR -ni qayta o'rnatishdan oldin takrorlanishi kerak bo'lgan soniga o'rnating.

6 -qadam: uni ramkaga qo'ying

Buni ramkaga qo'ying
Buni ramkaga qo'ying

Endi hamma narsani ramkaga qo'yish kerak, birinchidan, matritsalarni 32x32 ramkaga birlashtiring. Kirish uchi hammasi bir tomonda ekanligiga ishonch hosil qilishni unutmang (yoki qidiruv kodini "gridToCell" da o'zgartiring, 2 -chi taxtalar teskari o'tsin). 5V tarmog'idagi rozetkani va kalitni qo'shing va hamma narsani lehimlang.

7 -qadam: ramka muammolari

Ma'lum bo'lishicha, menda 6x6 o'lchamdan kattaroq ramka kerak. Men do'konga borishga imkon topganimda, buni tugatish uchun qaytib kelishim kerak.

8 -qadam:

Tavsiya: