Как стать автором
Обновить

Raspbery Pi Pico для управления адресуемыми светодиодами

Время на прочтение9 мин
Количество просмотров8.7K
Всего голосов 27: ↑26 и ↓1+25
Комментарии17

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

А почему именно Pico?

Если не принципиален выбор контроллера, то предложил бы использовать ESP32, любой с подключенной PSRAM, например, ESP32S3R2, оперативки на 2 МБ псевдостатической.

Плюс, использовать ESP-IDF или Arduino. Передавать фреймы на светики с помощью модуля RMT (их 8 в контроллере из примера), получать картинку через WiFi или SPI-Ethernet, ну или SD карты, через USB на худой конец.

В основном из любопытства - такой PIO не каждый день встретишь. А с ESP32 без дополнительных компонентов 16 линий подключить не получится. По крайней мере у меня не получилось даже с обвязкой, тоже пробовал ради любопытства. Для формирования видео при таком количестве светодиодов, WiFi скорости не хватит.

Тот случай, когда можно начать изучать ПЛИС))

Спасибо за статью, было интересно.
Нет, я не трус, но я боюсь. Бежать впереди паровоза — не самое благодарное занятие. Мне не к спеху, подожду, пока они допилят свои библиотеки.
«Нормальные герои, всегда идут в обход!»
Правильно, иногда надо подождать «пока всё устаканится». Или платформа поменяется. ;)

Если можно, в двух словах, про предшествующие варианты.

Если вам нужно сделать гирлянду, где переливается десяток-сотня светодиодов, то эта статья будет вам мало полезна

Ну вот неправда, у меня с прошлого нового года имеются две гирлянды по 600 светодиодов именно на pi pico. Потому что тогда и сами платы были достаточно дешевыми и сам PIO просто офигенно для таких задач подходит =)

Ну кино на десятке тысяч адресных светодиодов с помощью расбери точно не покажешь!!!

Да, пожалуй главная проблема Ардуино - кривые дрова. Пока занимаешься простыми самоделками - не критично, но в более менее серьёзных проектах сработает ни одна, а пара тройка таких закладок и искать причину будешь в итоге дольше чем сам напишешь прогу с нуля!

Значит, у нас есть время для загрузки линии 33.3 мсек. Частота сигнала для светодиодов — 800кГц. Для одной точки нужно 24 импульса — по 8 на каждый цвет. На загрузку пикселя уходит 30 микросекунд. Значит, за время отображения кадра можно загрузить 1111 пиксель. 

А вы точно правильно считаете количество пикселей которые можно послать за секунду? Если вы используете четырехногие светодиоды, то им же требуется сигнал reset для начала посылки нового кадра, он тоже время занимает, 50 мкс по-моему. Вроде бы поэтому такие светодиоды плохо подходят для POV-экранов.

reset нужен перед передачей блока в линию для более, чем 1000 светодиодов, при таком количестве им можно и пренебречь.

Не очень понял. Если данные идут потоком без паузы между кадрами, как первый светодиод узнает, какие данные предназначаются ему?

Все с паузой

На загрузку пикселя уходит 30 микросекунд.

пикселей в пачке до 1300

50 мкс - это чуть больше времени передачи 1 пикселя.

Потери - примерно 0.1% времени, с этим вполне можно жить.

А, всё, понял. Время отправки кадра при малом числе светодиодов маленькое и при фиксированном фреймрейте в 30 ФПС остаётся вагон времени между кадрами, так?

Которые в первом кадре. Дальше он отправляет все, начиная со второго.

Я правильно понял, что прошивка лежит во внешней флеш памяти и никак не защищена?

Да, правильно.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории