本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页
最热资讯


这是个基于 Arduino Micro 或 Leonardo 的简单 USB 到 MIDI 适配器,可选择过滤 MIDI 数据。
我在网上搜索了如何使用 Arduino 构建 USB 到 MIDI 适配器,但不幸的是,我只找到了不太好的解决方案(糟糕的 MIDI 软件或硬件实现)。所以我决定自己构建并将结果放在 hackster.io 上。
我使用带有面包板的 Arduino Leonardo 来构建第一个原型。一切正常后,我使用 Arduino Micro 构建了一个焊接版本。两者都基于 ATmega32u4,它具有原生 USB,允许它以 USB MIDI 接口的形式呈现给您连接到的 PC。
MIDI 使用光耦合器和一些电阻器来创建完全隔离的电流回路。该电路非常标准,我使用了 6n137,因为它快速且广泛可用。如电路图所示,只有 MIDI OUT 连接器的针脚 2 接地,这是 MIDI 的标准。
在软件方面,我决定使用出色的Control Surface库。与其他一些库或手动编码的实现不同,Control Surface 可以正确处理有点复杂的 MIDI 协议的所有不同方面。
Control Surface 还允许您添加各种附加功能。例如,您可以添加一些连接到模拟/数字输入的电位器、踏板或按钮,以添加额外的 MIDI 控件。只需在Control Surface网站上查看更多信息,这真的很容易!
您还可以注册回调,以便在从 MIDI 传递到 USB 或其他方向之前处理数据。在我的例子中,我用它来修复我的 Roland D50 合成器损坏的 MIDI 实现。每次按下最后一个键时,D50 都会发送“所有音符关闭”命令。现代实现,例如我使用的大多数 VST 乐器,将其解释为所有运行音符延音的立即硬截止。通过过滤掉“所有音符”,D50 再次成为主控键盘。
我在使用 Control Surface 库时遇到的一个问题是它不能很好地处理大型 SysEx 包。这导致在尝试使用 D50 编辑器/图书管理员时出错,因为它发送了相当大的 SysEx 包。我在源代码的注释标题中添加了有关如何解决此问题的说明。编写库的人表示,一旦 2.x 版本出来,这个问题就会得到解决。
我包括了基本的 USB 到 MIDI 接口源代码和一个带有“所有音符关闭”过滤的版本。
当然,您也可以使用其他库或编写自己的 MIDI 实现,硬件应该与任何支持 USB MIDI 和串行 MIDI 的 MIDI 库一起使用。
本方案更多详细资料可在附件中下载查看
以上内容翻译自网络,原作者:Dennis V,如涉及侵权,可联系删除。
电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击 投诉本电路 反馈给电路城。
直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!
这就是所谓的黑科技了?小米6没上QC4.0的原因吧
2017-05-26
S10 5G版对比S10+:从拆解看不一样的电路设计方案
2019-07-30
邦克仕小风扇拆解:人人都可以掌握的电路设计方案
2019-07-26
这款Genki设备可让Switch轻松用上蓝牙音频设备
2018-07-16
拆解一个COB LED钥匙扣:三脚猫的电路设计方案
2019-08-15
DIY便宜又方便制作的PEMF磁疗仪
2021-08-26
杜洋来啦!单片机电路稳定性设计技巧
2021-01-06
基于树莓派的智能家居镜子
2021-08-27
DIY 双通道可变实验台电源 30V 10A 300W
2021-08-27
购买后评价此方案,将获电路城官方赠送的最高6折折扣码一份,可至您的个人中心-我的折扣码中查看,用于低价购买其他方案内容。