У меня есть следующая проблема. Я использую в своем проекте WS2811-диоды, Arduino Due и node.js. Я хочу передать видео с устройства, подключенного к серверу node.js, и показать его на массиве диодов. Прямо сейчас я могу захватывать видео с любого устройства с браузером и камерой, изменять разрешение видео по желаемому мне (15x10) и создавать цепочку строк, содержащую информацию обо всех цветах (R, G, B) всех диодов. Я отправляю его с сервера node.js на arduino, хотя последовательный порт со скоростью передачи в бодах 115200. К сожалению, процесс отправки слишком медленный. Я бы хотел, чтобы он обновлял светодиодную матрицу не менее 10 раз в секунду. Поэтому мне было интересно, возможно, сжать эту строку, которую я отправляю в arduino, когда она туда распаковывается, и устанавливает цвета для диодов. Возможно, у вас, ребята, есть опыт работы с подобным проектом и совет, что мне делать.Сжатие строк для обновления WS2811 RGB LEDs быстрее
Для использования с диодами я использую библиотеку adafruit_neopixel.
Заранее спасибо;)
Давайте делать некоторые математике. У вас 150 пикселей на 10 Гц, это 1500 пикселей в секунду. Для одного пикселя требуется 24 бит/пиксель * 1,25 мкс/бит = 30 мкс/пиксель = 0,00003 с/пиксель. 1500 пикселей в секунду * 30 мкс/пиксель = 45 мс/сек, то есть 4,5%. Таким образом, контроллер должен будет тратить всего 4,5% своего времени на отправку данных на дисплей и 95,5% осталось на другие вещи. Это хорошие новости. Плохая новость заключается в том, что при отправке данных на светодиоды контроллер не может ничего делать * ничего * иначе или время будет ломаться, даже не обслуживая серийный RX ISR. Поэтому либо вы синхронизируете передачу последовательных данных для обновления дисплея, либо вы будете – JimmyB
пропускать байты со стороны μC. – JimmyB