2011-10-02 45 views
0

我需要通過midi2serial converter發送MIDI信號。修改Arduino代碼以讀取串行來控制移位寄存器

我使用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. 
} 
+0

我敢肯定,我已經回答了您的類似問題。那個問題在哪裏去了? –

回答

0

可能嘗試有Arduino的從midi2serial發送原始串行數據傳輸到計算機,以便您可以檢查它是什麼樣子(請注意,將被轉換爲ASCII如果你使用arduino串口監視器)。然後在arduino中使用Serial.Read命令將串行讀入數組,然後在數組中搜索144,然後使用移位寄存器代碼點亮(下一個字節值 - 60)。