Mundarija:
- Ta'minotlar
- 1 -qadam: Fikr
- 2 -qadam: sxematik va tovushli ishlov berish
- 3 -qadam: LED g'ildiragi
- 4 -qadam: Vizualizatsiya
- 5 -qadam: Tugmalar boshqaruvini bosing
- 6 -qadam: Beat Detection va Servo "raqs"
- 7 -qadam: 3D shakllari
- 8 -qadam: Elektr ta'minoti
- 9 -qadam: Bluetooth nazorati
- 10 -qadam: Blynk -ga asoslangan dasturni boshqarish
- 11 -qadam: eskizlar va kutubxonalar
- 12 -qadam: kelajakdagi yaxshilanishlar
Video: Portativ partiya chiroqlari: 12 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Tinkercad loyihalari »
Siz ziyofatga yorug'lik olib, uni yanada qiziqarli qila olasizmi?
Bu savol shu edi. Va javob ha (albatta).
Bu ko'rsatma musiqani tinglaydigan va Neopixel LEDlarning konsentrik halqalaridan musiqa vizualizatsiyasini yaratadigan ko'chma qurilma yaratish haqida.
Qurilmani "raqs" qilishga, ya'ni musiqa ritmiga o'tishga urinishdi, lekin ritmni aniqlash, aytilganidan ko'ra murakkabroq vazifa ekanini isbotladi (hech qanday ma'no yo'q), shuning uchun "raqs" biroz noqulay, lekin hali ham bor.
Qurilma Bluetooth-ni yoqadi va matnli buyruqlarga javob beradi. Partiya chiroqlarini boshqarish uchun ilova yozishga vaqtim yo'q edi (Android yoki iOS). Agar siz vazifani bajara olsangiz - menga xabar bering !!!
Agar sizga bu ko'rsatma yoqqan bo'lsa, iltimos, "Make It Glow" tanlovida unga ovoz bering!
Ta'minotlar
Partiya chiroqlarini yaratish uchun sizga kerak bo'ladi:
- STM32F103RCBT6 Leaflabs Leaflabs Leaf Maple Mini USB ARM Cortex -M3 Arduino uchun moduli (bu erga havola) - qurilmaning miyasi. Bu nisbatan arzon qurilmalar shunchalik kuchliki, nima uchun Arduino -ga qaytganingiz noma'lum.
- MSGEQ7 tarmoqli grafik ekvalayzer IC DIP-8 MSGEQ7 (bu erga havola)
- HC-05 yoki HC-06 Bluetooth moduli (havola shu erda)
- Adafruit MAX9814 mikrofoni (havola shu erda)
- Standart servo dvigatel (bu erga havola), siz qurilmangiz "raqsga" tushishini xohlaysizmi?
- CJMCU 61 bitli WS2812 5050 RGB LED drayverlarni ishlab chiqish kartasi (havola shu erda)
- TTP223 sensorli tugmachali modul, o'z-o'zidan qulflanadigan qulflash moslamasi (bu erda havola)
-
Ultra Compact 5000 mah mahalli ikkita USB ulagichi Super Slim Power Bank (bu erga havola)
- Rezistorlar, kondansatörler, simlar, elim, vintlar, prototiplash taxtalari va boshqalar.
1 -qadam: Fikr
Musiqa manbaiga yaqin joylashtirilishi mumkin bo'lgan portativ qurilmaga ega bo'lish va bu rang -barang musiqa vizualizatsiyasini yaratishdir. Siz qurilmaning harakatlarini tugmalar (sensorli) va Bluetooth orqali boshqarishingiz kerak.
Hozirgi vaqtda Party Lights -da 7 ta vizualizatsiya mavjud (agar sizda ko'proq g'oyalar bo'lsa, menga xabar bering!):
- Rangli kontsentrik doiralar
- Malta xoch
- Pulsatsiyalanuvchi chiroqlar
- Kamin (mening shaxsiy sevimlilarim)
- Yugurish chiroqlari
- Yengil daraxtlar
- Yon segmentlar
Odatiy bo'lib, qurilma har daqiqada vizualizatsiya orqali aylanadi. Biroq, foydalanuvchi bitta vizualizatsiyaga sodiq qolishi va/yoki qo'lda aylanishi mumkin.
Ranglar palitrasini aylantiruvchi vizualizatsiya, agar foydalanuvchi ma'lum bir rang kombinatsiyasini yoqtirsa, "muzlatib qo'yilishi" mumkin.
Yana bir nechta boshqaruv elementlari sifatida foydalanuvchi mikrofon sezgirligini o'zgartirishi va servo dvigatelning "raqs" rejimini yoqishi/o'chirishi mumkin.
2 -qadam: sxematik va tovushli ishlov berish
Qo'rqinchli sxematik fayl Github paketiga "fayllar" pastki jildiga kiritilgan.
Asosan, MSEQ7 mikrosxemasi ovozli signalni 7 diapazonga ajratuvchi ovozni qayta ishlash bilan shug'ullanadi: 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz va 16kHz
Mikrokontroller o'sha 7 diapazondan foydalanib, turli vizualizatsiyalarni yaratadi, asosan tegishli diapazon amplitudalarini LED yorug'lik intensivligi va rang kombinatsiyalariga joylashtiradi.
Ovoz manbai - bu 3 darajali daromadni boshqaruvchi mikrofon. Ovoz manbai qanchalik baland/balandligiga qarab tugmachalardan birini ishlatib, siz daromad parametrlarini o'zgartirishingiz mumkin.
Shuningdek, mikrokontroller 63 gigagertsli "bass" diapazonida "urish" aniqlashni amalga oshirishga harakat qiladi. Men haligacha zarba moslamasini aniqlash va saqlashning ishonchli usuli ustida ishlayapman.
"Sensorli" tugmalardan foydalanish tajriba edi. O'ylaymanki, ular juda yaxshi ishlaydi, ammo matbuot bilan aloqaning yo'qligi biroz chalkashtirib yuboradi.
3 -qadam: LED g'ildiragi
Vizualizatsiya yadrosi - 61 LEDli g'ildirak.
E'tibor bering, bu qism alohida halqalar bo'lib, ularni birlashtirish kerak bo'ladi. Menimcha, elektr uzatish liniyalari uchun mis simlar (ular halqalarni bir -biriga mahkam ushlab turadi) va ingichka signal simlari.
LEDlar pastki tashqi LEDdan boshlab soat yo'nalishi bo'yicha ichkariga qarab 0 dan 60 gacha raqamlangan. Markaziy LED 60 raqami.
Har bir vizualizatsiya har bir LEDni maqsadli vizualizatsiya segmenti uchun ma'lum bir pozitsiyaga joylashtiradigan ikki o'lchovli ma'lumotlar massiviga tayanadi.
Masalan, konsentrik doiralar uchun 5 segment mavjud:
- Tashqi aylana, LEDlar 0-23, 24 LED uzunlik
- Ikkinchi tashqi doira, LEDlar 24 - 39, 16 LED uzunligi
- Uchinchi doira (markazda), LEDlar uzunligi 40 - 51, 12 LED
- Ikkinchi ichki doira, uzunligi 52-59, 8 LED
- LED ichida, LED 60, uzunligi 1 LED
Vizualizatsiya 7 ta audio kanaldan 5 tasini xaritaga joylashtiradi va LEDlarni dumaloq diapazonidagi joylashuviga qarab, guruhdagi ovoz darajasiga mutanosib ravishda yonadi.
Boshqa vizualizatsiya turli xil ma'lumotlar tuzilmalari va formatlarini ishlatadi, lekin har doim ham vizualizatsiyani kodlar bilan emas, balki ma'lumotlar massivlari boshqaradi. Shunday qilib, vizualizatsiyani kodni o'zgartirmasdan, turli shakllarga (ko'p yoki kamroq LED, ko'proq EQ diapazonlari) sozlash mumkin, faqat ma'lumotlar massividagi qiymatlar.
Masalan, vizualizatsiya 1 uchun ma'lumotlar strukturasi eskizda shunday ko'rinadi:
// Vizualizatsiya 1 va 3 - to'liq 5 ta doiralar bayt TOTAL_LAYERS1 = 5; const bayt LAYERS1 [TOTAL_LAYERS1] [25] = {// 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 {24, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}, {16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39}, {12, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51}, {8, 52, 53, 54, 55, 56, 57, 58, 59}, {1, 60}};
4 -qadam: Vizualizatsiya
Hozircha 7 ta vizualizatsiya va boshlang'ich animatsiya mavjud:
Boshlang'ich animatsiya
Qurilma yoqilganda, fişekka taqlid ko'rsatiladi. Bu LED va Servo sinovlari ketma -ketligi bo'lishi kerak edi, lekin keyinchalik bunday sinovning jonlantirilgan versiyasiga aylandi
Rangli kontsentrik doiralar
Chiroqlar displey atrofida mos ekv diapazonining amplitudasiga mutanosib konsentrik doiralarda aylanadi. Tasodifiy soat va soat sohasi farqli o'laroq, 256 rangli g'ildirak ustidagi ranglarni sekin aylantirish
Malta xoch
Bitta tarmoqli - bu markaziy LED. Yana bir diapazon - LEDlarning vertikal va gorizontal chiziqlari, va qolgan segmentlar har birining EQ diapazonini ifodalaydi. Barcha segmentlar kontrast bo'lib qolish uchun 128 ofsetda aylanadigan ranglardir.
Pulsatsiyalanuvchi chiroqlar
Har bir doira barcha LEDlarni bir ovozdan yondiradi, bunda maxsus ekv -band ishlatiladi, shu bilan birga ranglar asta -sekin siljiydi. EQ guruhlari asta -sekin bir doiradan ikkinchisiga siljiydi, bu esa tashqi tomonga siljishni beradi.
Kamin
Bantlar pastdan yuqoriga qadar och qizil rangdan boshlangan va kaminda yonayotgan olovni simulyatsiya qilishda sariq qo'shilgan yarim doira. Vaqti -vaqti bilan yorqin oq "uchqun" tasodifan yuqoriga ko'tariladi. Rangning aylanishi yo'q
Yugurish chiroqlari
Har bir konsentrik doiralar alohida EQ diapazonidir. Etakchi LEDlar markaziy LED ostidagi vertikal chiziqda joylashgan. LED tarmoqli amplitudasiga mutanosib ravishda yonib turganda, u aylana bo'ylab "yugurishni" boshlaydi va asta -sekin kamayadi. Har ikkala soat yo'nalishi bo'yicha va teskari yo'nalishda aylanishlar qo'llab-quvvatlanadi, ular tasodifiy o'zgaradi.
Yengil daraxtlar
Segmentlar pastdan svetodioddan yuqoriga to'g'ri chiziqda, so'ngra yonma-yon kontsentrik yarim doira shaklida, palma daraxtlariga taqlid qilinadi. Rang aylanishi.
Yon segmentlar
Bu oldingi Malta xochining faqat 2 diagonal segmenti ishlatilgan versiyasidir. Ovoz to'lqinlari belgisiga o'xshash bo'lishi kerak.
5 -qadam: Tugmalar boshqaruvini bosing
Sensorli 4 ta tugma mavjud:
- Vizualizatsiyani aylantiring va boshqasini tanlaguningizcha joriyni saqlang (odatiy vizualizatsiya har 30 soniyada aylanadi)
- "Muzlatish" / "muzdan tushirish") joriy rang sxemasi - agar sizga ma'lum bir rang kombinatsiyasi yoqsa, uni muzlatib qo'yishingiz mumkin - rang aylanishi o'chirilgan va vizualizatsiya faqat shu ranglar palitrasida davom etadi.
- Mikrofon sezgirligini sozlash
- "Raqs rejimi" ni yoqing / o'chiring
Raqs rejimida qurilma hozirda yangrayotgan musiqaning "zarbasini" aniqlashga va ritmga ko'ra boshini burishga harakat qiladi. Hozircha "raqs" go'zaldan ko'ra ancha noqulay, rostini aytsam.
6 -qadam: Beat Detection va Servo "raqs"
Qurilma doimiy ravishda 63 Gts diapazonining ketma -ket cho'qqilari orasidagi masofa sifatida hozirgi ohangning "zarbasini" aniqlashga harakat qilmoqda. Aniqlangandan so'ng (va faqat raqs rejimi yoqilgan bo'lsa), qurilma servo dvigatelini ishga tushiradi, bu zarbaga ko'ra tasodifiy chapga yoki o'ngga buriladi.
Buni yanada ishonchli qilish bo'yicha har qanday yorqin fikrlar qabul qilinadi!
"Music_Test_LED" eskizi Arduino IDE yordamida chizish uchun mos keladigan tarzda 7 ta EQ tasmasini chiqaradi.
7 -qadam: 3D shakllari
Party Lights -ning butun yig'ilishi Autodesk TinkerCAD yordamida noldan yaratilgan.
Asl dizayn bu erda joylashgan. Github.com saytidagi "fayllar/3D" jildida STL modellari mavjud.
Ushbu dizayn qurilmaning qanday yig'ilganligini ko'rsatadi.
Barcha komponentlar chop etildi, so'ngra yig'ildi/yopishtirildi.
"Gumbaz" da mikrokontroller, Bluetooth platasi va mikrofon joylashgan. Mikrokontroller 40 mm x 60 mm o'lchamdagi taxtaga joylashtirilgan va belgilangan relslar bilan quvvatlanadi.
Servo gumbazning "oyog'ida", tugmalar esa taglikda joylashgan.
Batareya bo'linmasi "Ta'minot" bo'limida ko'rsatilgan batareya turi uchun maxsus bosilgan. Agar siz boshqa batareyadan foydalanishni tanlasangiz, bo'linma shunga mos ravishda qayta loyihalashga to'g'ri keladi.
8 -qadam: Elektr ta'minoti
Ultra-ixcham 5000 mah mahalli ikkita USB-chiqadigan Super Slim Power Bank bir necha soat ishlash uchun etarli quvvat beradi.
Batareya bo'linmasi shunday qurilganki, u qurilmaning qolgan qismidan ajralib turadi va uni boshqa turdagi batareyalarga mo'ljallangan bilan almashtirish mumkin.
Batareyani ichkariga ulashda USB vilkasi joylashtirilgan va issiq yopishtirilgan.
9 -qadam: Bluetooth nazorati
Qurilmani simsiz boshqarish usulini ta'minlash uchun HC-05 moduli qo'shilgan.
Yoqilganda, qurilma "LEDDANCE" deb nomlangan Bluetooth ulanishini yaratadi, siz uni telefoningiz bilan ulashingiz mumkin.
Ideal holda, PartyLights -ni boshqarishga imkon beradigan ilova bo'lishi kerak (ranglar palitrasini tanlash, tugmachalarni bosishni simulyatsiya qilish va hk). Biroq, men hali hech narsa yozmaganman.
Agar siz partiya chiroqlari uchun Android yoki iOS ilovasini yozishga yordam berishni xohlasangiz, menga xabar bering!
Qurilmani boshqarish uchun siz hozirda Bluetooth terminal ilovasidan foydalanishingiz va quyidagi buyruqlarni yuborishingiz mumkin:
- LEDDBUTT - bu erda '1', '2', '3' yoki '4' tegishli tugmani bosishni simulyatsiya qiladi. Masalan: LEDDBUTT1
- LEDDCOLRc - bu erda c - 0 dan 255 gacha bo'lgan raqam - rangli g'ildirakdagi kerakli rangning o'rni. Qurilma belgilangan LED rangiga o'tadi.
-
LEDDSTAT - faqat "0" va "1" dan iborat 3 ta belgi raqamini qaytaradi:
- birinchi pozitsiya: '0' - ranglar aylanmaydi, '1' - ranglar aylanadi
- ikkinchi pozitsiya: '0' - raqs rejimi o'chirilgan, '1' - raqs rejimi yoqilgan
- uchinchi pozitsiya: "0" - mikrofon normal daromad, "1" - mikrofon yuqori daromad
10 -qadam: Blynk -ga asoslangan dasturni boshqarish
Blynk (blynk.io)-bu apparat-agnostik IoT platformasi. Men Blynk -ni IoT avtomatik o'simliklarni sug'orish tizimida ko'rsatma sifatida ishlatardim va platformaning qulayligi va mustahkamligi meni hayratda qoldirdi.
Blynk Bluetooth orqali zamonaviy qurilmalarga ulanishni qo'llab -quvvatlaydi - bu bizga PartyLights uchun kerak bo'lgan narsa.
Agar sizda hali yo'q bo'lsa, iltimos, Blynk ilovasini yuklab oling, ro'yxatdan o'ting va Blynk PartyLights ilovasini ushbu bosqichga biriktirilgan ekran tasvirlari yordamida qayta yarating. Iltimos, virtual pinni belgilash ekran tasvirlari bilan bir xil ekanligiga ishonch hosil qiling, aks holda ilovadagi tugmalar mo'ljallangan tarzda ishlamaydi.
"Blynk_settings.h" faylida mening shaxsiy Blynk UID mavjud. Loyihangizni yaratganingizda, unga siz uchun yangisi tayinlanadi.
PartyLightsBlynk.ino eskizini yuklang, ilovani yoqing. Bluetooth qurilmasi bilan ulang va bayramdan zavqlaning.
11 -qadam: eskizlar va kutubxonalar
Asosiy eskiz va yordamchi fayllar Github.com saytida joylashgan.
Party Lights eskizida quyidagi kutubxonalar ishlatilgan:
- TaskScheduler - ko'p vazifali kooperativ - bu erda (men ishlab chiqqanman)
- AverageFilter - shablonli o'rtacha filtr - bu erda (men ishlab chiqqan)
- Servo - Servo boshqaruvi - bu standart Arduino kutubxonasi
- WS2812B -NEOPixel nazorati - STM32 paketining bir qismi sifatida keladi
Bu Wiki sahifasida STM32 platalarini Arduino IDE bilan qanday ishlatish tushuntiriladi.
12 -qadam: kelajakdagi yaxshilanishlar
Agar siz ushbu loyihani boshlasangiz, bu dizaynda bir nechta narsalarni yaxshilashingiz mumkin:
- Maple Mini taxtasi o'rniga ESP32 dan foydalaning. ESP32 -da 2 ta CPU, Bluetooth va Wi -Fi to'plamlari mavjud va ular 60 MGts, 120 MGts va hatto 240 MGts da ishlay oladi.
- Kichik dizayn - natijada paydo bo'lgan qurilma juda katta. Bu ixchamroq bo'lishi mumkin (ayniqsa, agar siz raqs g'oyasini va unga tegishli servolarni tashlasangiz)
- Beat aniqlashni cheksiz yaxshilash mumkin. Biz odamlar uchun tabiiy ravishda keladigan narsa, kompyuter uchun qiyin vazifa bo'lib tuyuladi
- Ko'p vizualizatsiyalarni ishlab chiqish va amalga oshirish mumkin.
- Va, albatta, ajoyib UI yordamida qurilmani simsiz boshqarish uchun ilova yozilishi mumkin.
Tavsiya:
ESP32 bilan MQTT kayfiyat chiroqlari: 4 qadam (rasmlar bilan)
ESP32 bilan MQTT kayfiyat chiroqlari: Men uzoq vaqt davomida LED tasmasiga sakrashni xohlagan edim, shuning uchun yugurib chiqib, o'yinchoq uchun LED tasmasini oldim. Men bu kayfiyat chiroqlarini yasashni tugatdim. Ularni MQTT yordamida boshqarish mumkin, bu esa har xil aqlli usullarni qo'shish imkonini beradi
YN160 Pro LED yoritgichli yorug'lik chiroqlari, o'zgaruvchan toklar va yorug'lik chiroqlari: 8 qadam
YN160 Pro LED yoritgichli yorug'lik manbai (AC)
Yorug'lik va tovush effektlari bilan Arduino asosidagi yorug'lik chiroqlari: 14 qadam (rasmlar bilan)
Yorug'lik va tovush effektlari bilan Arduino asosidagi Lightsaber: Salom jedi! Bu ko'rsatma kinofilmda bo'lgani kabi ko'rinadigan, ovoz chiqaradigan va bajaradigan chiroqni yasash haqida. Yagona farq - bu metallni kesolmaydi: (Bu qurilma Arduino platformasiga asoslangan va men unga juda ko'p funktsiyalar va funktsiyalarni beraman, u
LED partiya paltosi: 15 qadam (rasmlar bilan)
LED Party Coat: Nyu -York shahri nihoyat o'zining eskirgan kabare qonunini bekor qildi, raqsga tushing, sizga bayram uchun to'g'ri kiyim kerak bo'ladi. Bu palto kutilmagan qobiliyatga ega bo'lgan yovvoyi moda buyumidir: u atrofdagi yorug'lik pasayganda yonadi. . Xuddi maxluq kabi
DIY Rojdestvo chiroqlari musiqaga o'rnatildi - Xoreografik uy chiroqlari: 15 qadam (rasmlar bilan)
DIY Rojdestvo chiroqlari musiqaga o'rnatildi - Xoreografik uy chiroqlari: DIY Rojdestvo chiroqlari musiqaga o'rnatildi - Xoreografiya qilingan uy chiroqlari Bu boshlang'ich DIY emas. Sizga elektronika, davriylik, BASIC dasturlash va elektr xavfsizligi haqida umumiy bilimlar kerak bo'ladi. Ushbu DIY tajribali odam uchun mo'ljallangan, shuning uchun