修改Arduino代码以读取串行控制移位寄存器

时间:2011-10-02 15:25:44

标签: c arduino midi

我需要通过MIDI发送midi2serial converter信号。

我正在使用THIS移位寄存器,以控制32个独立的LED。

如何修改移位寄存器代码以接受MIDI串行信号以点亮矩阵中的特定LED?

我希望修改http://arduino.cc/en/Tutorial/ShftOut12中的代码以满足我的需求。

我对a)进入MIDI-to-serial转换器的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.
}

1 个答案:

答案 0 :(得分:0)

可以尝试让arduino将原始串行数据从midi2serial发送到计算机,这样你就可以查看它的外观(注意如果使用arduino串口监视器,它将被转换为ASCII)。然后在arduino中使用Serial.Read命令将串行读入数组,然后在数组中搜索144,然后使用移位寄存器代码点亮(下一个字节值为-60)。