LED matritsasi va Shift registrlari
Bizning darsimizda biz eng oddiy 8 × 8 qizil rangli LED matritsani
Arduino
Uno bilan bog'laymiz. Pin raqamlash pastki chap burchakdan boshlanadi. Shu bilan
birga, 1-16 sonli oyoqlarning raqamlanishi C va R ustunlari va chiziqlarini
raqamlash bilan hech qanday mantiq bilan bog'liq emas.
6- rasm.
Dinamik ko'rsatkichlar haqida darsga e'tiborni qaratib, biz matritsali
indikatorni boshqarish pallasida 8 bitli o'zgartirish registrlaridan
foydalanishga
harakat qilamiz. Biz bitta registrni ustunlar uchun javob beradigan indikator
xulosalariga, ikkinchisini esa chiziqlar xulosasiga bog'laymiz.
7- rasm.
Dastur
Buni yanada qiziqarli qilish uchun keling,
indikatordagi tabassumni
ta'kidlashga harakat qilaylik. Yuqorida aytib o'tilganidek, rasmni matritsada
ko'rsatish uchun biz dinamik displeydan foydalanamiz. Aniqrog'i, biz rasm
chizig'imizni chiziqlar bo'yicha ajratamiz.
Birinchidan, biz kerakli ustunlarni eng
yuqori qatorga, keyin ikkinchisida,
uchinchisida va hokazo, barcha 8 qatorda
yoritamiz
8- rasm.
Masshtabli LED matritsasi
8 × 8 dona LED matritsasi ikki raqam yoki oddiy belgini aks ettirish uchun
javob beradi. Agar indikatorda biroz yoki kamroq foydali rasmni ko'rsatmoqchi
bo'lsangiz, matritsani birlashtirishingiz kerak. Bu vertikal va gorizontal yo'nalishda
yangi smenali registrlarni qo'shish orqali amalga oshiriladi. Shuni ta'kidlash kerakki,
Arduino Uno boshqaruvchisining tezligi Shift registrlari bilan birgalikda faqat 16 ×
16 displey uchun etarli. LED displeyining kattalashib borishi sezilarli miltillashga
olib keladi.
Missiyalar
Gipnoz. Tekshirish moslamasini shunday joylashtiringki,
doimiy radiusli
konsentrik doiralar LED matritsasida 1 soniya davomida paydo bo'ladi.
O'yin ilon. 8 × 8 LED matritsasida ilon kabi mashhur o'yinni amalga oshiring.
Harakat yo'nalishini boshqarish uchun diagrammaga to'rtta tugmachani qo'shish
kerak, shuningdek olma yeyish voqeasi to'g'risida signal beradigan signal (yoki u
erda ilon nima yeydi ...).
Elektron daraja. Devrenga akselerometr qo'shing. LED matritsasida nuqta
ko'rsatadigan dastur yozing, uning koordinatalari
butun qurilmaning qiyalik
burchagiga bog'liq. Masalan, qurilma erga parallel ravishda o'rnatilganda
(tortishish vektoriga perpendikulyar), u holda nuqta markazda bo'ladi. Elektron
daraja chapga burilganda, nuqta mutanosib ravishda o'ngga siljiydi.
SOIC paketidagi mikrosxemasi bo'lgan modul
egalari klasterdagi modulni
yo'naltirish muammosiga duch kelishadi. Bu faqat MAX72xx-dan biroz farq qiladi.
Bu erda modullar navbat bilan tugaydi.
Sketch HelloWorld kutubxonasi bilan to'ldirilgan namunalardan.
Dastur asosida eskizda bu kasallikni davolay olmadim. Men uni boshqacha
davoladim. Adruino / libraries / MD_MAX72xx_lib.h faylida rasmdagi kabi
satrlarni topishingiz kerak.
Belgilangan satrda tanlanganlarni 0 ga belgilang. Faylni saqlang. Arduino
IDE-ni qayta ishga tushirib bo'lmaydi. To'ldiring, qarang.
Hisobot mazmuni.