Mundarija:
- 1 -qadam: materiallar
- 2 -qadam: MIDI kirish sxemasini yaratish
- 3 -qadam: FL Studio -ni sozlash (ixtiyoriy)
- 4 -qadam: LEDlarni ulash
- 5 -qadam: 3D tuzilishini o'chirish
- 6 -qadam: Kod
- 7 -qadam: Endi nima?
Video: MIDI tomonidan boshqariladigan LED strukturasi: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Haqiqiy musiqa ixlosmandlari va elektronika va informatika talabasi sifatida men har doim MIDI qurilmalarini yaratishni xohlardim, ular elektron musiqani yaratish uchun ishlatilishi mumkin edi.
Ko'plab shou va musiqiy festivallarda qatnashganimdan so'ng, men spektakllar paytida yorug'lik shoulariga juda qiziqa boshladim.
Ko'p izlanishlardan so'ng, men faqat mikrofondan foydalanadigan va LEDlarni xohlaganingizcha boshqarishga ruxsat bermaydigan qurilmalarni topdim.
DAW va MIDI signallari bilan tobora ko'proq tanishib, men bu loyihani boshlashga qaror qildim!
U LED -diodli 3D -tuzilmadan iborat bo'lib, ular MIDI signallari bilan boshqariladi (NoteOn, NoteOff va CC Messages).
Shunday qilib, musiqachi har bir LEDning rangini va qizg'inligini har qanday DAW tomonidan ishlab chiqarilgan MIDI signallari yordamida boshqarishi mumkin edi.
Bu g'oya bilan men yorug'lik namoyishlari orqali ijodkorlikni oshirishni va har kimga o'z ijodini yaratishga, har bir vizual spektaklni o'ziga xos qilishiga ruxsat berishni xohlardim.
1 -qadam: materiallar
Asosan, bu loyiha ikki qismdan iborat: MIDI qabul qilish sxemasi va LED tuzilishi; va bu qismlarni bog'lash va DAWdan keladigan LED chiziqlariga MIDI signallarini "tarjima qilish" uchun mikrokontroller. Bu erda har bir qism uchun zarur bo'lgan materiallar ro'yxati keltirilgan.
MIDI qabul qilish davri:
- 1 x 6N138 optokupl
- 1 x 1N914 diodli
- 1 x 5-pinli Din Jek (MIDI Jek)
- 2 x 220 Ohmli rezistorlar
- 1 x 4,7K Ohmli rezistor
- 1 USB/MIDI uyasi
LED tuzilishi:
Men faqat 1 ta raqamli port bilan boshqariladigan WS2812B LEDlariga asoslangan RGB LED chiziqlaridan foydalanardim. Agar siz ko'p sonli LEDni ishlatishni rejalashtirmoqchi bo'lsangiz, sizga kerak bo'lgan maksimal oqim haqida g'amxo'rlik qilishingiz kerak bo'lishi mumkin (1 LED maksimal 60mA iste'mol qilishi mumkin). Agar mikrokontroller bu maksimal qiymatni bajara olmasa, sizga yetarli tok etkazib beradigan yana 5V quvvat manbai kerak bo'ladi. Men 5V - 8A AC/DC adapterini maxsus chiqish adapteri va kalit bilan ishlatardim.
E'tibor bering: siz kompyuterni quvvat manbai bilan ishlatishingiz mumkin, chunki ular biladiki, ular haqiqatan ham yuqori tokni etkazib bera oladi, lekin siz uning 5V doimiy kuchlanishini, ehtimol, Er (qora) va 5V chiqish (qizil) o'rtasida 36 Ohm 5 Vt quvvat qarshiligi, rezistor orqali etarli oqim oqishini ta'minlash va shu tariqa barqaror 5V ta'minlash.
Nihoyat, men MIDI signallari va LED chiziqlar orasidagi bog'lanish uchun vintli qalqoni bo'lgan oddiy Arduino Uno -dan foydalandim.
2 -qadam: MIDI kirish sxemasini yaratish
Agar siz MIDI protokoli nima va u qanday ishlashi bilan qiziqsangiz, men sizga YouTube -dagi Notes va Volts kanalini tekshirishni tavsiya qilaman, u erda ko'plab qiziqarli va innovatsion darsliklar va MIDI Arduino loyihalari mavjud.
Bu bo'limda men faqat MIDI kirish sxemasiga e'tibor qarataman. Prototip taxtasida prototip yaratish va komponentlarni lehimlashdan oldin DAWdan keladigan MIDI signallari mikrokontroller tomonidan yaxshi qabul qilinganligini tekshirish maqsadga muvofiqdir.
Quyidagi ikkita videoda kontaktlarning zanglashiga olib borilishi va sinovdan o'tkazilishi tasvirlangan:
- Zanjirni qurish
- Zanjirni sinovdan o'tkazish
Nihoyat, CC xabarlarini tushunish uchun ushbu videoni tekshirish va masalan, LED yorqinligini boshqarish uchun sizning mikrokontrolleringiz avtomatlashtirish kliplarini qanday izohlashi mumkin.
3 -qadam: FL Studio -ni sozlash (ixtiyoriy)
FL Studio -dan foydalanish men uchun qulay bo'lganida, men uning MIDI interfeysini to'g'ri sozlashni tushuntiraman, lekin aminmanki, agar siz boshqa raqamli audio ish stantsiyasidan foydalanayotgan bo'lsangiz, bu protsedura tubdan farq qilmasligi kerak.
Avval siz USB/MIDI raz'emini kompyuteringizga ulashingiz kerak. Odatda, bunday qurilmalar o'rnatilgan dasturiy ta'minoti bilan birga keladi va ular yoqilmagan bo'lsa ham MIDI qurilmalari sifatida tan olinadi. Keyin "Sozlamalar" oynasini oching (F10 tugmachasini bosib). Agar hamma narsa to'g'ri ishlayotgan bo'lsa, chiqish qismida ba'zi MIDI qurilmalarini ko'rasiz. Qurilmangizni tanlang va uning yoqilganligiga ishonch hosil qiling.
Keyin siz port raqamingizni belgilashingiz va uni yodda tutishingiz kerak bo'ladi (masalan, 0). Bu oynani yoping (parametrlar avtomatik ravishda saqlanadi) va keyin yangi kanal qo'shing: MIDI Out.
So'ngra, siz qilishingiz kerak bo'lgan oxirgi narsa bu yangi kanalning portini aniqlashdir: "Sozlamalar" bo'limida siz belgilagan port raqamini tanlaganingizga ishonch hosil qiling: bu bilan sizning kanalingizdan keladigan MIDI xabarlari hozir. MIDI chiqishi bilan bog'liq.
Endi, MIDI Out kanali tomonidan nota ijro etilganda, MIDI interfeysi orqali "NoteOn" xabari yuboriladi. Xuddi shu tarzda, eslatma chiqarilganda "NoteOff" xabari yuboriladi.
MIDI Out kanalining yana bir qiziq xususiyati - har xil parametrlarni potentsiometrlar yordamida boshqarish. Ulardan birini sichqonchaning o'ng tugmasi bilan bosish va "Konfiguratsiya qilish …" ni tanlab, siz ularni LEDlar yorqinligini boshqarish uchun ishlatiladigan CCMessages (qiymati 0 dan 127 gacha) yuborishga majbur qilishingiz mumkin: CC ni tanlang va keyin Qabul qiling.
Odatda FL Studio endi MIDI interfeysiga ma'lumotlarni yuborishga tayyor! Keyingi - Arduino -da yonib turadigan kodni yozish va uni LED tuzilishiga moslashtirish.
4 -qadam: LEDlarni ulash
LED chiziqlarini ulash juda oddiy, chunki ularga +5V, GND va ma'lumotlar kerak. Biroq, men ulardan 20 dan ortig'ini ulashni rejalashtirganimda, har qanday kutilmagan kechikishni oldini olish uchun bir nechta Arduino PWM pinlarini ishlatishga qaror qildim va Adafruit_NeoPixel -ning bir nechta misollarini e'lon qildim.
Qo'shilgan rasm shuningdek, elektronika qanday ishlashini tushuntirmoqchi:
- LED chiziqlar to'g'ridan -to'g'ri quvvat manbai bilan quvvatlanadi.
- Arduino -ni yoqish uchun quvvat tugmasi ishlatiladi
- MIDI kirish sxemasi kalitni yoqishda Arduino tomonidan quvvatlanadi
5 -qadam: 3D tuzilishini o'chirish
Hozircha bu qism eng uzun qismi edi, chunki men 3D-bosib chiqarish (va modellashtirish) bilan mutlaqo yangi bo'lganman. Men yarim portlatilgan kesilgan ikosaedrga o'xshash tuzilmani loyihalashtirmoqchi edim (ha, shaklning aniq nomini topishga biroz vaqt ketdi).
Albatta, siz o'zingiz xohlagan shaklga muvofiq o'z modelingizni yaratishingiz mumkin! Men modellashtirish jarayonini batafsil bayon qilmayman, lekin agar siz ushbu tuzilmani loyihalashtirmoqchi bo'lsangiz, siz STL fayllarini topasiz.
Turli qismlarni yig'ish biroz vaqt talab qildi, chunki men har bir yuzga bitta LEDni qo'yishim kerak edi va ularning barchasini yadro ichidagi juda ko'p simlarni lehimlash orqali ulashim kerak edi, bu juda chalkash!
E'tibor bering: agar siz bunday tuzilmani loyihalashtirmoqchi bo'lsangiz, sizga 10 ta olti burchakli bo'lak (har birida PP3DP UP mini -printer yordamida har biri taxminan 3 soat) va 6 ta beshburchak bo'lak (2 soat) kerak bo'ladi.
Har bir qismda bitta LED bo'lgandan so'ng, siz har 5V va GND terminallarini bir -biriga ulashingiz va har bir LEDning bir nechta kirish va chiqish terminallarini ulanadigan tarzda ulashingiz kerak bo'ladi.
Va nihoyat, men har bir yuzni yopish uchun LED diffuziv akrildan foydalandim.
Shundan keyingina kod murakkab bo'lib qoladi, bu unchalik murakkab emas!
6 -qadam: Kod
Avvalgi bo'limda aytib o'tganimdek, kod juda oddiy ekanligini ko'rsatadi!
Aslida, u faqat bitta MIDI misolidan va bir nechta Adafruit_NeoPixel nusxalaridan iborat (qancha chiziqlar bo'lsa ham).
Umuman olganda, MIDI klassi "uzilishlar" bilan ishlaydi: NoteOn, NoteOff va CCMessage. MIDI kirish tsikruti o'ziga xos signallardan birini Arduino -ga uzatganda, yordamchi yordamchi dastur chaqiriladi. So'ngra, kod nima qilsa, NoteOn signalidagi ma'lum bir LEDni yoqadi, uni Associate NoteOff signalidan o'chiradi va CCMessage -dagi chiziqning yorqinligini yangilaydi.
Bundan tashqari, men NoteOn signalining tezligini o'qish orqali LEDlarning rangini tanlash imkoniyatini beradigan oddiy funktsiyani aniqladim va har bir LED qizil, binafsha, ko'k, turkuaz, yashil, sariq, to'q sariq yoki oq bo'lishi mumkin. 0 dan 127 gacha bo'lgan tezlik qiymatiga bog'liq.
E'tibor qilish kerak bo'lgan muhim narsa shundaki, siz eskizni yuklashda RX pinini (MIDI kirish pallasida) uzib qo'yishingiz kerak bo'ladi, chunki ketma -ket port (bu jarayonda ishlatiladi) shu pinga ulangan!
7 -qadam: Endi nima?
Hozir men barcha elektronikalarni joylashtirish uchun maxsus korpus ustida ishlayapman va men ham strukturaning nomini o'ylayapman! Iltimos, menga ayting -chi, bu loyiha sizga yoqdimi yoki yo'qmi, men boshqa ko'rsatuvlar ustida ishlayapman, chunki men bu ko'rsatmalarni ko'proq videolar bilan yangilashni rejalashtiryapman!
Tavsiya:
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadam dvigateli: 3 qadam
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadamli dvigatel: Siz hech qachon mini-loyihaga aylanishingiz kerak degan yomon fikrga keldingizmi? Xo'sh, men AD9833 to'g'ridan -to'g'ri raqamli sintez (DDS) moduli yordamida musiqa yaratishga qaratilgan Arduino Due uchun chizgan eskiz bilan o'ynab yurardim … va bir paytlar men o'yladim
Google Assistant tomonidan boshqariladigan LED matritsasi!: 7 qadam (rasmlar bilan)
Google Assistant tomonidan boshqariladigan LED matritsasi!: Bu qo'llanmada men sizga Google Assistant tomonidan boshqariladigan LED matritsasini qanday qilish kerakligini ko'rsataman, uni har qanday joyda smartfon yordamida boshqarish mumkin, shuning uchun boshlaylik
MIDI2LED - MIDI tomonidan boshqariladigan LED chiziqli yorug'lik effekti: 6 qadam
MIDI2LED - MIDI boshqariladigan LED chiziqli yorug'lik effekti: Bu mening birinchi o'rgatuvchim, shuning uchun men sabr qilaman, men musiqa yozishni yaxshi ko'raman va yashash xonasida kontsertlar kabi jonli vaziyatlarda, men o'ynagan narsam bilan sinxron yorug'lik effektlari bo'lsa, menga yoqadi. Shunday qilib, men Arduino-ga asoslangan qutini qurdim, u LED tasmasini yoritadi
MIDI/Arduino tomonidan boshqariladigan 8 bitli ovozli generator (AY-3-8910): 5 qadam
MIDI/Arduino tomonidan boshqariladigan 8-bitli ovozli generator (AY-3-8910): Retro tovushli 8-bitli ovoz generatorini yarating va uni MIDI orqali boshqaring, bu dizayn qisman Chiptune ixlosmandlari tomonidan Chiptune fayllari va boshqalarni ijro etish uchun Arduino sxemalarini yaratgan. erta video o'yinlarning kamchiliklarini birlashtirish bo'yicha o'z fikrlarim
ARDUINO YUN tomonidan boshqariladigan ROOMBA STEFANO DALL'OLIO tomonidan Wifi ilovasi orqali: 4 qadam (rasmlar bilan)
AROMINO YUN tomonidan boshqariladigan ROOMBA Wifi ilovasi orqali STEFANO DALL'OLIO: Ushbu qo'llanmada men ARDUINO YUN -ni Roomba -ga Wi -Fi orqali ulash uchun kodni ulashaman. Kod va ilovani to'liq Stefano Dall yaratgan va ishlab chiqqan. Olio.Mening Roomba - bu Roomba 620, lekin siz xuddi shu kodni boshqa Roomb uchun ishlatishingiz mumkin