Mundarija:

Oson LED bayramli yorug'lik namoyishi: Qishda sehrgarlar - FastLED va Arduino qo'llanmasi bilan WS2812B LED tasmasi: 6 qadam
Oson LED bayramli yorug'lik namoyishi: Qishda sehrgarlar - FastLED va Arduino qo'llanmasi bilan WS2812B LED tasmasi: 6 qadam

Video: Oson LED bayramli yorug'lik namoyishi: Qishda sehrgarlar - FastLED va Arduino qo'llanmasi bilan WS2812B LED tasmasi: 6 qadam

Video: Oson LED bayramli yorug'lik namoyishi: Qishda sehrgarlar - FastLED va Arduino qo'llanmasi bilan WS2812B LED tasmasi: 6 qadam
Video: 8-dars: Yoruglik diodi ( светодиод ) LED 2024, Iyul
Anonim
Image
Image

Men har qanday joyda namoyish qilish uchun ushbu bayram shousini loyihalashtirdim va dasturladim. Men piksel zichligi 30 piksel/ metr bo'lgan bitta WS2812B chizig'idan foydalanardim. Men 5 metrdan foydalanganim uchun menda jami 150 LED bor edi. Men kodni oddiy tutdim, shunda WS2812B LED chiziqlarini ishlatishni boshlagan har bir kishi kodni osonlikcha kuzatishi mumkin edi. Bu shuni anglatadiki, agar siz har xil miqdordagi piksellardan foydalansangiz, vaqt o'chadi, shuning uchun siz 150 LEDga yopishib olishingiz kerak. Bundan tashqari, oddiy qilib aytganda, musiqiy tizim Arduino tomonidan umuman boshqarilmaydi. Dasturning boshida 3 ta yashil va 1 ta qizil chiroq yonadi, keyin haqiqiy yorug'lik namoyishi boshlanadi. Musiqani qo'lda boshlashingiz kerak bo'lgani uchun, bu birinchi chaqnoqlar sizga musiqani qachon boshlash kerakligini ko'rsatib beradi. Men quyidagi kodni qo'shdim. Ushbu kodni notijorat maqsadlarda qo'shishingiz yoki o'zgartirishingiz mumkin.

Ta'minotlar

- WS2812B LED tasmasi

- Arduino

- Simlar

- 5V 10A quvvat manbai | Agar siz bir nechta chiziqlardan foydalansangiz, siz katta quvvat manbaidan foydalanishingiz kerak bo'ladi. Har bir piksel 60mA dan foydalanadi, shuning uchun 150 piksel * 60mA = 9A. Agar siz oq rangda to'liq yorqinlikni ishlatmoqchi bo'lsangiz, sizning quvvat manbai buni bajara olishi kerak. Agar siz 5V LED tasmalaridan foydalanayotgan bo'lsangiz, siz 5V quvvat manbaidan foydalanishingiz kerak va agar siz 12V LED tasmalaridan foydalansangiz, siz 12V quvvat manbaidan foydalanishingiz kerak, lekin 5V Arduino-ni quvvatlantirish uchun 12-5V konvertordan ham foydalanishingiz kerak.

1 -qadam: FastLED kutubxonasini yuklab oling

Bir nechta o'zgaruvchini aniqlang
Bir nechta o'zgaruvchini aniqlang

Agar sizda FastLED kutubxonasi yuklanmagan bo'lsa, github.com/FastLED/FastLED/releases saytidan so'nggi versiyasini yuklab oling.

FastLED kutubxonasini yuklab oling va uni Arduino kutubxonalari papkasiga o'tkazing. Ushbu papkaning nomini o'zgartirmang. Arduino IDE -da Sketch -ga o'ting, Kutubxonani qo'shing va keyin. ZIP kutubxonasini qo'shing. FastLED papkasini tanlang.

Kutubxonangiz o'rnatilgandan so'ng, #include qatorini kiriting Bu satrda siz kutubxonadan foydalanayotganingiz ko'rsatilgan.

2 -qadam: Bir nechta o'zgaruvchilarni aniqlang

Yuqorida aytib o'tganimdek, kodni soddalashtirish uchun piksellar sonini o'zgartirish vaqtni yoki yorug'likni ko'rsatadi.

#Define NUM_LEDS 150 qatorida siz ishlatilgan piksellar sonini qo'yasiz. Bu holda, bu 150 bo'ladi.

#Define DATA_PIN 5 chizig'i - bu siz ma'lumot simini ulagan raqamli pinni qo'yadigan joy.

#DREFINE BRIGHTNESS 255 chizig'i-bu erda siz yorqinlikni 0-255 shkalasida qo'yasiz, 255 eng yorqin.

3 -qadam: Kodni sozlash bo'limi

Kodni sozlash bo'limi
Kodni sozlash bo'limi

O'rnatish bo'limida 2 soniya kechikish va chiziq bor

FastLED.addLeds (leds, NUM_LEDS).setCorrection (TypicalLEDStrip);

WS2812B biz ishlatgan LED tasmasi turini ko'rsatdi va DATA_PIN biz oldingi bosqichda aniqlagan o'zgaruvchidir. GRB - ranglar tartibi. Bu ishlatilgan LED tasmasiga qarab farq qilishi mumkin. Kodni avvalgidek ko'ring va agar ranglar videodagi kabi bo'lmasa, uni RGB yoki BRG ga o'zgartiring. Siz ushbu qatorning qolgan qismini xuddi shunday qoldirishingiz mumkin. Chiziqlar

FastLED.setBrightness (max_bright); set_max_power_in_volts_and_milliamps (5, 8000);

LED chizig'ining quvvat sarfini cheklang. Bu FastLED kutubxonasining ajoyib xususiyati. 5 raqami biz ishlatgan kuchlanishdir va 8000 raqami LED tasmasi mAda ishlatilishi mumkin bo'lgan maksimal oqimdir. Foydalanish muddatini uzaytirish uchun quvvat manbai imkoniyatlarining atigi 80 foizidan foydalanish tavsiya etiladi. Menda 10A quvvat manbai bo'lgani uchun 0,8*10 = 8A yoki 8000mA.

4 -qadam: Loop bo'limi | Aka, kodning ajoyib qismi

Loop bo'limi | Aka, kodning ajoyib qismi
Loop bo'limi | Aka, kodning ajoyib qismi
Loop bo'limi | Aka, kodning ajoyib qismi
Loop bo'limi | Aka, kodning ajoyib qismi

Endi biz maxsus LED tasmasi uchun dasturni o'rnatishni tugatganimizdan so'ng, biz chiziqlarni yoritadigan qismini ajratishimiz mumkin. Bu bo'limni toza saqlash uchun men chiziqlarni boshqarish va turli effektlar yozish funksiyalaridan foydalanardim. Chapdagi yuqoridagi rasm funktsiyalarni bajaradigan pastadir qismining bir qismi. O'ngdagi rasm pastda va men har bir funktsiyani bajaradigan joyni yozganman.

5 -qadam: simlarni ulash

Ulanish
Ulanish

WS2812B LED chiziqlar har uchida 3 ta terminalga ega. Quvvat uchun 2, va bizning Arduino -dan keladigan ma'lumot uzatish uchun 1. Arduino -ning quvvat terminallariga 2 ta simni ulang va LED tasmasiga 2 ta quvvat simini ulang. Bundan tashqari, chiziqning oxiriga elektr in'ektsiya simlari deb nomlangan 2 ta quvvat simini qo'shish kerak, chunki agar siz buni qilmasangiz, kuchlanishning yo'qolishi chiziq oxiridagi xira LEDlarga olib kelishi mumkin. Qaysi terminal nima uchun ekanligini bilish uchun chiziqdagi yorliqlarni tekshiring. Polaritni aralashtirish qovurilgan chiziqqa olib kelishi mumkin. Bundan tashqari, ma'lumotlarni uzatish uchun umumiy asos yaratish uchun Arduino simini LED chizig'idagi topraklama simiga ulang. Men siz elektr in'ektsiya simlarini qo'shishingiz kerakligini aytdim, lekin buni ma'lumot simlari uchun qilolmaysiz. Buning sababi shundaki, har bir LED ma'lumot signalini keyingisiga qayta uzatadi, shuning uchun 1 ta ma'lumot simini belgilangan Arduino piniga va LED tasmasiga ulanganligiga ishonch hosil qiling. Ipda ma'lumot uzatish yo'nalishi ko'rsatilgan kichik o'q bo'lishi kerak. Ma'lumot uzatish simini oxiriga emas, boshiga qo'yganingizga ishonch hosil qiling. Buni aralashtirish qovurilgan bo'lakka olib kelishi mumkin.

6 -qadam: LED tasmasini o'rnatish

Men LED tasmasini derazaning ichki qismiga yopishtirib o'rnatdim. Biroq, LED tasmasini o'rnatishning boshqa ko'plab usullari mavjud. Alyuminiy kanalni ishlatishingiz mumkin, masalan, https://tinyurl.com/s2km4v3, chiziqlarni uyingizda chizig'iga qo'yish uchun. Agar siz LED tasmalaringizni tashqariga qo'yayotgan bo'lsangiz, men ip65 tasmalarini ishlatishni tavsiya qilaman, agar siz alyuminiy kanaldan foydalansangiz, chunki ular yarim suv o'tkazmaydigan va 1p67 dan yupqa, ba'zi kanallarga mos kelmasligi mumkin. Agar siz buni tashqarida kanalsiz o'rnatmoqchi bo'lsangiz, amalda suv o'tkazmaydigan ip67 tasmalaridan foydalaning. Burchakni aylanib o'tish uchun, masalan, tomning eng yuqori cho'qqisida, siz chiziqni kesishingiz va burchakdan o'tish uchun simlardan foydalanishingiz kerak. Siz tasmani egib qo'yishingiz mumkin, lekin ularni qanchalik egganingizdan ehtiyot bo'ling, chunki LEDni o'chirish oson.

Tavsiya: