Max For Live Not Patch 不更新 Arduino 显示器上的数据
Max For Live Not Patch Not Updating Data on Arduino Display
我最近一直在与 Arduino 合作一个项目,我基本上是在尝试将一个小显示器连接到 Arduino,以更新 Ableton Live 中 MIDI 映射旋钮的名称。
例如,假设我将旋钮映射到轨道上的混响发送,显示器应显示为“A-Reverb”。这在今天有效,但只有在我第一次打开 Ableton 项目并首次映射旋钮时才有效。 当我 select 一个新选项时它不会更新。
这是我现在使用的设置:
- Arduino - w/Rotary 编码器和 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。
这是我到目前为止尝试过的方法:
- 已验证 Hairless MIDI、Arduino 和 Max Patch 的波特率相同
- 仅在 Ableton 启动后才尝试启动 Hairless MIDI
- 尝试在不打开 Arduino 的情况下启动 Arduino IDE,这样就不会有串行冲突。
我认为这可能是问题所在,但我不确定如何解决:
- 我的 Arduino 代码中的部分逻辑依赖于
Serial.available()
为真,以便将数据发送到屏幕。我在想,也许串行连接只在旋钮映射时才可用。
我知道这是很多信息,但如果有人对我如何使它起作用有任何想法,我将不胜感激!
好的,这是我自己想出来的;基本上发生的事情是我的代码期待换行以刷新显示器上的输出。我发现我可以通过发送值“10”通过串行连接发送一个换行符,这基本上会终止发送到 Arduino 的字符串。
每当旋钮值更新时,它都会触发一个按钮,将值“10”发送回 Arduino。
我附上了一张截图,显示了我所做的更改,以防这对其他人有帮助:
我最近一直在与 Arduino 合作一个项目,我基本上是在尝试将一个小显示器连接到 Arduino,以更新 Ableton Live 中 MIDI 映射旋钮的名称。
例如,假设我将旋钮映射到轨道上的混响发送,显示器应显示为“A-Reverb”。这在今天有效,但只有在我第一次打开 Ableton 项目并首次映射旋钮时才有效。 当我 select 一个新选项时它不会更新。
这是我现在使用的设置:
- Arduino - w/Rotary 编码器和 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。
这是我到目前为止尝试过的方法:
- 已验证 Hairless MIDI、Arduino 和 Max Patch 的波特率相同
- 仅在 Ableton 启动后才尝试启动 Hairless MIDI
- 尝试在不打开 Arduino 的情况下启动 Arduino IDE,这样就不会有串行冲突。
我认为这可能是问题所在,但我不确定如何解决:
- 我的 Arduino 代码中的部分逻辑依赖于
Serial.available()
为真,以便将数据发送到屏幕。我在想,也许串行连接只在旋钮映射时才可用。
我知道这是很多信息,但如果有人对我如何使它起作用有任何想法,我将不胜感激!
好的,这是我自己想出来的;基本上发生的事情是我的代码期待换行以刷新显示器上的输出。我发现我可以通过发送值“10”通过串行连接发送一个换行符,这基本上会终止发送到 Arduino 的字符串。
每当旋钮值更新时,它都会触发一个按钮,将值“10”发送回 Arduino。
我附上了一张截图,显示了我所做的更改,以防这对其他人有帮助: