Mundarija:
- 1 -qadam: qismlar
- 2 -qadam: asboblar
- 3 -qadam: Breadboard tuzilishi
- 4 -qadam: kod
- 5 -qadam: Hammasini bir joyga to'plash
- 6 -qadam: uni ramkaga qo'ying
- 7 -qadam: ramka muammolari
- 8 -qadam:
Video: LED matritsali hayot o'yini 32 X 32: 8 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
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
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
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:
Qora hayot elektron nomlar belgisida muhim: 5 qadam
"Qora hayot" elektron o'girish nomlari belgisida muhim ahamiyatga ega. Talablar haqida ko'proq ma'lumot va
8x16 LED matritsali pong o'yini (har bir o'yinchi versiyasiga 2 ta belkurak): 3 qadam
8x16 LED matritsali pong o'yini (har bir o'yinchi versiyasiga 2 ta belkurak): Menga 8x8 o'lchamli LED matritsasi yordamida Arduino -da ishlatilgan klassik pong o'yinining ko'p turlaridan ilhomlangan. Bu yo'riqnomada men sizga har bir o'yinchi uchun ikkita eshkakli - hujumchi va darvozabonli sevimli Pong versiyasini qanday qurishni ko'rsataman.
Hayot o'yini to'plami: 7 qadam
Hayot o'yini to'plami: O'yin kartalari - bu uyali avtomatizatsiyani vizualizatsiya qilish uchun kengaytiriladigan platforma. Har bir taxtada 4x4 o'lchamdagi 16 ta LED, mikrokontroller, aloqa va quvvat tarqatish tarmog'i mavjud. Mavjud dasturiy ta'minot yordamida ular Conway -ni bajaradilar
Hayot o'lchami operatsion o'yini: 14 qadam (rasmlar bilan)
Hayot o'lchami operatsiyasi o'yini: Bolaligimda Milton Bredli operatsiyasi o'yinini yaxshi ko'rardim, zilzila har doim meni qo'rqitardi, lekin bu kulgili edi. Operatsiya o'yinining maqsadi - bu buyumni o'rab turgan metall tomonlariga cımbızla tegmasdan tananing bir qismini olib tashlash
O'z matritsali matritsali klaviaturani yarating (va Arduino -ga ulang): 7 qadam (rasmlar bilan)
O'z matritsali matritsali klaviaturani yarating (va uni Arduino -ga ulang): Demak, siz o'zingiz membranali klaviatura yaratmoqchimisiz? Nima uchun? O'zingizning klaviaturangizni yaratish ko'p sabablarga ko'ra foydali bo'lishi mumkin. Bu arzon va oson, uni vandalizatsiya qilish yoki o'g'irlash mumkin bo'lgan holatlarga qo'yish mumkin