步驟1:材料
基本上,該項(xiàng)目包括兩個(gè)部分:部件:MIDI接收電路和LED結(jié)構(gòu);還有一個(gè)微控制器來(lái)鏈接這些部分,并將來(lái)自DAW的MIDI信號(hào)“轉(zhuǎn)換”到LED燈帶。這是每個(gè)部分所需材料的列表。
MIDI接收電路:
1 x 6N138光電耦合器
1 x 1N914二極管
1 x 5針Din插孔(MIDI插孔)
2 x 220歐姆電阻
1 x 4.7K歐姆電阻
1個(gè)USB/MIDI插孔
LED結(jié)構(gòu):
我使用了基于WS2812B LED的RGB LED燈條,這些燈條只能通過(guò)1個(gè)數(shù)字端口進(jìn)行控制。如果計(jì)劃使用大量LED,則可能需要考慮所需的最大電流(1個(gè)LED最多可消耗60mA電流)。如果微控制器無(wú)法處理該最大值,則將需要另一個(gè)可以提供足夠電流的5V電源。我使用了帶有專(zhuān)用輸出適配器和開(kāi)關(guān)的5V-8A AC/DC適配器。
注意:似乎您可以使用計(jì)算機(jī)電源,因?yàn)樗鼈兡軌蛱峁┮粋€(gè)非常大的電流,但是您必須確保它能夠提供穩(wěn)定的5V DC電壓,可能是通過(guò)在地面(黑色)和5V輸出(紅色)之間使用36歐姆5瓦功率電阻來(lái)確保有足夠的電流
最后,我使用了一個(gè)帶螺絲屏蔽的簡(jiǎn)單Arduino Uno在MIDI信號(hào)和LED燈條之間建立鏈接。
第2步:構(gòu)建MIDI輸入電路
如果您對(duì)MIDI協(xié)議及其工作原理感興趣,我強(qiáng)烈建議您查看Notes and Volts YouTube頻道,那里有許多有趣且創(chuàng)新的教程和MIDI Arduino項(xiàng)目。
在這一部分中,我將僅關(guān)注MIDI輸入電路。最好在原型板上構(gòu)建原型,并在焊接組件之前檢查微控制器是否很好地接收到來(lái)自DAW的MIDI信號(hào)。
以下兩個(gè)視頻介紹了如何構(gòu)建和測(cè)試電路:
構(gòu)建電路
測(cè)試電路
最后,檢查此視頻以了解CC消息以及微控制器如何解釋自動(dòng)剪輯以控制LED亮度也是一個(gè)好主意。
步驟3:配置FL Studio(可選)
使用FL Studio感到很舒服,我將說(shuō)明如何正確配置其MIDI接口,但是我很確定如果您使用其他的數(shù)字音頻工作站,則此過(guò)程不會(huì)有太大不同。
首先只需將USB/MIDI插孔插入計(jì)算機(jī)即可。通常,此類(lèi)設(shè)備帶有嵌入式固件,即使它們不受干擾也可以識(shí)別為MIDI設(shè)備。然后打開(kāi)“設(shè)置”窗口(按F10鍵)。如果一切正常,您會(huì)在輸出部分注意到一些輸出MIDI設(shè)備。選擇您的設(shè)備并確保其已打開(kāi)。
然后,您必須定義端口號(hào)并記住它(例如0)。只需關(guān)閉此窗口(參數(shù)將自動(dòng)保存),然后添加一個(gè)新通道:MIDI Out。
然后,您要做的最后一件事就是定義該新通道的端口:確保選擇與您在“設(shè)置”部分中定義的端口號(hào)相同 :通過(guò)這樣做,來(lái)自您的通道的MIDI信息現(xiàn)在已鏈接到MIDI輸出。
現(xiàn)在,當(dāng)通過(guò)MIDI Out通道播放音符時(shí),將通過(guò)MIDI接口發(fā)送“ NoteOn”消息。以同樣的方式,釋放音符時(shí)將發(fā)送“ NoteOff”消息。
MIDI輸出通道附帶的另一個(gè)有趣的功能是可以用電位計(jì)控制不同的參數(shù)。右鍵單擊它們之一,然后選擇“配置。..”,可以使它們發(fā)送CCMessages(值從0到127),該消息將用于控制LED的亮度:選擇CC,然后接受。
通常,F(xiàn)L Studio現(xiàn)在可以將數(shù)據(jù)發(fā)送到MIDI接口了!接下來(lái)是編寫(xiě)代碼以在Arduino中閃存并使其適應(yīng)您的LED結(jié)構(gòu)。
步驟4:連接LED
連接LED燈條非常簡(jiǎn)單,因?yàn)樗鼈儍H需要+ 5V,GND和數(shù)據(jù)。但是,當(dāng)我計(jì)劃連接20多個(gè)時(shí),我決定使用幾個(gè)Arduino PWM引腳并聲明Adafruit_NeoPixel的幾個(gè)實(shí)例(在coe中),以避免任何意外的延遲。
所附圖像還打算說(shuō)明電子設(shè)備的工作原理:
LED燈條直接由電源供電。
使用電源開(kāi)關(guān)為Arduino供電
打開(kāi)開(kāi)關(guān)時(shí),Arduino會(huì)為MIDI輸入電路供電
第5步:設(shè)計(jì)3D結(jié)構(gòu)
到目前為止,這部分是最長(zhǎng)的部分我對(duì)3D打?。ê徒#┩耆吧?。我想設(shè)計(jì)一個(gè)看起來(lái)像是爆炸半截二十面體的結(jié)構(gòu)(是的,我花了一些時(shí)間來(lái)找到形狀的確切名稱(chēng))。
當(dāng)然,您可以自由設(shè)計(jì)自己的模型想要的形狀!我不會(huì)詳細(xì)介紹建模過(guò)程,但是如果您要設(shè)計(jì)這種結(jié)構(gòu),您會(huì)找到STL文件。
組裝不同零件需要花費(fèi)一些時(shí)間,因?yàn)槲冶仨氃诿總€(gè)面上分別放置一個(gè)LED,并且通過(guò)在內(nèi)核中焊接大量目前非?;靵y的導(dǎo)線(xiàn)來(lái)連接所有引腳!
注意:如果要設(shè)計(jì)這樣的結(jié)構(gòu),則需要10個(gè)六角形零件(每次使用大約3個(gè)小時(shí))一臺(tái)PP3DP UP微型打印機(jī))和6個(gè)五邊形部件(2小時(shí))。
一旦每個(gè)部件中只有一個(gè)LED,則必須將每個(gè)5V和GND端子連接在一起,并對(duì)多個(gè)輸入和輸出端子進(jìn)行接線(xiàn)每個(gè)LED的連接方式。
最后,我使用LED擴(kuò)散丙烯酸材料覆蓋每個(gè)表面,并使它們始終如一地發(fā)光。
在此之后剩下的就是代碼,它顯示的并不是那么復(fù)雜!/p》
第6步:代碼
正如我在上一部分中提到的那樣,代碼顯示非常簡(jiǎn)單!
實(shí)際上,它僅包含一個(gè)MIDI實(shí)例和幾個(gè)Adafruit_NeoPixel實(shí)例(以及不同的條帶)。
基本上,一旦聲明,MIDI類(lèi)就可以使用“中斷”:NoteOn,NoteOff和CCMessage。當(dāng)MIDI輸入小節(jié)將這些特定信號(hào)之一發(fā)送給Arduino時(shí),將調(diào)用關(guān)聯(lián)子例程。然后,代碼要做的就是打開(kāi)NoteOn信號(hào)上的特定LED,關(guān)閉相關(guān)的NoteOff信號(hào),并更新CCMessage上條帶的亮度。
我還定義了一個(gè)簡(jiǎn)單的該功能可通過(guò)讀取NoteOn信號(hào)隨附的速度來(lái)選擇LED的顏色,然后根據(jù)速度值的不同,每個(gè)LED可以是紅色,紫色,藍(lán)色,綠松石,綠色,黃色,橙色或白色從0到127。
需要注意的重要一點(diǎn)是,當(dāng)上傳草圖(串行端口用于此過(guò)程)時(shí),您將必須斷開(kāi)RX引腳(來(lái)自MIDI輸入電路)。連接到該引腳!
責(zé)任編輯:wv
-
led
+關(guān)注
關(guān)注
240文章
23085瀏覽量
657249 -
MIDI
+關(guān)注
關(guān)注
0文章
75瀏覽量
15611
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論