Mundarija:

ATMEGA328 UNO V3.0 R3 kartasi bilan WS2812-B LED: 11 qadam
ATMEGA328 UNO V3.0 R3 kartasi bilan WS2812-B LED: 11 qadam

Video: ATMEGA328 UNO V3.0 R3 kartasi bilan WS2812-B LED: 11 qadam

Video: ATMEGA328 UNO V3.0 R3 kartasi bilan WS2812-B LED: 11 qadam
Video: #1 Обзор FLProg | Визуальное программирование для Arduino 2024, Iyul
Anonim
WS2812-B LED ATMEGA328 UNO V3.0 R3 kartasi bilan
WS2812-B LED ATMEGA328 UNO V3.0 R3 kartasi bilan

Tavsif

Ushbu loyiha vizual effekt yaratish uchun ICStation WS2812-B dasturlashtiriladigan rangli LED kartasini ATMEGA328 UNO V3.0 R3 mos keluvchi Arduino UNO R3 bilan birlashtiradi. Bundan tashqari, agar siz "Disko" mavzusidagi partiyani o'tkazayotgan bo'lsangiz, bu sizga yoqadi. Men sizga bu narsalardan birini qanday qilishni ko'rsataman.

1 -qadam: Kerakli qismlar:

Kerakli qismlar
Kerakli qismlar

· Arduino UNO (yoki mos keladigan taxta) · 4 x WS2812-B dasturlashtiriladigan rangli LED-karta

· 330 ohmli qarshilik

· 4700 uF 16V elektrolitik kondansatkich

· Non paneli

· Ayol -erkak jumper simlari

· Breadboard jumper simlari

· Vintli terminalli 2.1 mm DC soket

· 5V 4A Plugpack quvvat manbai

E'tibor bering: ushbu loyihani batareyalar yordamida quvvatlantirish mumkin, lekin tavsiya etilmaydi va o'z xavfingiz ostida.

Sizga diskotekali kek kerak bo'ladi, uni siz qilishingiz kerak (yoki sotib olishingiz kerak). Xotinim buni tayyorladi. Va tez orada ko'rib turganingizdek, ichidagi tort pushti edi, chunki bu qulupnay keki edi.

Arduino kutubxonalari va identifikatorlari Siz Arduino IDE -ni bu erdan olishingiz mumkin: https://www.arduino.cc/en/Main/Software Men 1.6.4 versiyasidan foydalanganman, ehtimol bu eskirgan … lekin shunga qaramay yaxshi ishlaydi.

FastLED kutubxonasidan qanday foydalanish haqida ma'lumotni bu erdan olishingiz mumkin: https://fastled.io/ Va uni bu erdan yuklab olishingiz mumkin: FastLED kutubxonasi Men 3.0.3 versiyasidan foydalanganman, u ham eskirgan.

2 -qadam: ARDUINO kodi:

3 -qadam: ARDUINO kodining tavsifi:

· FastLED kutubxonasi: FastLED kutubxonasini Arduino IDE -ga yuklagan va o'rnatganingizga ishonch hosil qilishingiz kerak. Kutubxona ushbu eskizga kiritilgan, aks holda FastLED funktsiyalari ishlamaydi.

· "NUM_LEDS" o'zgaruvchisi: Arduino -ga qancha LED ishlatilishini aytadi. Bunday holda, bizda 4 ta LED uzuk bor, ularning har bir LED halqasida 16 ta LED va shuning uchun jami 64 ta LED mavjud. Agar siz pastki raqamni aniqlasangiz, masalan 16, unda eskiz faqat birinchi LED halqasidagi LEDlarni yoritadi.

· "DATA_PIN" o'zgaruvchisi: Arduino -ga LED halqasiga ma'lumotlarni uzatish uchun qaysi raqamli pin ishlatilishini aytadi. Bunday holda, men Digital Pin 9 dan foydalanmoqdaman.

· Boshqa o'zgaruvchilar: Menda LED tasodifiyligi va rangni nazorat qilish uchun ishlatiladigan boshqa ikkita o'zgaruvchi bor. Rang - bu LEDning rangi. Rang o'zgaruvchisini ko'paytirish orqali siz LEDlarni kamalakka o'xshash tarzda aylantirishga erishishingiz mumkin. "Hue" o'zgaruvchisi - bu "bayt", ya'ni u nolga qaytmasdan oldin maksimal 255 qiymatiga ko'tariladi.

Boshlash kodi: Agar sizda bu qo'llanmada boshqa LED halqasi bo'lsa, siz boshlang'ich kodini o'zgartirishingiz kerak bo'ladi. Ushbu LED halqasida WS2812-B chipseti mavjud (ICStation veb-saytiga ko'ra) va shu qatorda:

· FastLED.addLeds (LEDlar, NUM_LEDS); FastLED kutubxonasiga qaysi chipset ishlatilayotgani (NEOPIXEL), ma'lumotlarni uzatish uchun ishlatiladigan pin (DATA_PIN), boshqariladigan LEDlar qatori (LEDlar) va boshqariladigan LEDlar soni (NUM_LEDS) haqida xabar beradi. loop () ": kodning bo'limi:" rang "o'zgaruvchisi kamalak effektini yaratish uchun ortadi va FastLED ning random8 () funktsiyasi yordamida tasodifiy LED tanlanadi.

· Random8 (x) funktsiyasi: tasodifiy ravishda 0 dan x gacha bo'lgan sonni tanlaydi.

· RandomSeed () funktsiyasi: bu raqamni "haqiqiy tasodifiy tasniflashga" yordam beradigan joy. Bunga suzuvchi analogPin (A0) tasodifiyligini o'qish yordam beradi. Bu analogPin 0 bo'lishi shart emas, bu har qanday ishlatilmagan analog pin bo'lishi mumkin.

· Leds [rnd].setHSV (tus, 255, 255): Bu chiziq tasodifiy LEDni "tus" o'zgaruvchisiga teng rangga, to'yinganlikka 255 ga va yorqinlikka 255 ga o'rnatadi. To'yinganlik nolga teng bo'ladi. LED oq rangda porlaydi. Nolning yorqinligi LEDni o'chiradi.

· FastLED.show (): LED halqasining displeyida Arduinodan LED halqasining raqamli kirish piniga xabar yuborilmaguncha hech qanday jismoniy o'zgarishlar kiritilmaydi. Bu xabar FastLED.show () ga qo'ng'iroq qilganingizda uzatiladi; funktsiya. Bu LED halqalariga displeyni LED massividagi ma'lumotlar bilan yangilashini bildiradi. Shunday qilib, agar siz barcha LEDlarni yoqadigan qilib qo'ysangiz, FastLED.show () bo'lmaguncha taxta LEDlarni yoritmaydi. funksiya deyiladi. Buni bilish juda muhim - ayniqsa, o'z LED ketma -ketligini loyihalashda.

· Kechiktirish (50) liniyasi: miltillovchi vaqt oralig'ini 50 millisekundga o'rnatadi. Siz sekundiga miltillovchi sonini ko'paytirish yoki kamaytirish uchun kechiktirishni o'zgartirishingiz mumkin.

Leds .fadeToBlackBy (180) funktsiyasi: LEDlarni 180 birlikka kamaytiradi. Siz kerakli pasayish tezligiga erishish uchun bu raqamni oshirishingiz yoki kamaytirishingiz mumkin. Ammo ogohlantiring, agar siz bu funktsiyani chaqirishni unutib qo'ysangiz yoki LEDlarni etarli darajada o'chira olmasangiz, siz hamma LEDlarni yoqib qo'yishingiz mumkin, bu sizning Arduino kartangizni yo'q qilishi mumkin, ya'ni LED halqalar soniga bog'liq. bor va siz ularni qanday qilib hokimiyatga olishni tanladingiz.

4 -qadam: tort

Kek
Kek

· 1 -slayd - Asosiy plastinka: Kekni qo'yishdan oldin barcha elektron jihozlari o'rnatilgan va ish holatida taglik plitasini yaratish juda muhim. Tort tepasida simlar/kabellarni tayanch plastinka ostiga o'rnatishga urinish - falokat uchun retsept. Shunday qilib, avval tayanch plastinasini tayyorlang, so'ngra pirojnoe qismiga o'ting.

· 2 -slayd - Kekni pishiring: To'pning ikki tomonini yasash uchun sizga yarim sharning bir nechta pirogi kerak bo'ladi. Kekning umumiy og'irligiga, muzlashiga va yog'lanishiga bardosh berish va shaklini saqlab qolish uchun siz nisbatan zich tort tayyorlashingiz kerak. Sovutgandan va sovutgandan so'ng, siz ularni bir -birining ustiga qo'yib, shar hosil qilishingiz mumkin. Ular bir -biridan muz qatlami bilan ushlab turiladi.

· 3 -slayd - fondan muzlashi: poydevor muzini maxsus yopishtirilmaydigan gilamchada o'rash kerak. Biz ozgina un qo'shib yopishqoqlikni kamaytirishga yordam berganini aniqladik. Fondanning qalinligi butun bo'ylab mos kelishini ta'minlaydigan maxsus roliklar mavjud. Keyin ularni kvadrat bo'laklarga bo'lishingiz kerak (taxminan 1 sm kvadratchalar biz uchun yaxshi ishladi). Keyin kvadratlar kumush rangga bo'yalgan, u maxsus/qutulish mumkin kumush fondan sirlangan. Bir necha qatlamni ishlatishingiz kerak bo'lishi mumkin, va uni qatlamlar orasida quritishga ruxsat bering.

· 4 -slayd - Muzli pirojnoe: Kekni muzlatish mumkin yoki taglikdan tashqarida bo'lishi mumkin. Ammo agar siz buni tayanch plastinada qilishga qaror qilsangiz, siz LEDlarni tortdan tushishi mumkin bo'lgan muzlashdan himoya qilishingiz kerak bo'ladi (jarayonda). Kek to'liq muzlatilgach (muzlash bilan), siz tortni taxtaning markaziy holatiga qo'yishingiz kerak bo'ladi. Ehtimol, tort bazadan siljishi mumkin … shuning uchun uni joyida ushlab turish uchun nima qilish kerak bo'lsa, shuni qiling.

· 5-7 -slaydlar - fondan kvadratchalarini joylashtiring: muzlash hali ham yumshoq bo'lsa -da, siz tezda, uslubiy va tinimsiz ravishda fondan kvadratchalarini pirojnoe atrofida gorizontal chiziqli naqshda joylashtirishingiz kerak bo'ladi. Kekning shimoliy va janubiy qutblariga qarab ketma -ket ketma -ket harakat qiling. Kekning shimoliy qutbi uchun poydevorli doirani kesib qo'yishingiz mumkin. 7 -slaydda siz pirojniy tepasida teshikni ko'rasiz. Bu sovuq plastmassa kanistrdan yasalgan bo'lib, undan keyin pirojniy ustki qismidagi bezaklarni ushlab turardi. Kekning tepasida fondan aylanani joylashtirishdan oldin buni qiling.

· Slayd 8 - Yorqinlikni qo'shing: Barcha tortuvchi kvadratchalarni pirojnoe ustiga qo'ygandan so'ng, Kumush yaltiroq qismlarning bir qismi o'chirilgan bo'lishi mumkin. Bu erda siz yana bir necha marta kumush yaltiroq bilan o'ting va oxirgi paltoda, u qurib ketguncha, pirojniyning atrofiga bir oz porloqroq sepib, unga qo'shimcha nashrida berishingiz mumkin.

· 9 -slayd - Yakuniy mahsulot: Oxirgi qadam - pirojniyning yuqori qismiga simli uchqun va boshqa bezaklarni qo'shish. Shimoliy qutbdagi fondant qopqog'idan simlarni ichidagi kanistrga suring. Bu sizning barcha mashaqqatli ishingizni buzmasdan simlarni joyida ushlab turadi.

· WS2812-B mikrosxemasi: Bu LED halqa WS2812-B chipsetidan foydalanadi va 4 ta ajratuvchi pinli (GND, 5V, Din, Dout)

· Quvvat: Ushbu modulni quvvatlantirish uchun siz 5V va 1A gacha tok bilan ta'minlashingiz kerak

· Signallar: LED halqasini boshqarish uchun unga raqamli kirish pimi (Din) orqali signal yuborish kerak.

Raqamli chiqish pinidan (Dout) foydalanib, boshqa LED halqasini ulashingiz mumkin.

5 -qadam: Quvvatni ishlatish bo'yicha qo'llanma

Quvvatni ishlatish bo'yicha qo'llanma
Quvvatni ishlatish bo'yicha qo'llanma

· Umumiy qoida: halqadagi har bir LED qizil, yashil va ko'k chiroqlarni uzatishi mumkin, bu ranglarning kombinatsiyasi boshqa rangni tashkil qilishi mumkin. Oq yorug'lik bir vaqtning o'zida uchta rangdan iborat. Har bir alohida rang maksimal yorqinlikda 20 mA tokni tortadi. Oq rang maksimal nashrida bo'lganda, bitta LED taxminan 60mA chiziladi.

· Quvvat ko'paytirgichi: Agar har bir LED 60 mA gacha chiza oladigan bo'lsa va bitta LED halqasida 16 ta LED bo'lsa, u holda LED halqasida 16x60mA = 960mA. Xavfsiz bo'lish va matematikani osonlashtirish uchun har bir LED uzuk uchun 1A sig'adigan oqimni ta'minlaganingizga ishonch hosil qilishingiz kerak. Agar siz modullarning to'liq ishlashini xohlasangiz, 4 ta LED halqa 5V 4A quvvat manbaiga muhtoj bo'ladi.

6 -qadam: chizish diagrammasi

Qo'rqinchli diagramma
Qo'rqinchli diagramma
Qo'rqinchli diagramma
Qo'rqinchli diagramma

ONE LED halqasini Arduino -ga ulash

· 3 ta sim: LED halqasiga ulanish uchun sizga atigi 3 ta sim kerak. Agar siz bir vaqtning o'zida bir nechta LEDni yoqishni rejalashtirmoqchi bo'lsangiz, bu yaxshi bo'lishi mumkin. · XAVFSIZ YO'L: Arduino va LED halqasini quvvatlantirish uchun tashqi quvvat manbaidan foydalanish xavfsizroq bo'ladi.

· Elektrolitik kondansatkich: Katta 4700 uF 16V elektrolitik kondansatkichni elektr manbaining musbat va manfiy terminallari orasiga, kondansatörning manfiy oyog'i quvvat manbaining manfiy terminaliga ulangan holda, siz LED halqalarini har qanday boshlanishdan himoya qilasiz. oqimning shoshilishi.

Himoya rezistori: Arduino Digital Pin 9 (D9) va LED halqasining raqamli kirish pimi (Din) o'rtasida 300-400 ohmli rezistorni joylashtirish maqsadga muvofiqdir. Bu birinchi LEDni potentsial kuchlanishdan himoya qiladi

Tegishli simlar: Agar siz bir nechta LED halqalarni bir -biriga bog'lashni rejalashtirmoqchi bo'lsangiz (pastga qarang), ehtimol siz simlarni iloji boricha qisqa ushlab turishni va ular orqali o'tayotgan tokni ushlab tura oladigan yaxshi simni ishlatishni xohlaysiz.

7 -qadam: Ikki LED halqasini Arduino -ga ulash

Ikki LED halqasini Arduino -ga ulash
Ikki LED halqasini Arduino -ga ulash

Uchta qo'shimcha sim: Qo'shimcha LED halqasini ulash uchun sizga faqat 3 ta qo'shimcha sim kerak bo'ladi. Birinchi LED halqasining raqamli chiqishini (Dout) 2 -chi LED halqasining raqamli kirishiga (Din) ulash uchun sim kerak.

Xavfsiz qoling: Yana bir bor, xavfsizroq usul-tashqi quvvat manbai, terminallarda katta elektrolitik kondansatör va Arduino va birinchi LED halqasining raqamli kirish pimi orasidagi 300-400 ohmli qarshilik.

8 -qadam: To'rt LED halqasini Arduino -ga ulash

To'rt LED halqasini Arduino -ga ulash
To'rt LED halqasini Arduino -ga ulash

Oltmish to'rtta LED: har bir qo'shimcha LED halqa uchun 3 ta qo'shimcha sim kerak. 4 ta LED halqalari jami 64 ta LEDni ta'minlaydi.

AMPS -ni tomosha qiling: to'liq nashrida, bu sozlash 4 ampergacha (yoki har bir LED uzuk uchun taxminan 1 amper) bo'lishi mumkin.

Tashqi ta'minot zarur: LEDlar ko'p bo'lsa, ularni quvvatlantirish uchun tashqi quvvat manbaidan foydalanish zarur. Agar siz tashqi quvvat manbaidan foydalanmasangiz va tasodifan barcha LED -larni yoritib yuborsangiz, unda siz mikrokontrollerni haddan tashqari oqimdan zarar ko'rishingiz mumkin.

9 -qadam: ulanish jadvallari

Ulanish jadvallari
Ulanish jadvallari

ONE LED halqasini Arduino -ga qanday ulash mumkin

10 -qadam: Ikki LED halqasini Arduino -ga qanday ulash mumkin

Ikki LED halqasini Arduino -ga qanday ulash mumkin
Ikki LED halqasini Arduino -ga qanday ulash mumkin

11 -qadam: Xulosa

Xulosa
Xulosa
Xulosa
Xulosa
Xulosa
Xulosa

Ushbu qo'llanmada biz sizga Disco Ball kekini bezashni, shuningdek ICStation -dan RGB LED halqalarini qanday ishlatishni ko'rsatdik.

ICStation -dagi to'rtta mahsulot havolasi:

www.icstation.com/icstation-atmega328-board…

www.icstation.com/icstation-ws2812-programm…

www.icstation.com/1pcs-dupont-wire-10cm-254…

www.icstation.com/bread-board-jump-line-jum…

Led haqida ajoyib taqdimot qilgan do'stlarimiz uchun rahmat.

Kontentning asl manbasi bizning do'stimiz Skottdan kelgan:

arduinobasics.blogspot.com.au/2016/06/ardui…

Agar sizga bu parcha yoqqan bo'lsa, iltimos, do'stlaringiz bilan baham ko'ring.

Agar siz yaxshiroq ko'rib chiqishingiz mumkin deb o'ylasangiz, sharh qoldiring.

Agar sizda IC mahsulotlari haqida ko'proq fikringiz bo'lsa, iltimos biz bilan elektron pochta orqali bog'laning: [email protected]

Tavsiya: