修改Arduino代码以读取串口来控制移位寄存器
我需要通过 midi2serial 转换器。
我使用 THIS 移位寄存器来控制 32 个单独的 LED。
如何修改移位寄存器代码以接受 MIDI 串行信号来点亮矩阵中的特定 LED?
我希望修改 http://arduino.cc/en/Tutorial/ShftOut12 满足我的需求。
我对 a) 进入 MIDI 串行转换器的 MIDI 信号从另一端输出的情况感到困惑。 (也就是说,每个 MIDI 消息都会变成一个数组,还是什么?)
每个 MIDI 信号都类似于 (144, 60, 124) 以及 b) 移位寄存器草图如何响应 MIDI 信号?
我需要类似的东西:
if ( First bit = 144) {
if (second bit = 60) {
...light LED #1...
}
if (second bit = 61) {
...light LED 2...
}
etc., etc.
}
I am needing to send a MIDI signal through the midi2serial converter.
I am using THIS shift register, in order to control 32 individual LEDs.
How do I modify the shift register code to accept the MIDI serial signal to light specific LEDs in the matrixs?
I'm hoping to modify the code in http://arduino.cc/en/Tutorial/ShftOut12 to meet my needs.
I'm confused about a) how the MIDI signal going into the MIDI-to-serial converter looks coming out the other end. (That is, does each MIDI message turn into an array, or what?)
Each MIDI signal will be something like (144, 60, 124) and b) how do the shift register sketch respond to the MIDI signal?
I need something like:
if ( First bit = 144) {
if (second bit = 60) {
...light LED #1...
}
if (second bit = 61) {
...light LED 2...
}
etc., etc.
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可以尝试让 arduino 将原始串行数据从 midi2serial 发送到计算机,这样您就可以检查它的样子(请注意,如果您使用 arduino 串行监视器,它将转换为 ASCII)。然后在arduino中使用Serial.Read命令将串行读入数组,然后在数组中搜索144,然后使用移位寄存器代码来点亮(下一个字节值 - 60)。
May be try having the arduino send the raw serial data from the midi2serial to the computer, so you can check what it looks like (note it will be converted to ASCII if you use arduino serial monitor). then in the arduino use the Serial.Read command the read the serial into an array, then search through the array for 144, then use the shift register code to light(next byte value - 60).