Embedded Arduino的Korg Nanokey MIDI控制器?

Embedded Arduino的Korg Nanokey MIDI控制器?,embedded,arduino,midi,Embedded,Arduino,Midi,我想用它来控制我在Arduino平台上设计的一个简单的合成器。基本上,我不在乎MIDI,我只想读键盘按下的音符,但如果MIDI是我唯一能做到这一点的方法,那么我也可以。所以我的大问题是,我该怎么做?我在互联网上找不到其他人已经这样做了 但更具体地说,我看到了两个挑战:首先,我想将我的纳米钥匙直接插入Arduino的USB端口,但我想知道Arduino是否能为纳米钥匙提供必要的电源。第二,我不确定我会读什么协议。我可以按照中所述读取MIDI信号吗?我不想抑制您的热情,但您尝试的可能有点困难。USB

我想用它来控制我在Arduino平台上设计的一个简单的合成器。基本上,我不在乎MIDI,我只想读键盘按下的音符,但如果MIDI是我唯一能做到这一点的方法,那么我也可以。所以我的大问题是,我该怎么做?我在互联网上找不到其他人已经这样做了


但更具体地说,我看到了两个挑战:首先,我想将我的纳米钥匙直接插入Arduino的USB端口,但我想知道Arduino是否能为纳米钥匙提供必要的电源。第二,我不确定我会读什么协议。我可以按照中所述读取MIDI信号吗?

我不想抑制您的热情,但您尝试的可能有点困难。USB系统由主机控制器和一个或多个外围设备组成。主机控制设备的流量,这意味着如果没有主机控制器的明确请求,设备无法在总线上传输数据


我对nanoKey或Arduino平台都不熟悉,但我很有信心nanoKey是一个USB“设备”,通常连接到作为主机的计算机上。因此,要使该系统工作,您需要的是Arduino在与纳米钥匙通信时充当主机。Arduino显示,Arduino Uno使用USB通信接口。不幸的是,ATmega8U2是一个USB设备,因此您有两个外围设备,但没有主机控制器来促进它们之间的数据传输。你最好为micro使用开发板,该开发板提供USB主机或移动中的USB。

我同意Jono的观点-你咬了很多东西-甚至可能最容易直接将钥匙连接到Arduino上-撕开电子设备,找到一种方法将钥匙多路复用到一个通道中而不会丢失复调(可能是电阻“阶梯”)。我不管怎样,祝你好运。有趣的是,你可以制作一个模拟键盘来插入数字合成器


演示如何通过USB发送/接收MIDI,但不幸的是,这可能对您尝试执行的操作没有任何帮助,因为他找到了一种从USB主机发送和接收MIDI信号的方法,而不是自己充当USB主机-与您的问题相反。然而,我想如果你想从计算机上控制你的设备,也许它会有用。

昨天我打开了一个Korg Nano控制器,惊讶地发现里面有一个AVR mega32。这将是一项重要的任务,但通过一点工作,您可能可以自己绘制出原理图,并使用他们的编程标题突破重新编程。您可能不会得到比其他方式更多的功能,但这将是非常有教育意义的

如其他帖子所述,您需要使用单独的芯片来提供USB主机接口。这里有一个很好的指南,介绍如何使用与Akai LPK25(USB Midi键盘)的接口


提供了Arduino示意图,因此您应该可以尝试一下,但是,如果USB主机连接无法在开箱即用,调试可能会变得非常棘手。

啊,我明白了。好吧,这有点令人失望,但我理解。编写软件USB主机有多困难?我想我可能会把这两个设备都连接到我的电脑上,让电脑从键盘读取数据,然后向Arduino写入数据。谢谢。我通过笔记本电脑就可以工作了。我使用处理读取midi命令,然后写入串行数据。呵呵,酷。现在来创作超级马里奥兄弟的歌曲:D。你将无法编写软件USB主机。Arduino板的问题是,您的软件不暴露于USB。您只能将引脚1上的串行数据泵送至ATmega8U2,后者通过USB处理传输。但由于ATmega8U2是一个USB设备,可能发生的情况是,您传输的串行数据在ATmega8U2中缓冲,直到PC(USB主机)上的虚拟com端口驱动程序轮询ATmega8U2并请求其缓冲数据。我看到Arduino有一个SPI接口。您可能会使用带有SPI接口的USB主机控制器。有什么进展吗?据我所知,到目前为止,纳米钥匙需要被某个USB主机告知自己“初始化”,否则它不会发送任何键盘数据。我想尝试完全绕过主纳米键电路,自己处理原始键盘和按钮数据。