问题描述
我最近一直在使用 Arduino 开展一个项目,我基本上是在尝试将一个小型显示器连接到 Arduino,以便在 Ableton Live 中使用 MIDI 映射旋钮的名称进行更新。
例如,假设我将旋钮映射到显示应显示为“A-Reverb”的轨道上的混响发送。这在今天有效,但仅在我第一次打开 Ableton 项目并第一次映射旋钮时有效。 当我选择一个新选项时它不会更新。
这是我现在使用的设置:
- Arduino - 带旋转编码器和 OLED 显示屏
- Hairless MIDI - 用于将来自 Arduino 的串行连接转换为 Live 可以读取的 MIDI CC# 消息。
- Ableton Live 11 w/ Max For Live 8 - 这是补丁实际运行的地方。
对于 Max Patch,我使用的是 Yehezkel Raz's One 版本,我购买了该版本并随后对其进行了修改。我提到这一点的原因是该补丁已经制定了名称更新部分,因此理论上我应该能够将该数据通过串行发送到 Arduino。
出于对 Yehezkel 工作的尊重,我不会附上整个补丁的屏幕截图,但附上了我修改后向 Arduino 发送数据的部分,you can see it here。
这是我迄今为止尝试过的:
- 验证无毛 MIDI、Arduino 和 Max Patch 的波特率是否相同
- 仅在 Ableton 启动后才尝试启动 Hairless MIDI
- 尝试在不打开 Arduino IDE 的情况下打开 Arduino 电源,以免发生串行冲突。
这就是我认为可能存在的问题,但我不知道如何解决它:
- 我的 Arduino 代码中的部分逻辑依赖于
Serial.available()
为真,以便将数据发送到屏幕。我在想,也许串行连接仅在映射旋钮时才可用。
我知道这是很多信息,但如果有人对我如何使其工作有任何想法,我将不胜感激!