Mundarija:
- Ta'minotlar
- 1 -qadam: elektronika
- 2 -qadam: LED chizig'ini ulash
- 3 -qadam: Loyihani klaviaturaga moslashtirish
- 4 -qadam: Arduino kodi
- 5 -qadam: Mumkin bo'lgan yaxshilanishlar …
- 6 -qadam: Bajarildi
Video: MIDI2LED - MIDI tomonidan boshqariladigan LED chiziqli yorug'lik effekti: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Bu mening birinchi o'rgatuvchim, shuning uchun sabr qiling.
Men musiqa yozishni yaxshi ko'raman va yashash xonasida kontsertlar kabi jonli vaziyatlarda, men o'ynagan narsalarim bilan sinxron yorug'lik effektlari bo'lsa, menga yoqadi. Shunday qilib, men MIDI klaviaturasidagi yozuvni bosganimda va eslatmani urganimda LED tasmasini tasodifiy rangda yoritadigan Arduino-ga asoslangan quti qurdim.
Ta'minotlar
- Arduino Uno
- Arduino protoshopi
- MIDI uyasi
- 1N4148 diodi
- 6N138 optik ulagichi
- qarshilik: 2x 220 Ohm, 1x 10kOm, 1x470Ohm
- WS2812B LED tasmasi (60 LED)
- qolgan simlar
- issiqlik o'tkazmaydigan quvurlar
- Arduino uchun mos korpus (men plastik ulanish qutisini ishlataman)
Sizga ham kerak bo'ladi
- lehim temir va lehim
- MIDI klaviatura va MIDI kabeli
1 -qadam: elektronika
O'chirish juda oddiy. U standart MIDI kirishidan (Arduino -ning chap tomonida) va LED chizig'iga ulanishdan (Arduino -ning o'ng tomonida) iborat. Barcha qismlarni protoshopga joylashtiring, juda ko'p joy bor, odatda, LED tasmasini quvvatlantirish uchun tashqi quvvat manbasidan foydalanish tavsiya etiladi, lekin men o'ynaganimda bir vaqtning o'zida bir nechta LEDlar yonib turganini ko'rdim. quvvat manbai sifatida Arduino +5V / GND dan foydalanishda muammo bo'lmaydi. (Barcha tugmalarni bir vaqtning o'zida va to'liq tezlikda urmaslikka harakat qiling.;-)) Agar siz tashqi quvvat manbaidan foydalanishga qaror qilsangiz, uni Arduino +5V va GND pinlariga ulang. Ba'zi odamlar bu ikki chiziq orasiga 100 uF kondansatör (sxemada ko'rsatilmagan) kiritishni tavsiya qiladi.
Qismlarni protoshopga lehimlang va diagrammada ko'rsatilganidek LED tasmasini ulang.
2 -qadam: LED chizig'ini ulash
LED chizig'ining o'ng uchini - kirish uchini kontaktlarning zanglashiga ulash muhim. Mening chizig'imda kirish sifatida ayol ulagichi bor va uning uchidan kichik uchburchaklar bor. Chiqishda erkak konnektor bor edi (biz uni boshqa chiziqqa ulashimiz kerak edi), shuning uchun men uni kesib, Arduino -dan keladigan uchta kabelga lehimladim. Uchta kabelni LED tasmasiga bir -biriga bog'lab qo'yish va ularni kamroq ko'rinadigan qilish uchun issiqlik qisqaruvchi quvurlardan foydalaning.
Men ishlatgan LED tasmasi orqasida yopishqoq lenta bilan ta'minlangan, shuning uchun uni MIDI klaviaturasining orqa tomoniga osongina yopishtirish mumkin.
3 -qadam: Loyihani klaviaturaga moslashtirish
Siz LED tasmasini va Arduino kodini klaviaturaga moslashtirishingiz kerak bo'lishi mumkin. Menda 76 tugma bor va chiziq uzunligi klaviaturaning kengligiga deyarli to'g'ri keladi. Agar sizda masalan. 61 ta kalit, sizga qisqa chiziq kerak bo'lishi mumkin. LED tasmasini har qanday ikkita LED o'rtasida kesish mumkin. To'g'ri qismini kesib tashlaganingizga ishonch hosil qiling, uning kirish uchi (ayol ulagichi bilan) va chiqish uchi (erkak ulagichi bilan), siz kirish uchini ushlab turishingiz kerak. Kodda #ta'riflarni o'zgartiring. uchun
- Nihoyat, chiziq kesilganidan keyin qolgan LEDlar soniga NUMBER_OF_LEDS,
- Klaviaturadagi tugmalar soniga NUMBER_OF_KEYS va
- MIN_KEY - eng past kalitingizning MIDI raqamiga. Buni klaviaturaning foydalanuvchi qo'llanmasida topishingiz mumkin; yoki Linux uchun KMidiMon yoki Windows yoki Mac uchun Pocket MIDI kabi MIDI eslatma raqamini ko'rsatadigan asbobdan foydalaning; yoki qurilma klaviaturangizdagi barcha tugmalarga javob bermaguncha turli qiymatlarni sinab ko'ring
4 -qadam: Arduino kodi
Arduino kodi qirq yetti effektli MIDI kutubxonasidan (v4.3.1) va Adafruit -dan Adafruit NeoPixel kutubxonasidan (v1.3.4) foydalanadi. Ushbu kutubxonalarni Arduino IDE yordamida o'rnating. Keyin kodni tuzing va qalqonsiz Arduino -ga yuklang (optokupl RX piniga ulangan, bu yuklashga to'sqinlik qiladi). Arduino -ni USB kabeli orqali quvvatlang (men USB devorli siğil ishlataman).
Agar siz o'z xohishingizga ko'ra kodni o'zgartirmoqchi bo'lsangiz, uning qanday ishlashini qisqacha ko'rib chiqing: Har bir davrada MIDI kiritish o'qiladi. Agar Eslatma yoqilgan yoki o'chirilgan bo'lsa, MyHandleNoteOn yoki MyHandleNoteOff funktsiyalari chaqiriladi. Ular ikkalasi ham kalit raqamining tezligini (ya'ni, tugmani qanchalik bosganingizni) saqlaydigan updateVelocityArray funksiyasini chaqirishadi. Agar tezlik avval saqlanganidan yuqori bo'lsa, mos keladigan LEDning rangi "joriy rang" ga o'rnatiladi. MIDI hodisalari bajarilgandan so'ng, updateLedArray funktsiyasi chaqiriladi. Bu "joriy rang" ni yangilaydi (qizil, yashil va ko'k qiymatlari chiziqli tarzda mustaqil ravishda o'zgaradi, pastki yoki yuqori uchiga yetguncha, chiziqli o'zgarish tezligi tasodifiy songa o'rnatiladi), bosilgan yozuvlarning tezligini asta -sekin pasaytiradi va rangini o'zgartirishi kerak bo'lgan har bir LEDning rang qiymatlarini yangilaydi (yangi eslatma yoki tezlikni pasayishi tufayli). ShowLedArray funktsiyasi ranglarni "piksel" deb nomlangan Adafruit_NeoPixel tuzilishiga o'tkazadi va haqiqiy LEDlar piksellar tarkibidagi ranglarni ko'rsatadi.
5 -qadam: Mumkin bo'lgan yaxshilanishlar …
Loyiha hech qachon tugamaydi. Uni yaxshilash uchun har doim biror narsa qilish mumkin:
- Protosholda juda oz qismlar bor, bu haqiqatan ham isrofgarchilik; xuddi shunday ta'sirga Arduino Nano va 15x7 teshikli PCB va ba'zi bir ayol pinli sarlavhalar yordamida erishish mumkin.
- MIDI signallarining bir qismi yo'qoladi. Agar bu NoteOn bo'lsa, mos keladigan LED yonmaydi; agar bu NoteOff bo'lsa, u o'chmaydi (shuning uchun men tezlikni pasaytirdim, bu esa LEDlarning abadiy qolmasligini ta'minlaydi). Men hali ham sababini tushunishga harakat qilyapman. Ehtimol, bu vaqt muammosi va MIDI.read () tez -tez chaqirilishi kerak.
- MIDI signallarining ba'zilari noto'g'ri o'qilgan, ya'ni noto'g'ri LEDlar yonadi. Yuqoridagi nuqta bilan bog'lanish mumkin. Biroz tergov kerak.
- O'chirish foydalanuvchilarning ko'p harakatisiz (klaviaturani o'ynashdan tashqari) yoqimli vizual effekt berish uchun mo'ljallangan. Biroq, men o'qiladigan potentsiometrni qo'shishni tasavvur qila olardim (Arduino analog kirishlaridan biri yordamida), siz ranglar o'zgarishi mumkin bo'lgan maksimal tezlikni o'zgartirishingiz mumkin (hozir #MAX_COLOR_CHANGE_SPEED = 20). Yoki ikkita NoteOn hodisasi orasidagi o'rtacha vaqtni o'lchang va MAX_COLOR_CHANGE_SPEED ni mos ravishda o'zgartiring - sekin qo'shiqlarda rang sekinroq o'zgarishi kerak.
6 -qadam: Bajarildi
Arduino -ni USB kabeli orqali quvvatlang (men USB devorli siğil ishlataman). MIDI klaviaturasini MIDI uyasiga ulang va harakatlanishni boshlang. Biroz yengil musiqa ijro etayotganimni tomosha qiling (qanchalik yomon bo'lsa ham, maqsadga muvofiq).
Tavsiya:
YN160 Pro LED yoritgichli yorug'lik chiroqlari, o'zgaruvchan toklar va yorug'lik chiroqlari: 8 qadam
YN160 Pro LED yoritgichli yorug'lik manbai (AC)
Sirli yorug'lik qutisi (tungi yorug'lik): 4 qadam
Sirli yorug'lik qutisi (tungi yorug'lik): Va bu juda oson qiziqarli loyiha, bu loyiha https://www.instructables.com/id/Arduino-Traffic-L…, lekin men allaqachon Men asl saytning tuzilishini o'zgartirdim, men qo'shimcha yoritgichlar qo'shaman va uni to'plash uchun poyabzal qutisini ishlataman
ESP8266 RGB LED chiziqli WIFI nazorati - NODEMCU Wi -Fi orqali boshqariladigan LED chiziqli IQ masofadan boshqarish pulti sifatida - RGB LED STRIP smartfonini boshqarish: 4 qadam
ESP8266 RGB LED chiziqli WIFI nazorati | NODEMCU Wi -Fi orqali boshqariladigan LED chiziqli IQ masofadan boshqarish pulti sifatida | Smartfonni RGB LED STRIP nazorati: Salom bolalar, bu qo'llanmada biz nodemcu yoki esp8266 ni RGB LED tasmasini boshqarish uchun IR masofadan boshqarish pulti sifatida ishlatishni o'rganamiz va Nodemcu smartfon orqali wifi orqali boshqariladi. Shunday qilib, siz RGB LED STRIP -ni smartfoningiz bilan boshqarishingiz mumkin
Arduino bilan ishlaydigan, sensorlar tomonidan boshqariladigan o'chadigan LED yorug'lik chiziqlari: 6 qadam (rasmlar bilan)
Arduino bilan ishlaydigan, yorug'lik sensori boshqariladigan yorug'lik chiroqlari: Men yaqinda oshxonamni yangiladim va yorug'lik shkaflarning ko'rinishini "ko'tarishini" bilardim. Men "Haqiqiy qo'lsizlar" ga bordim, shuning uchun menda ish joyining tagida bo'sh joy bor, shkaf tagida, shkaf tagida va mavjud shkaflarning tepasida
Led yorug'lik qopqog'i / himoyalangan qopqoq yoki yorug'lik: 4 qadam
Led Light Cap / Safty Cap yoki Light: bu tanlovga qo'shilgan narsalardan biri, men bu g'oyani asboblar qutisidagi "h2on" jurnalidan olganman, uning nalgeen shisha uchun qopqog'i nuri, shuning uchun men sotib olish o'rniga "myselft" ni aytdim. 22 dollar evaziga men o'zimnikidan bir necha dollarga kam pul topdim