Satura rādītājs:
- Piegādes
- 1. solis: elektronika
- 2. darbība: LED sloksnes pievienošana
- 3. darbība. Projekta pielāgošana tastatūrai
- 4. solis: Arduino kods
- 5. darbība. Iespējamie uzlabojumi…
- 6. solis: Gatavs
Video: MIDI2LED - MIDI kontrolēts LED sloksnes gaismas efekts: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Šī ir mana pirmā pamācība, tāpēc izturieties ar mani.
Man patīk muzicēt, un dzīvās situācijās, piemēram, dzīvojamās istabas koncertos, man patīk, kad tiek atskaņoti gaismas efekti sinhronizācijā ar to, ko spēlēju. Tāpēc es uzbūvēju uz Arduino balstītu kasti, kas liek LED sloksnei iedegties nejaušā krāsā, kad es nospiedu piezīmi savā MIDI tastatūrā un kur es noklikšķināju uz piezīmes.
Piegādes
- Arduino Uno
- Arduino protoshield
- MIDI ligzda
- 1N4148 diode
- 6N138 opto savienotājs
- rezistori: 2x 220 omi, 1x 10 kOhm, 1x 470 omi
- WS2812B LED sloksne (60 gaismas diodes)
- daži atlikušie vadi
- termiski saraušanās caurules
- piemērots korpuss Arduino (es izmantoju plastmasas sadales kārbu)
Jums arī vajadzēs
- lodāmurs un lodētava
- MIDI tastatūra un MIDI kabelis
1. solis: elektronika
Ķēde ir diezgan vienkārša. Tas sastāv no standarta MIDI ieejas (pa kreisi no Arduino) un savienojuma ar LED sloksni (pa labi no Arduino). Novietojiet visas detaļas uz protoshield, tur ir daudz vietas. Parasti LED sloksnes barošanai ieteicams izmantot ārēju barošanas avotu, bet es atklāju, ka, spēlējot, vienlaikus tiek ieslēgtas tikai dažas gaismas diodes, tāpēc nav problēmu izmantot Arduino +5V / GND kā izejas jaudu. (Centieties nespiest visus taustiņus vienlaikus un ar pilnu ātrumu.;-)) Ja jūs nolemjat izmantot ārēju barošanas avotu, vienkārši pievienojiet to Arduino +5V un GND tapām. Daži cilvēki iesaka starp šīm divām līnijām ievietot 100uF kondensatoru (nav parādīts shematiski).
Lodējiet detaļas protoshield un pievienojiet LED sloksni, kā parādīts shēmā.
2. darbība: LED sloksnes pievienošana
Ir svarīgi savienot ķēdi ar LED sloksnes labo galu - ieejas galu. Manai sloksnei ir sieviešu savienotājs kā ieeja, un tajā ir mazi trīsstūri, kas vērsti prom no ieejas. Pie izejas bija savienotājs ar vīrieti (lai to varētu savienot ar citu sloksni, kas mums nav nepieciešama), tāpēc es to nogriezu un pielodēju pie trim kabeļiem, kas nāk no Arduino. Izmantojiet saraušanās caurules, lai savienotu trīs kabeļus ar LED sloksni un padarītu tos mazāk redzamus.
Manis izmantotās LED sloksnes aizmugurē ir līmlente, tāpēc to var viegli pielīmēt MIDI tastatūras aizmugurē.
3. darbība. Projekta pielāgošana tastatūrai
Jums, iespējams, būs jāpielāgo LED sloksne un Arduino kods tastatūrai. Manējā ir 76 taustiņi, un sloksnes garums ir gandrīz tieši tastatūras platums. Ja jums piem. 61 taustiņi, jums var būt nepieciešama īsāka sloksne. LED sloksni var sagriezt starp jebkurām divām gaismas diodēm. Vienkārši pārliecinieties, ka nogriežat pareizo daļu, tai ir ieejas gals (ar sieviešu savienotāju) un izejas gals (ar vīriešu savienotāju), jums ir jāsaglabā ievades beigas. Kodā mainiet #defines priekš
- NUMBER_OF_LEDS līdz to gaismas diožu skaitam, kas palikušas jūsu joslā pēc gala nogriešanas,
- NUMBER_OF_KEYS līdz tastatūras taustiņu skaitam un
- MIN_KEY līdz zemākās atslēgas MIDI piķa numuram. To var atrast tastatūras lietotāja rokasgrāmatā; vai izmantojiet rīku, kas parāda MIDI piezīmes numuru, piemēram, KMidiMon operētājsistēmai Linux vai Pocket MIDI operētājsistēmai Windows vai Mac; vai izmēģiniet dažādas vērtības, līdz ierīce reaģē uz visiem tastatūras taustiņiem
4. solis: Arduino kods
Arduino kodā tiek izmantota četrdesmit septiņu efektu MIDI bibliotēka (v4.3.1) un Adafruit bibliotēka Adafruit NeoPixel (v1.3.4). Instalējiet šīs bibliotēkas, izmantojot Arduino IDE. Pēc tam apkopojiet kodu un augšupielādējiet to Arduino, ja nav pievienots vairogs (optiskais savienotājs ir pievienots RX tapai, kas kavē augšupielādi). Barojiet Arduino, izmantojot USB kabeli (es izmantoju USB sienas kārpu).
Ja vēlaties modificēt kodu pēc saviem ieskatiem, šeit ir īss pārskats par tā darbību: katrā ciklā tiek nolasīta MIDI ievade. Ja ir saņemts notikums Note On vai Note Off, tiek izsauktas MyHandleNoteOn vai MyHandleNoteOff funkcijas. Viņi abi izsauc funkciju updateVelocityArray, kas saglabā atslēgas numura ātrumu (t.i., cik smagi esat nospiedis taustiņu). Ja ātrums ir lielāks par iepriekš saglabāto, atbilstošās gaismas diodes krāsa tiek iestatīta uz "pašreizējo krāsu". Pēc MIDI notikumu apstrādes tiek izsaukta funkcija updateLedArray. Tādējādi tiek atjaunināta "pašreizējā krāsa" (kuras sarkanās, zaļās un zilās vērtības mainās neatkarīgi lineārā veidā, līdz tiek sasniegts apakšējais vai augšējais gals, kurā lineāro izmaiņu ātrums ir iestatīts uz nejaušu skaitli), lēnām samazina nospiesto piezīmju ātrumu un atjaunina katras gaismas diodes krāsu vērtības, kurām ir jāmaina krāsa (jauna nots trāpījuma vai ātruma samazināšanās dēļ). Funkcija showLedArray pārnes krāsas uz Adafruit_NeoPixel struktūru, ko sauc par "pikseļiem", un liek faktiskajām gaismas diodēm parādīt pikseļu struktūras krāsas.
5. darbība. Iespējamie uzlabojumi…
Projekts nekad nav pabeigts. Vienmēr var kaut ko darīt, lai to uzlabotu:
- Protoshield satur tik maz detaļu, ka tas tiešām ir atkritumi; to pašu efektu varētu viegli sasniegt ar Arduino Nano un 15x7 caurumu PCB, kā arī dažām sieviešu tapām.
- Daži MIDI signāli pazūd. Ja tas ir NoteOn, atbilstošā gaismas diode nedeg; ja tas ir NoteOff, tas nenodziest (tāpēc es ieviesu ātruma samazināšanu, kas nodrošina, ka gaismas diodes nepaliks bezgalīgi). Es joprojām cenšos noskaidrot iemeslu. Iespējams, tā ir laika problēma, un MIDI.read () būtu jāzvana biežāk.
- Daži MIDI signāli ir nepareizi lasīti, t.i., iedegas nepareizas gaismas diodes. Var būt saistīts ar iepriekš minēto punktu. Vajag kādu izmeklēšanu.
- Ķēde ir veidota tā, lai sniegtu patīkamu vizuālu efektu bez lielas lietotāja mijiedarbības (izņemot tastatūras spēlēšanu). Tomēr es varētu iedomāties pievienot potenciometru, kas tiek nolasīts (izmantojot vienu no Arduino analogās ieejas), ar kuru jūs varat mainīt krāsu maiņas maksimālo ātrumu (pašlaik #definēt kā MAX_COLOR_CHANGE_SPEED = 20). Vai arī izmēriet vidējo laiku starp diviem NoteOn notikumiem un attiecīgi mainiet MAX_COLOR_CHANGE_SPEED - lēnās dziesmās krāsai vajadzētu mainīties lēnāk.
6. solis: Gatavs
Barojiet Arduino, izmantojot USB kabeli (es izmantoju USB sienas kārpu). Pievienojiet MIDI tastatūru MIDI ligzdai un sāciet šūpot. Skatieties, kā es spēlēju vieglu mūziku (pun, lai cik slikti tas būtu, tas ir paredzēts).
Ieteicams:
Vienkāršas LED sloksnes lampas (uzlabojiet savas LED sloksnes): 4 soļi (ar attēliem)
Vienkāršas LED sloksnes lampas (uzlabojiet savas LED sloksnes): Es jau ilgu laiku izmantoju LED sloksnes un vienmēr esmu mīlējis to vienkāršību. Jūs vienkārši nogriežat kādu lomu, pielodējat dažus vadus, pievienojat barošanas avotu un esat ieguvis gaismas avotu. Gadu gaitā esmu atradis c
Modificēts RGBW LED sloksnes kontrolieris, PIR kontrolēts, ESP8285: 3 soļi
Modificēts RGBW LED sloksnes kontrolieris, PIR kontrolēts, ESP8285: Virs mana galda mājās esmu uzstādījis RGBW LED sloksni. WiFi LED RGBW kontrolierim vajadzētu strādāt ar tādu lietotni kā Magic Home lietotne. Tomēr man ir ESP8285 mikroshēma, kuru es mirgoju ar savu programmaparatūru. Es pievienoju PIR, ar kuru LED sloksne pārslēdzas
LED sloksnes pārsteidzošs efekts: 4 soļi
LED sloksnes pārsteidzošs efekts: Hi draugs, mēs vēlamies labus LED sloksnes efektus. LED sloksne dekorē mūsu istabu un, kad tā dod efektu, istaba izskatās pārsteidzoša. Ja jūsu LED sloksne spīd vienkārši, tad šis emuārs jums ir ļoti īpašs, jo šajā emuārā jūs uzzināsit, kā mēs varam
Liekuma efekts: robotu gala efekts plākšņu liekšanai: 6 soļi
Bend Effector: Robot End Effector for Bending Plates
Kamīna gaismas efekts: 4 soļi
Kamīna gaismas efekts: Vai nav patīkami pēc garas un aukstas ziemas dienas sēdēt pie kamīna mājas siltumā? Lielākajai daļai cilvēku nav kamīna, bet pat redze vai liesmu gaisma var sasildīt jūs un jūsu auksto sirdi. Ja jūs meklējat