Лента Dotstar сходит с ума при подключении к MIDI-пианино

arduino-uno led usb led-strip midi

У меня есть полоска Dotstar, пианино и UNO(wa usb host shield). Я могу получить и правильно перевести данные с фортепиано на UNO, поэтому я точно передаю правильную информацию на плату. Когда я жестко ввожу вводимые значения в свой код, он реагирует соответствующим образом, поэтому я знаю, что мой код работает. Однако, когда я пытаюсь взять данные с USB-клавиатуры пианино и зажечь соответствующий светодиод, вся полоса загорается синим и зеленым цветом и ярко мигает между ними. Это происходит еще до того, как я нажму клавишу на клавиатуре. Когда я нажимаю клавишу, соответствующий индикатор загорается примерно на миллисекунду, а затем снова начинает мигать зеленым или синим цветом.

Я чувствую, что есть какая-то электрическая концепция, которую я не понимаю - у меня есть MIDI-информация, правильно передающая ее на плату, и она может правильно управлять светодиодами. Я не знаю, где он может получить данные, которые заставляют его делать это.

Думаю, мне может понадобиться резистор. Я попытался установить вентиль И с вывода SS и вывода данных, но это ничего не дало. Лучшее изображение моей проводки, которое я смог сделать в Paint

Вот попытка установки вентиля И.

, 👍-1

Обсуждение

Пожалуйста, включите свой код и проводку в вопрос, отредактировав его., @chrisl


1 ответ


1

Хост-экран USB и светодиодная лента используют одну и ту же шину SPI. Хост-шилд USB имеет линию выбора кабеля, а светодиоды — нет, поэтому они всегда прослушивают шину, даже когда ее использует USB-шилд.
Вам придется добавить несколько логических вентилей на линии данных и тактовой частоты светодиодной ленты, чтобы включить или выключить их, в зависимости от другой линии выбора кабеля для светодиодов.

Светодиодные часы = НЕ LED CS И SPI CLK
Данные светодиода = НЕ LED CS И SPI MOSI

Если вы используете только два устройства SPI, вы можете сделать следующее:

Светодиодные часы = USB CS И SPI CLK
Данные светодиода = USB CS И SPI MOSI

https://forum.arduino.cc/index.php?topic=644679.msg4363133

Обновление: Судя по изображению, вы задаете точно такой же вопрос, на который я уже отвечал на форуме Arduino месяц назад. Зачем ты дважды задаешь один и тот же вопрос, если даже не собираешься отвечать?

,

Мне понадобился месяц, чтобы получить шанс попробовать его — думал, что вы давно забыли о нем., @skapunk1806