資料介紹
描述
這個(gè)概念
這個(gè)項(xiàng)目的誕生與我的ARKeytar MIDI 控制器的開發(fā)密切相關(guān)。在我構(gòu)建 ARKeytar 之后,我意識(shí)到我想擴(kuò)展它在音樂表達(dá)方面的能力。此外,我需要通過 MIDI 接口將生成的 MIDI 消息發(fā)送到我的鍵盤合成器或我的 PC,以控制 VST 合成器。
為了在連接整個(gè)設(shè)置的同時(shí)更改 MIDI 路由,我決定構(gòu)建一個(gè) MIDI 合并器,它還可以管理表情踏板和開關(guān)踏板。
工作原則
由于需要管理兩個(gè)串行端口(兩個(gè) MIDI 輸入和兩個(gè) MIDI 輸出),因此選擇了 Arduino Mega 板,因?yàn)榕c Arduino Uno 不同,它能夠管理多個(gè)串行端口。
這個(gè)想法是讓 ARKeytar MIDI 控制器和我的鍵盤合成器連接到合并器的 MIDI 輸入,而兩個(gè) MIDI 輸出直接指向鍵盤合成器和音頻-MIDI 接口。通過兩個(gè)具有三個(gè)位置的 SPDT(單刀雙擲)開關(guān),可以告訴 Arduino 兩個(gè) MIDI 輸入中的每一個(gè)的目標(biāo) MIDI 輸出端口。
MIDI 輸入 1 可以發(fā)送到 MIDI 輸出之一或兩者,而 MIDI 輸入 2 可以發(fā)送到 MIDI 輸出之一或不發(fā)送。MIDI 輸入 2 的路由包括不轉(zhuǎn)發(fā)生成的消息的可能性,因?yàn)檫B接的鍵盤只能用于控制其內(nèi)部聲音,而不是控制某些 VST 軟件。現(xiàn)在,只需移動(dòng)兩個(gè)開關(guān),我就可以配置我的 MIDI 設(shè)備的路由。
六個(gè) SPDT 開關(guān)控制 MIDI 路由以及踏板設(shè)置。
合并的后面板還提供了兩個(gè)插孔端口。其中之一可用于連接開關(guān)踏板。另一個(gè)可以同時(shí)處理表情踏板或開關(guān)踏板。可以通過頂部面板上的開關(guān)來選擇行為,該開關(guān)會(huì)更改踏板所連接的 Arduino 引腳的配置。
兩個(gè)用于表情和開關(guān)踏板的插孔。
將踏板用作簡(jiǎn)單開關(guān)時(shí),數(shù)字引腳 D2 設(shè)置為 INPUT_PULLUP。否則,將其設(shè)置為狀態(tài)為 HIGH 的輸出。在這種情況下,立體聲插孔中心引腳的電壓值通過模擬引腳 A4 上的analogRead() 讀取。其余引腳始終連接到 GND。
專用開關(guān)更改數(shù)字引腳 2 的模式以適應(yīng)兩種可能的踏板類型:輸出 HIGH 將表情踏板用作電位器,而 INPUT_PULLUP 將延音踏板用作開關(guān)。
讀取踏板狀態(tài)后,如果發(fā)生更改,則會(huì)生成 MIDI 消息。可以對(duì)控制更改目標(biāo)進(jìn)行編程,并且可以使用頂部面板上的開關(guān)為每個(gè)踏板選擇目標(biāo) MIDI 輸出端口。Arduino 將路由的傳入消息與踏板動(dòng)作后生成的消息合并在一起。
存在一個(gè)額外的開關(guān)來添加一些可以通過在 Arduino IDE 中編輯代碼來分配的通用設(shè)置。出于同樣的原因,存在數(shù)字編碼器。此外,可以使用三個(gè)單塊開關(guān)生成附加的 MIDI 消息,例如程序更改消息。
所有開關(guān)都使用一對(duì)移位寄存器連接到 Arduino。這主要用于簡(jiǎn)化前面板和擰在底座上的 Arduino Mega 之間的連接。以這種方式使用的通道數(shù)量減少了。
合并還提供了三個(gè) LED,用于分析傳入 MIDI 消息的類型。綠色和紅色 LED 分別由音符開和音符關(guān)信息激活,而藍(lán)色 LED 由彎音信息(這是 ARKeytar 發(fā)送的大部分 MIDI 信息)和控制更改信息觸發(fā)。
編碼器和根據(jù)傳入 MIDI 消息類型閃爍的三個(gè) LED。綠色表示打開,橙色表示關(guān)閉,藍(lán)色表示彎音和控制變化信息。
構(gòu)建和編程
我選擇了一個(gè)堅(jiān)固的鋁盒作為該項(xiàng)目的外殼。底座尺寸為 189 毫米 x 121 毫米。盒子的厚度,不包括后來的添加是 38 毫米。為 SPDT 開關(guān)鉆了六個(gè)孔,為停止踏板鉆了三個(gè)孔,為 LED 鉆了三個(gè)孔,為編碼器鉆了一個(gè)孔。
一開始,我沒有在 MIDI 端口上鉆孔,因?yàn)槲倚枰c四個(gè) MIDI 插座對(duì)齊,焊接到內(nèi)部電路上。
鉆孔后放置元件。在這個(gè)階段還不存在 LED 孔。
我遵循的程序是:
將所有主電路(包括 MIDI 端口)焊接到原型 PCB 板上。為了將 Mega 容納在具有剛性連接且無(wú)需焊接的合并外殼內(nèi),使用了公排針。Mega 和 PCB 之間的空間可用于安裝電路和電纜。也為該項(xiàng)目未來可能的擴(kuò)展留下了空間。MIDI 電路與插座一起焊接在底座上,并連接到 Arduino 串行端口。
將 PCB 擰到鋁殼底座上
打開四個(gè) MIDI 端口和 Arduino USB 孔。對(duì)于 MIDI 端口,使用直徑為 16 毫米的銑刀代替鉆頭,因?yàn)橥鈿け诼晕A斜,而 MIDI 插座則沒有。
鉆出所有需要的孔以安裝開關(guān)、LED 和編碼器。除了三個(gè)用于分析 MIDI 輸入的 LED 外,還添加了一個(gè) LED 來指示合并器已連接到電源并已打開。
迷笛端口。
由于所有開關(guān)都需要 5V 連接,以及另外 1 或 2 個(gè)數(shù)字引腳連接,我試圖限制連接機(jī)箱底座和頂部面板的電纜數(shù)量。頂部面板下方放置了兩個(gè)移位寄存器,因此至少電纜混亂僅限于頂部面板。這有助于保持合并基礎(chǔ)的一些整潔。帶狀電纜用于連接前面板和底座。
帶狀電纜(灰色)將前面板(頂部)連接到底座(底部)。
我包括了編碼器和單塊踏板,因?yàn)槲掖蛩憬o它們一個(gè)功能,比如從列表中更改設(shè)置和發(fā)送程序更改消息。但是,它們目前不活躍。
除兩個(gè)開關(guān)外,所有開關(guān)都連接到兩個(gè)數(shù)字引腳。開關(guān)可以處于三個(gè)位置,以便當(dāng)它們處于中心位置時(shí),它們可以將 5V 提供給其中一個(gè)引腳或不提供給任何一個(gè)引腳。在這個(gè)位置,兩個(gè)數(shù)字讀數(shù)都是低的。如果其中之一為 HIGH,則選擇相應(yīng)的設(shè)置。由于連接的設(shè)計(jì),它們永遠(yuǎn)不能同時(shí)處于 HIGH 狀態(tài)。以這種方式,三種可能的狀態(tài)是可能的。
尤其是:
開關(guān) 1 將 MIDI 輸入 1 路由到輸出 1、輸出 2 或兩者。
開關(guān) 2 將 MIDI 輸入 2 路由到輸出 1、輸出 2 或無(wú)。
開關(guān) 3 選擇踏板 2 的數(shù)字或模擬行為。踏板 1 始終充當(dāng)開關(guān)
開關(guān) 4 將使用踏板 1 生成的 MIDI 消息路由到 MIDI 輸出 1 或 2,或兩者。
開關(guān) 5 將使用踏板 2 生成的 MIDI 信息路由到 MIDI 輸出 1 或 2,或兩者。
開關(guān) 6 當(dāng)前未分配給任何功能。
相反,踏板只能位于兩個(gè)位置,并連接到單個(gè)數(shù)字引腳。如果在壓力時(shí)需要發(fā)送單條消息,則使用狀態(tài)的變化來觸發(fā)單條消息。否則,狀態(tài)可用于確定應(yīng)在一組兩條消息中發(fā)送哪條消息,如開/關(guān)按鈕。
三個(gè)踏板和編碼器(及其按鈕)當(dāng)前未分配給任何功能。
(1) MIDI 端口,(2) 踏板插孔,(3) 帶按鈕的編碼器,(4) MIDI 分析器 LED,(5) 路由和設(shè)置開關(guān),(6) 單塊開關(guān),以及 (7) Mega USB 端口和電源引領(lǐng)。
?
- Arduino:連續(xù)MIDI控制器/鍵盤
- 帶Ableton的Arduino MIDI控制器
- USB MIDI適配器的構(gòu)建
- Arduino MIDI控制器開源分享
- 基于Arduino Micro的簡(jiǎn)單USB MIDI適配器 2次下載
- 用Arduino Nano構(gòu)建一個(gè)SN76489 USB MIDI合成器
- 基于Arduino UNO構(gòu)建小型midi解碼器
- Arduino MIDI鼠標(biāo)控制器
- 構(gòu)建一個(gè)簡(jiǎn)單的USB MIDI即插即用呼吸控制器
- MIDIFART迷你袖珍MIDI控制器
- MIDI文件解析應(yīng)用程序免費(fèi)下載 9次下載
- 一種復(fù)音MIDI鍵盤控制器的設(shè)計(jì) 35次下載
- NB3000_Midi 0次下載
- MIDI合成算法及其FPGA實(shí)現(xiàn)
- 基于CPLD的MIDI音樂播放器的設(shè)計(jì)
- MIDI電纜測(cè)試儀電路原理圖 778次閱讀
- 高并發(fā)場(chǎng)景下請(qǐng)求合并 411次閱讀
- 基于LM3900構(gòu)建的函數(shù)發(fā)生器電路 888次閱讀
- git多個(gè)commit合并成一個(gè)commit 2848次閱讀
- Pandas中使用Merge、Join、Concat合并數(shù)據(jù)的效率對(duì)比 964次閱讀
- DigiPCBA的合并元件類型功能 1277次閱讀
- 詳解DigiPCBA的合并元件類型功能 1181次閱讀
- 基于STM32F103ZE+VS1053的音樂播放器設(shè)計(jì) 5509次閱讀
- 如何使用通用單片機(jī)制作MIDI鍵盤 7096次閱讀
- dfrobot模擬角度傳感器簡(jiǎn)介 1965次閱讀
- 沁恒股份USB轉(zhuǎn)MIDI芯片:CH345概述 3673次閱讀
- Allegro合并銅皮的方法 8987次閱讀
- 電信聯(lián)通的合并到底意味著什么? 8322次閱讀
- 電子式互感器校驗(yàn)儀及合并單元測(cè)試儀溯源裝置研究 5049次閱讀
- RAKE接收機(jī)的合并方式 7783次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論