资料介绍
描述
这个概念
这个项目的诞生与我的ARKeytar MIDI 控制器的开发密切相关。在我构建 ARKeytar 之后,我意识到我想扩展它在音乐表达方面的能力。此外,我需要通过 MIDI 接口将生成的 MIDI 消息发送到我的键盘合成器或我的 PC,以控制 VST 合成器。
为了在连接整个设置的同时更改 MIDI 路由,我决定构建一个 MIDI 合并器,它还可以管理表情踏板和开关踏板。
工作原则
由于需要管理两个串行端口(两个 MIDI 输入和两个 MIDI 输出),因此选择了 Arduino Mega 板,因为与 Arduino Uno 不同,它能够管理多个串行端口。
这个想法是让 ARKeytar MIDI 控制器和我的键盘合成器连接到合并器的 MIDI 输入,而两个 MIDI 输出直接指向键盘合成器和音频-MIDI 接口。通过两个具有三个位置的 SPDT(单刀双掷)开关,可以告诉 Arduino 两个 MIDI 输入中的每一个的目标 MIDI 输出端口。
MIDI 输入 1 可以发送到 MIDI 输出之一或两者,而 MIDI 输入 2 可以发送到 MIDI 输出之一或不发送。MIDI 输入 2 的路由包括不转发生成的消息的可能性,因为连接的键盘只能用于控制其内部声音,而不是控制某些 VST 软件。现在,只需移动两个开关,我就可以配置我的 MIDI 设备的路由。
六个 SPDT 开关控制 MIDI 路由以及踏板设置。
合并的后面板还提供了两个插孔端口。其中之一可用于连接开关踏板。另一个可以同时处理表情踏板或开关踏板。可以通过顶部面板上的开关来选择行为,该开关会更改踏板所连接的 Arduino 引脚的配置。
两个用于表情和开关踏板的插孔。
将踏板用作简单开关时,数字引脚 D2 设置为 INPUT_PULLUP。否则,将其设置为状态为 HIGH 的输出。在这种情况下,立体声插孔中心引脚的电压值通过模拟引脚 A4 上的analogRead() 读取。其余引脚始终连接到 GND。
专用开关更改数字引脚 2 的模式以适应两种可能的踏板类型:输出 HIGH 将表情踏板用作电位器,而 INPUT_PULLUP 将延音踏板用作开关。
读取踏板状态后,如果发生更改,则会生成 MIDI 消息。可以对控制更改目标进行编程,并且可以使用顶部面板上的开关为每个踏板选择目标 MIDI 输出端口。Arduino 将路由的传入消息与踏板动作后生成的消息合并在一起。
存在一个额外的开关来添加一些可以通过在 Arduino IDE 中编辑代码来分配的通用设置。出于同样的原因,存在数字编码器。此外,可以使用三个单块开关生成附加的 MIDI 消息,例如程序更改消息。
所有开关都使用一对移位寄存器连接到 Arduino。这主要用于简化前面板和拧在底座上的 Arduino Mega 之间的连接。以这种方式使用的通道数量减少了。
合并还提供了三个 LED,用于分析传入 MIDI 消息的类型。绿色和红色 LED 分别由音符开和音符关信息激活,而蓝色 LED 由弯音信息(这是 ARKeytar 发送的大部分 MIDI 信息)和控制更改信息触发。
编码器和根据传入 MIDI 消息类型闪烁的三个 LED。绿色表示打开,橙色表示关闭,蓝色表示弯音和控制变化信息。
构建和编程
我选择了一个坚固的铝盒作为该项目的外壳。底座尺寸为 189 毫米 x 121 毫米。盒子的厚度,不包括后来的添加是 38 毫米。为 SPDT 开关钻了六个孔,为停止踏板钻了三个孔,为 LED 钻了三个孔,为编码器钻了一个孔。
一开始,我没有在 MIDI 端口上钻孔,因为我需要与四个 MIDI 插座对齐,焊接到内部电路上。
钻孔后放置元件。在这个阶段还不存在 LED 孔。
我遵循的程序是:
将所有主电路(包括 MIDI 端口)焊接到原型 PCB 板上。为了将 Mega 容纳在具有刚性连接且无需焊接的合并外壳内,使用了公排针。Mega 和 PCB 之间的空间可用于安装电路和电缆。也为该项目未来可能的扩展留下了空间。MIDI 电路与插座一起焊接在底座上,并连接到 Arduino 串行端口。
将 PCB 拧到铝壳底座上
打开四个 MIDI 端口和 Arduino USB 孔。对于 MIDI 端口,使用直径为 16 毫米的铣刀代替钻头,因为外壳壁略微倾斜,而 MIDI 插座则没有。
钻出所有需要的孔以安装开关、LED 和编码器。除了三个用于分析 MIDI 输入的 LED 外,还添加了一个 LED 来指示合并器已连接到电源并已打开。
迷笛端口。
由于所有开关都需要 5V 连接,以及另外 1 或 2 个数字引脚连接,我试图限制连接机箱底座和顶部面板的电缆数量。顶部面板下方放置了两个移位寄存器,因此至少电缆混乱仅限于顶部面板。这有助于保持合并基础的一些整洁。带状电缆用于连接前面板和底座。
带状电缆(灰色)将前面板(顶部)连接到底座(底部)。
我包括了编码器和单块踏板,因为我打算给它们一个功能,比如从列表中更改设置和发送程序更改消息。但是,它们目前不活跃。
除两个开关外,所有开关都连接到两个数字引脚。开关可以处于三个位置,以便当它们处于中心位置时,它们可以将 5V 提供给其中一个引脚或不提供给任何一个引脚。在这个位置,两个数字读数都是低的。如果其中之一为 HIGH,则选择相应的设置。由于连接的设计,它们永远不能同时处于 HIGH 状态。以这种方式,三种可能的状态是可能的。
尤其是:
开关 1 将 MIDI 输入 1 路由到输出 1、输出 2 或两者。
开关 2 将 MIDI 输入 2 路由到输出 1、输出 2 或无。
开关 3 选择踏板 2 的数字或模拟行为。踏板 1 始终充当开关
开关 4 将使用踏板 1 生成的 MIDI 消息路由到 MIDI 输出 1 或 2,或两者。
开关 5 将使用踏板 2 生成的 MIDI 信息路由到 MIDI 输出 1 或 2,或两者。
开关 6 当前未分配给任何功能。
相反,踏板只能位于两个位置,并连接到单个数字引脚。如果在压力时需要发送单条消息,则使用状态的变化来触发单条消息。否则,状态可用于确定应在一组两条消息中发送哪条消息,如开/关按钮。
三个踏板和编码器(及其按钮)当前未分配给任何功能。
(1) MIDI 端口,(2) 踏板插孔,(3) 带按钮的编码器,(4) MIDI 分析器 LED,(5) 路由和设置开关,(6) 单块开关,以及 (7) Mega USB 端口和电源引领。
- Arduino:连续MIDI控制器/键盘
- 带Ableton的Arduino MIDI控制器
- USB MIDI适配器的构建
- Arduino MIDI控制器开源分享
- 基于Arduino Micro的简单USB MIDI适配器 2次下载
- 用Arduino Nano构建一个SN76489 USB MIDI合成器
- 基于Arduino UNO构建小型midi解码器
- Arduino MIDI鼠标控制器
- 构建一个简单的USB MIDI即插即用呼吸控制器
- MIDIFART迷你袖珍MIDI控制器
- MIDI文件解析应用程序免费下载 9次下载
- 一种复音MIDI键盘控制器的设计 35次下载
- NB3000_Midi 0次下载
- MIDI合成算法及其FPGA实现
- 基于CPLD的MIDI音乐播放器的设计
- MIDI电缆测试仪电路原理图 529次阅读
- 高并发场景下请求合并 292次阅读
- 基于LM3900构建的函数发生器电路 659次阅读
- git多个commit合并成一个commit 2496次阅读
- Pandas中使用Merge、Join、Concat合并数据的效率对比 840次阅读
- DigiPCBA的合并元件类型功能 1118次阅读
- 详解DigiPCBA的合并元件类型功能 1051次阅读
- 基于STM32F103ZE+VS1053的音乐播放器设计 4675次阅读
- 如何使用通用单片机制作MIDI键盘 6845次阅读
- dfrobot模拟角度传感器简介 1772次阅读
- 沁恒股份USB转MIDI芯片:CH345概述 3408次阅读
- Allegro合并铜皮的方法 8753次阅读
- 电信联通的合并到底意味着什么? 7775次阅读
- 电子式互感器校验仪及合并单元测试仪溯源装置研究 4861次阅读
- RAKE接收机的合并方式 7523次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多