Mundarija:

3x3x3 LED kub Arduino Lib bilan: 4 qadam (rasmlar bilan)
3x3x3 LED kub Arduino Lib bilan: 4 qadam (rasmlar bilan)

Video: 3x3x3 LED kub Arduino Lib bilan: 4 qadam (rasmlar bilan)

Video: 3x3x3 LED kub Arduino Lib bilan: 4 qadam (rasmlar bilan)
Video: Arduino haqida 1 video 2024, Iyul
Anonim
3x3x3 LED kub Arduino Lib bilan
3x3x3 LED kub Arduino Lib bilan

LED kublarini yaratish bo'yicha boshqa ko'rsatmalar ham bor, bu bir necha sabablarga ko'ra farq qiladi: 1. U kam sonli javonlar va to'g'ridan-to'g'ri Arduino-ga ulangan. 2. Aniq, oson takrorlanadigan elektron sxemasi ko'plab fotosuratlar bilan ta'minlangan. 3. Kubni dasturlashni oson va ifodali qiladigan dasturiy ta'minot uchun o'ziga xos yondashuv qo'llaniladi. Kerakli qismlar: - 1 ta perfboard - 3 ta NPN tranzistorlari (2N2222, 2N3904, BC547 va boshqalar) - 12 rezistor (~ 220 ohm va ~ 10k ohm) - 13 bosh (erkak yoki ayol) - 27 LED - sim

1 -qadam: LEDlarni tayyorlang

LEDlarni tayyorlang
LEDlarni tayyorlang
LEDlarni tayyorlang
LEDlarni tayyorlang

Bu qadam asosan 4x4x4 LED kubiga to'g'ri keladi, lekin biz uning o'rniga 3x3x3 kubni quramiz. Bunday kattalikdagi kub, qo'shimcha sxema va murakkablikni kiritmasdan, imkon qadar katta bo'ladi. Bizga to'qqizta uchta guruhga bo'linadigan jami 27 ta LED kerak bo'ladi. Har bir to'qqiz LED o'z katodlari (manfiy kabellar) o'rtasida umumiy aloqani bo'lishadi. Men ushbu to'plamlarning har birini "daraja" deb atayman. Bir darajadagi to'qqizta LEDning har biri boshqa ikki darajadagi mos keladigan LEDga o'z anodlari orqali ulanadi. Bular "ustunlar" deb nomlanadi. Agar bu mantiqqa to'g'ri kelmasa, biz kubni yaratganimizda o'z -o'zidan tushunarli bo'ladi. Ishni boshlash uchun biz kichik yog'och bo'lagidan matkap yaratamiz. Biz ularni lehimlayotganimizda, diodli LEDlar joyida qoladi. Men teshiklarni 5/8 dyuym (~ 15 mm) atrofida bo'shatishga qaror qildim, lekin aniq masofa muhim emas. Teshik LED atrofiga mahkam o'rnashgan bo'lishi kerak, chunki biz ularning lehim paytida harakatlanishini xohlamaymiz. Jig tugagach, biz har bir LEDning katodini 90 graduslik burchak ostida egamiz. Katodni uch xil usulda aniqlash mumkin: 1) bu oyoq qisqaroq, 2) dumaloq LEDning tekis tomonida, 3) u LED ichidagi kattaroq bo'lakka ulangan. Barcha LEDlar uchun katodni bir yo'nalishda egganingizga ishonch hosil qiling, endi biz lehimlashni boshlashga tayyormiz.

2 -qadam: LEDlarni lehimlang

LEDlarni lehimlang
LEDlarni lehimlang
LEDlarni lehimlang
LEDlarni lehimlang
LEDlarni lehimlang
LEDlarni lehimlang
LEDlarni lehimlang
LEDlarni lehimlang

Yangi qurilgan qurilmangizda LEDlarning to'qqiztasini birinchi o'ringa qo'ying. Ularni shunday joylashtiringki, oyoqlari soat sohasi farqli o'laroq bir xil bo'ladi. Fotosuratlarda katod soat yo'nalishi bo'yicha anodni tashqariga qaratgan holda ko'rsatiladi, lekin men oyog'ini LED ko'rinishiga to'sqinlik qilmasligi uchun, agar men buni takrorlagan bo'lsam, LEDlarni aylantirardim. Yonlarni lehimlang, har tomondan bir juft. Lehimlash paytida oyoqlarini bir -biriga mahkam bog'lab qo'yish uchun kichik qisqichlardan foydalaning. To'rt tomonning har biri lehimlangandan so'ng, burchaklarni ushlab turish uchun qisqichlarni siljiting va har biriga lehim qo'llang. Nihoyat, o'rta LEDning katodini yon tomonlardan biriga lehimlang va ortiqcha qismini kesib oling. Uch marta takrorlang. Endi sizda uchta to'qqizta LED bo'lishi kerak. Ikkita to'plamni bir -birining ustiga qo'ying. LEDlar orasidagi masofani masofada saqlang. Qachonki siz bo'sh joyni bo'shashtirsangiz, lehim paytida oyoqlaringizni mahkam ushlab turish uchun har bir oyoq to'plamini har tomonga ikkita qisqich yordamida mahkamlashingiz mumkin. Yaxshi ulanish uchun sizga LED atrofida burilish kerak bo'lishi mumkin. To'qqiz juftning har birini birma -bir lehimlang. Buni yana bir marta bajaring, shunda siz kubni tugatasiz. Kubni pervaz taxtasining bir tomoniga qo'ying. To'g'ridan -to'g'ri to'qqiz oyoq bir -biridan to'g'ri joylashtirilganligiga ishonch hosil qiling. Mening taxtamda har bir oyoq to'plami o'rtasida beshta teshik bor. Har xil tarkibiy qismlarga mos kelishi uchun perford taxtasining boshqa uchida imkon qadar ko'proq joy qoldirmoqchisiz. Joylashuvdan mamnun bo'lgandan so'ng, oyoqlarini ushlab turish uchun bir nechta klip qo'shing. Oyoqlarning pastki qismini teshib qo'ying, chunki bu rezistorlarni keyinchalik lehimlashni osonlashtiradi. Taxtani ag'daring va har bir oyog'ini joyida ushlab turing. Barcha oyoqlari lehimlangandan so'ng, kubni orqaga burang. Oxir -oqibat, biz har bir darajadagi taxtaning pastki qismidan qo'rg'oshinni lehimlashimiz kerak. Bir bo'lak qattiq simni echib oling va bir uchida kichik ilgakni eging. Ilgakni markaziy diodli oyoqlarning biriga osib qo'ying va uni perfortdagi teshikdan o'tkazing. Simni joyida ushlab turish uchun ilgak uchini lehimlang. Qolgan ikki darajani yana takrorlang. Keyingi qadam, sxemaning qolgan qismini qurishdir.

3 -qadam: O'chirish sxemasini yarating

O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri

O'chirish sxemasi juda oddiy. To'qqiz ustunning har biri Arduino piniga tokni cheklovchi rezistor orqali ulanadi. Uch darajaning har biri Arduino pimi bilan faollashtirilganda NPN tranzistori orqali erga ulanadi. Biz Arduino -da jami 12 ta chiqish pinidan foydalanamiz, lekin quvvat uchun 18 ta LED mavjud. Hiyla shundaki, bir vaqtning o'zida faqat bitta darajani yoqish mumkin. Agar daraja erga ulangan bo'lsa, bu svetodiodlarning har biri alohida to'qqiz boshqa Arduino pinidan biri orqali quvvatlanishi mumkin. Agar biz darajalarni etarlicha tez yoqsak, xuddi shu uchta sath bir vaqtning o'zida yonib ketgandek ko'rinadi. Keling, sxemani tuzaylik. Birinchi qadam - to'qqizta oqim cheklovli rezistorni tayyorlash. Men har bir pin uchun 220 ohmdan foydalanaman, u 22 mA atrofida chiziladi. Qiymat ishlatilayotgan LEDlarga qarab farq qilishi mumkin, lekin taxminan 135 dan 470 ohmgacha. Har bir pin 40 mA gacha quvvat olish imkoniyatiga ega. Xonani tejash uchun biz rezistorlarni vertikal holatda lehimlamoqchimiz. Ikkala uchi bir -biriga parallel bo'lishi uchun bitta simni pastga eging. Buni to'qqizta rezistor uchun qiling. Rezistorlar tayyor bo'lgach, biz ularni birma -bir lehimlaymiz. Ishni osonlashtirish uchun biz rezistorni har biriga alohida sim ishlatmasdan to'g'ridan -to'g'ri boshqa komponentlarga lehimlaymiz. Rezistorning bir uchi ustunga, ikkinchisi esa sarlavhaga ulanadi. Rezistorlarga eng yaqin bo'lgan LEDlarning birinchi qatoridan boshlang va orqaga qayting. Har bir satr tugagandan so'ng, qisqa tutashuvni oldini olish uchun bir -birining ustiga o'ralgan simlarni ajratish uchun kichik bo'lakdan foydalanishingiz mumkin. Rasm va diagramaga qarang, u tugagandan so'ng qanday ko'rinishga ega bo'ladi. Endi ustunlar yo'q bo'lib ketgan, keyingi bosqich - bu darajalarni boshqaruvchi komponentlarni lehimlash. NPN tranzistorining poydevori Arduino pin orqali 10k (yoki u erda) oqim cheklovli rezistor orqali faollashadi. Bu mos keladigan darajani erga ulaydi, bu esa LEDlar orqali oqim o'tishiga imkon beradi. Rasm va diagramaga qarang. LEDlar Arduino-dagi 2-10-pinlarga ulanishi kerak va sathlar pastdan yuqoriga 11-13-pinlarga ulanishi kerak. Agar siz boshqa sozlamalarga muhtoj bo'lsangiz, pinlar dasturiy ta'minotda ham sozlanishi mumkin. O'chirish tugadi, dasturiy ta'minotga o'tish vaqti keldi!

4 -qadam: dasturiy ta'minotdan foydalanish

Dasturiy ta'minotdan foydalanish
Dasturiy ta'minotdan foydalanish
Dasturiy ta'minotdan foydalanish
Dasturiy ta'minotdan foydalanish

Men LED kubini boshqarish uchun tarmoq atrofida suzuvchi bir nechta kod misollarini topdim. Ularning barchasi LEDlarni boshqarish uchun ikkilik yoki olti burchakli ma'lumotlarning katta massivlarini talab qilgan. Men osonroq yo'l bo'lishi kerak deb o'yladim, shuning uchun men o'z dasturiy ta'minotimni yozishga kirishdim. Mening birinchi qarorim - bu dasturiy ta'minotni apparatni aks ettirish. Bu shuni anglatadiki, har bir LEDni xom port ma'lumotlari yoki an'anaviy x, y, z ishlatish o'rniga ustun va darajaga qarab hal qilish kerak. Ikkinchi qaror, bitta chiroqni yoqish yoki o'chirish va shu erdan qurish kabi asosiy vazifalardan boshlash edi. Nihoyat, men yanada qiziqarli effektlar uchun foydali bo'lgan ikkita xususiyatni kiritishga qaror qildim. Ulardan biri buferer bo'lib, u asosiy funktsiyalarga yanada murakkab naqshlarni yaratishga imkon beradi. Ikkinchisi - bir vaqtning o'zida yoki bir vaqtning o'zida bir nechta LEDlarni yoqadigan ketma -ketlik funktsiyasi. Kutubxona protsessual kod va bo'sh funktsiyalar sifatida ish boshladi. U erdan qayta foydalanish mumkin bo'lgan Arduino kutubxonasini yaratish bo'yicha ko'rsatmaga amal qilish juda oson edi. Kutubxonani yuklab oling va uni eskiz/kutubxonalarga oching. Agar to'g'ri sozlangan bo'lsa, Arduino dasturida Fayl> Misollar> LedCube> ledcube ostida misol topishingiz kerak. Kod Github-da ham mavjud gzip/arduino-ledcube. O'qiganingiz uchun tashakkur!

Tavsiya: