Изменение кода Arduino для чтения последовательного кода для управления сдвиговым регистром

#c #arduino #midi

#c #arduino #midi

Вопрос:

Мне нужно отправить MIDI-сигнал через конвертер midi2serial.

Я использую ЭТОТ регистр сдвига, чтобы управлять 32 отдельными светодиодами.

Как мне изменить код регистра сдвига, чтобы принимать последовательный сигнал MIDI для освещения определенных светодиодов в матрицах?

Я надеюсь изменить код в http://arduino.cc/en/Tutorial/ShftOut12 чтобы удовлетворить мои потребности.

Я в замешательстве по поводу а) того, как сигнал MIDI, поступающий в конвертер MIDI-to-serial, выглядит на другом конце. (То есть, каждое MIDI-сообщение превращается в массив или что?)

Каждый MIDI-сигнал будет примерно таким (144, 60, 124) и б) как эскиз сдвигового регистра реагирует на MIDI-сигнал?

Мне нужно что-то вроде:

 if ( First bit = 144) {
    if (second bit = 60) {
        ...light LED #1...
    }
    if (second bit = 61) {
        ...light LED 2...
    }

    etc., etc.
}
  

Комментарии:

1. Я уверен, что я уже ответил на аналогичный вопрос от вас. Куда исчез этот вопрос?

Ответ №1:

Может быть, попробуйте, чтобы arduino отправлял необработанные последовательные данные из midi2serial на компьютер, чтобы вы могли проверить, как это выглядит (обратите внимание, что он будет преобразован в ASCII, если вы используете последовательный монитор arduino). затем в arduino используйте последовательный.Команда Read считывает серийный номер в массив, затем выполняет поиск в массиве 144, затем использует код сдвигового регистра для подсветки (значение следующего байта — 60).