Mundarija:

Qanday qilib 8x8x8 LED kubni qurish va uni Arduino yordamida boshqarish: 7 qadam (rasmlar bilan)
Qanday qilib 8x8x8 LED kubni qurish va uni Arduino yordamida boshqarish: 7 qadam (rasmlar bilan)

Video: Qanday qilib 8x8x8 LED kubni qurish va uni Arduino yordamida boshqarish: 7 qadam (rasmlar bilan)

Video: Qanday qilib 8x8x8 LED kubni qurish va uni Arduino yordamida boshqarish: 7 qadam (rasmlar bilan)
Video: Y-6 Y-8 led ustanovkasi qilinishi jarayoni o'rgansela bo'ladi#youtube #rec ##youtubevideo #рек 2024, Iyul
Anonim
8x8x8 LED kubini qanday qurish va uni Arduino yordamida boshqarish
8x8x8 LED kubini qanday qurish va uni Arduino yordamida boshqarish
8x8x8 LED kubini qanday qurish va uni Arduino yordamida boshqarish
8x8x8 LED kubini qanday qurish va uni Arduino yordamida boshqarish

2020 yil yanvar tahriri:

Men buni kimdir g'oyalarni ishlab chiqarish uchun ishlatmoqchi bo'lsa, men buni qoldiraman, lekin endi bu ko'rsatmalarga binoan kub yasashning ma'nosi yo'q. LED drayveri IClari endi yaratilmagan va ikkala eskiz ham Arduino va Processing -ning eski versiyalarida yozilgan va endi ishlamayapti. Ularni ishlashi uchun nimani o'zgartirish kerakligini bilmayman. Bundan tashqari, mening qurilish uslubim shafqatsiz tartibsizlikka olib keldi. Mening taklifim - boshqa yo'riqnomadagi ko'rsatmalarga amal qilish yoki to'plam sotib olish. Bu kubning narxi 2011 yilda taxminan 50 dollarni tashkil qilgan, hozirda ebaydan 20 dollarga sotib olishingiz mumkin.

Asl kirish:

Instructables -da LED -kublar ko'p, shuning uchun nima uchun boshqasi? Ko'pchilik 27 yoki 64 LEDdan tashkil topgan kichik kublar uchun, kamdan -kam hollarda ular mikrokontrolderda mavjud bo'lgan chiqish soni bilan cheklangan. Bu kub 512 ta LED bo'ladi va Arduino -dan faqat 11 ta chiqish simlari kerak bo'ladi. Bu qanday mumkin? Allegro Microsystems A6276EA LED drayveri yordamida.

Men sizga kubni qanday yasaganimni ko'rsataman, boshqaruv paneli va nihoyat uni porlashi uchun kod.

1 -qadam: materiallar

Materiallar
Materiallar

Kubni yaratish uchun sizga kerak bo'lgan barcha qismlar: 1 Arduino/Freeduino Atmega168 yoki undan yuqori chipli 512 LEDli, o'lchami va rangi sizga bog'liq, men kuchlanish oqimini boshqarish uchun Allegro 8 NPN tranzistorlarining 3 mm qizil 4 A6276EA LED haydovchi chiplaridan foydalanganman., Men BDX53B Darlington tranzistor 4 1000 ohmli rezistorlar, 1/4 vatt yoki undan yuqori 12 560 ohmli rezistorlar, 1/4 vatt yoki undan yuqori 1 330uF elektrolitik kondansatkich 4 24 pinli IC soket 9 16 pinli IC rozetkalari 4 "x4" (yoki undan katta)) barcha qismlarni ushlab turish uchun perford bo'lagi, eski kompyuter fanati, eski floppi boshqaruv kabeli, eski kompyuter quvvat manbai. Ko'plab ulash simlari, lehim, lehimlantiruvchi temir, oqim, bu sizning hayotingizni osonlashtiradi. 7 "x7" (yoki undan kattaroq) yog'ochdan yasalgan diodli lehim moslamasini yasash uchun ishlatilgan. Sizning tayyor Arduino/Freeduino kubingizni ko'rsatish uchun yaxshi holat - www.moderndevice.com saytidagi Yalang'och suyaklar taxtasi (BBB). LEDlar eBay -dan sotib olindi va Xitoydan yuborilgan 1000 LED uchun 23 dollar turadi. Qolgan elektronika Newark Electronics (www.newark.com) dan sotib olingan va narxi atigi 25 dollar atrofida. Agar siz hamma narsani sotib olishingiz kerak bo'lsa, bu loyihaning narxi atigi 100 dollar atrofida bo'lishi kerak. Menda juda ko'p eski kompyuter uskunalari bor, shuning uchun bu qismlar uyadan chiqib ketdi.

2 -qadam: qatlamlarni yig'ing

Qatlamlarni yig'ing
Qatlamlarni yig'ing
Qatlamlarni yig'ing
Qatlamlarni yig'ing
Qatlamlarni yig'ing
Qatlamlarni yig'ing
Qatlamlarni yig'ing
Qatlamlarni yig'ing

Ushbu 512 LED kubining 1 qatlamini (64 LED) qanday qilish kerak: Men sotib olgan LEDlarning diametri 3 mm edi. Men kichik LEDlarni ishlatib, xarajatlarni kamaytirishga qaror qildim va kubning oxirgi o'lchamini stol yoki tokchani to'liq egallamasdan, stolimga yoki tokchamga o'tiradigan darajada kichik qilib qo'ydim. Men chiziqlar oralig'ida taxminan.6 dyuymli 8x8 o'lchamli panjara chizdim. Bu menga har tomondan 4,25 dyuym atrofida kub o'lchamini berdi. Har bir qatlamni lehimlashda LEDlarni ushlab turadigan moslamani yaratish uchun chiziqlar uchraydigan joyda 3 mm teshiklarni burang. Bu shuni anglatadiki, u manba kuchlanishiga emas, balki erga yo'l beradi. Siz kubni umumiy anod konfiguratsiyasida qurishingiz kerak bo'ladi. Ko'pgina kublar umumiy katod sifatida qurilgan. LEDning uzun tomoni odatda anoddir, ishonch hosil qilish uchun o'zingizni tekshiring. Men qilgan birinchi narsa har bir LEDni sinab ko'rish edi. Ha, bu uzoq va zerikarli jarayon, agar xohlasangiz, uni o'tkazib yuborishingiz mumkin. Men kubni yig'ib olgandan keyin o'lik joyni topgandan ko'ra, LEDlarni sinab ko'rish uchun vaqt sarflashni afzal ko'raman. Men 1000 dan 1 ta o'lik LEDni topdim. Yomon emas. 11 dona qattiq, izolyatsiyalanmagan ilgakni 5 dyuymgacha kesib oling. Qatorning har bir uchiga 1 LEDni joylashtiring va simni har bir anodga lehimlang. Endi qolgan 6 LEDni qatorga qo'ying va anodlarni simga lehimlang. Bu vertikal yoki gorizontal bo'lishi mumkin, hamma qatlamlarni bir xilda bajarishingiz muhim emas. Har bir qatorni tugatganingizda, anodlardan ortiqcha qo'rg'oshini kesib oling. Men 1/8 dyuym atrofida qoldim. Hamma 8 qatorni tugatmaguningizcha takrorlang. Endi siz ularni bitta bo'lakka ulash uchun qilgan 3 qatorli simni lehimlang. Keyin men 5 voltni ulash orqali qatlamni sinab ko'rdim. Rezistor orqali sim panjarasini ulang va har bir katodning er uchiga tegib turing. Yonmaydigan har qanday LEDni almashtiring. Qatlamni jigdan ehtiyotkorlik bilan olib tashlang va chetga qo'ying. Agar siz simlarni egib qo'ysangiz, xavotir olmang. Iloji boricha ularni to'g'rilab turing. Bukish juda oson. Mening rasmlarimdan ko'rinib turibdiki, menda juda ko'p egilgan simlar bor edi. Tabriklayman, 1/8 qismi tugadi. Yana 7 ta qatlam tayyorlang. VOZIYA: Lehimlash Qatlamlarni bir -biriga yopishtirish (3 -qadam) osonroq, har bir keyingi qavat jigda bo'lsa ham, katodning yuqori chorak dyuymini 45-90 daraja oldinga buradi, bu esa unga LED ulanadigan LEDning atrofiga etib borishiga imkon beradi va lehimlashni ancha osonlashtiradi. Buni birinchi qavatingizga qilmang, biz shuni bildiramizki, bu pastki qavat va s s bo'lishi kerak xolislik.

3 -qadam: kubni yig'ing

Kubni yig'ing
Kubni yig'ing
Kubni yig'ing
Kubni yig'ing

Kub yaratish uchun barcha qatlamlarni qanday qilib lehimlash mumkin: Qattiq qismi deyarli tugadi. Endi, ehtiyotkorlik bilan bir qavatni jigga joylashtiring, lekin ortiqcha bosim o'tkazmang, biz uni egilmasdan olib tashlashni xohlaymiz. Bu birinchi qavat kubning yuqori yuzi. Birinchisining ustiga yana bir qatlam qo'ying, uchlarini tekislang va lehimlashni boshlang. Men birinchi navbatda burchaklarni, so'ngra chetini, so'ngra qatorlarni bajarishni osonlashtirdim. Ish tugaguncha qatlamlarni qo'shib turing. Agar siz simlarni oldindan eggan bo'lsangiz, qatlamni oxirigacha to'g'ri chiziqlar bilan saqlaganingizga ishonch hosil qiling. Har bir qatlam o'rtasida juda ko'p bo'sh joy bor edi, shuning uchun men kub shakliga ega emas edim. Muhim emas, men u bilan yashay olaman.

4 -qadam: Boshqaruv kengashini qurish

Tekshirish kengashini qurish
Tekshirish kengashini qurish
Tekshirish kengashini qurish
Tekshirish kengashini qurish
Tekshirish kengashini qurish
Tekshirish kengashini qurish

Qanday qilib boshqaruv panelini qurish va uni Arduino -ga ulash mumkin: Sxemaga rioya qiling va taxtani xohlaganingizcha yarating. Men kontroller chiplarini taxtaning o'rtasiga joylashtirdim va kubning har bir qatlamiga tokni boshqaradigan tranzistorlarni ushlab turish uchun chap tomondan, nazoratchi chiplaridan katodlarga o'tadigan ulagichlarni ushlab turish uchun o'ng tomondan foydalandim. LED ustunlari Men kompyuterning quvvat manbaiga ulanishi uchun ayol molex ulagichi bo'lgan 40 mm eski kompyuter fanatini topdim. Bu mukammal edi. Chip bo'ylab havo oqimining oz miqdori foydalidir va men hozirda 5 voltli nazoratchi chiplari va Arduino -ning o'zi bilan ta'minlashning oson yo'li bor. Men 1000 ohmdan foydalandim, chunki u LEDga 5 milliampni beradi, uni yoritish uchun etarli. Men Super Brite LEDlarini emas, balki yuqori yorqinlikni ishlataman, shuning uchun oqim kamayadi. Agar ustundagi barcha 8 LED bir vaqtning o'zida yonib tursa, bu atigi 40 milliamper. A6276EA -ning har bir chiqishi 90 milliampni boshqarishi mumkin, shuning uchun men diapazonda yaxshi. Haqiqiy qiymat, agar u mavjud bo'lsa va unchalik katta bo'lmasa, unchalik muhim emas. Men 560 ohmdan foydalanayapman, chunki menda bir nechta bor edi, men kubning har bir qatlamiga o'tadigan oqimni nazorat qilish uchun 6 ampergacha ishlov beradigan quvvat tranzistoridan foydalanardim. Bu loyiha uchun ortiqcha ish, chunki kubning har bir qatlami faqat barcha LEDlar yonib 320 milliampni tortadi. Men bo'sh joy o'sishini xohlardim va keyinroq kattaroq narsa uchun boshqaruv panelidan foydalanishim mumkin edi. Transistorning har qanday o'lchamiga mos keladigan kuchlanishdan foydalaning, kuchlanish manbasidagi 330 uF kondansatkichi har qanday kichik voltaj o'zgarishini yumshatishga yordam beradi. Men eski kompyuter quvvat manbaidan foydalanayotganim uchun, bu kerak emas, lekin kimdir o'z kubini quvvatlantirish uchun 5 voltli devor adapteridan foydalanmoqchi bo'lsa, men uni qo'yib yubordim. Menda boshqa mos keladigan ulagich yo'q edi, shuning uchun men 16 pinli IC rozetkalarini lehimladim va ularni boshqaruv panelini kubga ulash uchun ishlataman. Men, shuningdek, IC rozetkasini yarmini kesib, tranzistorlarni kub qatlamlariga ulaydigan 8 ta simni ulash uchun ishlatardim. Arduino uchun ulagich sifatida foydalanish uchun eski floppi kabelining uchidan taxminan 5 dyuym kesib tashladim. Floppy kabeli 20 qatorli 2 qatorli, yalang'och suyaklar taxtasida 18 pinli. Bu Arduino -ni taxtaga ulashning juda arzon usuli (bepul). Men tasma kabelini 2 ta simdan ajratib, uchlarini echib, lehimladim. Bu sizga Arduino -ni ulagichning har ikki qatoriga ulash imkonini beradi. Sxemaga rioya qilib, ulagichni joyiga lehimlang. Arduino -ni quvvat bilan ta'minlash uchun ulagichning 5 voltli va topraklama simlarini lehimlashni unutmang, men bu boshqaruv panelini boshqa loyihalar uchun ishlatmoqchiman, shuning uchun modulli dizayn men uchun yaxshi ishlaydi. Agar siz ulanishni qattiq o'tkazmoqchi bo'lsangiz, bu yaxshi.

5 -qadam: Ko'rgazma qutisini yarating

Ko'rgazma qutisini yarating
Ko'rgazma qutisini yarating
Ko'rgazma qutisini yarating
Ko'rgazma qutisini yarating
Ko'rgazma qutisini yarating
Ko'rgazma qutisini yarating
Ko'rgazma qutisini yarating
Ko'rgazma qutisini yarating

Yakuniy mahsulotingizni chiroyli ko'rinishga keltiring: Men bu yog'och sandiqni "Xobbi lobbi" da 4 dollarga topdim va u juda zo'r deb o'yladim, chunki uning ichida barcha simlarni ushlab turish uchun joy bor va u yaxshi ko'rinadi. Men kompyuter stolida ishlatilgan bitta qizil dog'ni bo'yadim, shuning uchun ular bir -biriga mos keladi. Lehimlash uchun ishlatiladigan panjara bilan bir xil o'lchamdagi panjara torting (chiziqlar orasidagi.6 dyuym). Qo'rg'oshinlar tepadan o'tishi uchun teshiklarni burang va qatlam/tekislik simlari uchun (4 -qadamdagi tranzistorlardan) panjara ortida yana bir teshik oching. Men o'rgandimki, 64 -qatorga o'tirish kichik teshiklardan o'tishga olib keladi. Oxir-oqibat, jarayonni tezlashtirish uchun barcha teshiklarni biroz kattaroq qilib burg'ilashga qaror qildim. Men taxminan.2 burg'uni ishlatardim, endi kub displeyning tepasida joylashganki, simlarni ulashda kub joyida qolishi uchun burchak uchlarini eging. Barcha simlarni to'g'ri tartibda ulashingizga ishonch hosil qiling. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Va simlarni qatlamlar (sxemada "tekisliklar" deb yozilgan) va tranzistorlar orasidagi ulang. Arduino pin 6 -dagi tranzistor - bu kubning yuqori qatlami, agar siz simlarni noto'g'ri qabul qilsangiz, bu kodda biroz tuzatilishi mumkin, lekin u ko'p ishni talab qilishi mumkin, shuning uchun ularni to'g'ri tartibda olishga harakat qiling. Hammasi qurilgan va ishga tayyor, keling, kodni olaylik va sinab ko'ramiz.

6 -qadam: kod

Kod
Kod

Bu kubning kodi boshqalardan farqli o'laroq amalga oshiriladi, men qanday moslashishni tushuntirib beraman, aksariyat kublar ustunlarga to'g'ridan -to'g'ri yozishni ishlatadi. Kodda aytilishicha, X ustuni yoqilishi kerak, shuning uchun unga bir oz sharbat bering, ishimiz tugadi. Arduino bilan gaplashish uchun 4 ta sim ishlatiladi: SPI-in, Clock, Latch va Enable. Men yoqish pinini (pin 21) rezistor (RL) orqali uladim, shuning uchun chiqish har doim yoqiladi. Men hech qachon Enable -ni ishlatmaganman, shuning uchun uni koddan olib tashladim. SPI-in-bu Arduino-dan olingan ma'lumotlar, Clock-ular gaplashayotgan vaqt orasidagi vaqt signalidir va Latch tekshiruvchiga yangi ma'lumotlarni qabul qilish vaqti kelganligini bildiradi. Har bir chip uchun har bir chiqish 16-bitli ikkilik raqam bilan boshqariladi. Masalan; 1010101010101010 -ni tekshirgichga yuborish boshqaruvchidagi boshqa LEDlarning yonishiga olib keladi. Sizning kodingiz ekran uchun kerak bo'lgan hamma narsani bajarishi va ikkilik raqamni tuzishi kerak, keyin uni chipga yuboring. Bu tovushdan ko'ra osonroq. Texnik jihatdan bu juda ko'p bitli qo'shimchalar, lekin men matematik matematikada juda yomonman, shuning uchun hamma narsani o'nlik kasrda bajaraman. Birinchi 16 bit uchun o'nlik sanoqli: 1 << 0 == 1 1 << 1 == 2 1 << 2 == 4 1 << 3 == 8 1 << 4 == 16 1 << 5 == 32 1 << 6 == 64 1 << 7 == 128 1 << 8 == 256 1 << 9 == 512 1 << 10 == 1024 1 << 11 == 2048 1 << 12 == 4096 1 << 13 == 8192 1 << 14 == 16384 1 << 15 == 32768Bu, agar xohlasangiz Chiqish 2 va 10, siz o'nliklarni (2 va 512) qo'shib, 514 olasiz. 514 ni tekshirgichga yuboring va 2 va 10 -chi chiroqlar yonadi, lekin bizda 16 dan ortiq LED mavjud, shuning uchun biroz qiyinlashadi. Biz 4 ta chip uchun displey ma'lumotlarini yaratishimiz kerak. Qaysi biri uni qurish uchun oson bo'lsa, buni yana 3 marta bajaring. Boshqarish kodlarini saqlash uchun global o'zgaruvchan qatordan foydalanaman. Siz yuborish uchun tayyor bo'lgan 4 ta displey kodiga ega bo'lgandan so'ng, mandalni tushiring (LOW holatiga qo'ying) va kodlarni yuborishni boshlang. Avval siz oxirgi xabarni yuborishingiz kerak. Chip 4, keyin 3, keyin 2, keyin 1 uchun kodlarni yuboring, keyin Latchni yana HIGH holatiga qo'ying. "Enable pin" har doim erga ulanganligi sababli, displey darhol o'zgartiriladi. Men ko'rsatmalarni ko'rsata boshlagan kub kodining ko'p qismi va umuman veb, oldindan o'rnatilgan animatsiyani bajarish uchun o'rnatilgan ulkan kod blokidan iborat. Bu kichik kublar uchun yaxshi ishlaydi, lekin har safar displeyni o'zgartirmoqchi bo'lganingizda 512 bitli ikkilikni saqlash, o'qish va yuborish juda ko'p xotirani egallaydi. Arduino bir nechta ramkadan ortiq ishlay olmadi. Shunday qilib, men kubni oldindan ko'rsatiladigan animatsiyalarga emas, balki hisob-kitobga asoslangan holda ko'rsatish uchun ba'zi oddiy funktsiyalarni yozdim. Men qanday qilib bajarilishini ko'rsatish uchun kichik animatsiyani qo'shganman, lekin o'z displeyingizni yaratish uchun sizga qoldiraman. Cube8x8x8.pde - Arduino kodi. Men kodga funktsiyalarni qo'shishni davom ettirmoqchiman va dasturni vaqti -vaqti bilan yangilab turaman. A6276EA ma'lumot varag'i:

7 -qadam: O'z qo'llaringiz bilan ishlang

Qo'l ishingizni ko'rsating
Qo'l ishingizni ko'rsating

Siz tugatdingiz, endi kubingizdan zavqlanish vaqti keldi. Ko'rib turganingizdek, mening kubim biroz egri chiqdi. Men boshqasini qurishga unchalik qiziqmayman, shuning uchun men qiyshiq holda yashayman. Menda bir nechta o'lik joylar bor, men ularni ko'rib chiqishim kerak. Bu noto'g'ri ulanish bo'lishi mumkin, yoki menga yangi boshqaruv chipi kerak bo'lishi mumkin. Umid qilamanki, bu ko'rsatma A6276AE yordamida o'z kubingizni yoki boshqa LED loyihasini yaratishga ilhomlantiradi. Izohlarda havolani joylashtiring. Tekshirish paneli 4x4x4 RGB kubni ham boshqaradi, shuning uchun bu mumkin. O'ylaymanki, sharni va kodni qanday yozishni to'g'ri bajarish juda qiyin bo'lmaydi.

Tavsiya: