Пределы адресной ленты на ардуино

6 Янв 2020
122
-4
предварительное изучение вопроса привело к тому, что на ардуино можно засветить лишь небольшое количество адресной ленты.
На 1 трёхцветный светодиод нужно 30 мкс, на 1 метр (на котором минимум 30 светодиодов) - минимум 900 мкс.
При частоте обновления даже 100 гц мы имеем времени на полный кадр только 10 мс, следовательно, от одного канала засвечиваем не более 11 м ленты.
И ВСЁ!!!
ВСЕГО 11 метров! и то с самой низкой плотностью светодиодов. а если с самой высокой - то меньше 3 м!!!

ЭТО И ЕСТЬ ТЕОРЕТИЧЕСКИЙ ПРЕДЕЛ АРДУИНО и АДРЕСНЫХ ЛЕНТ???. или я в чём-то ошибаюсь???

Ну, я понимаю, что можно транслировать на несколько лент с нескольких ног ардуины.ну, увеличит в несколько раз.
но всё равно - это настольный/напольный светильник, и всё?
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,281
947
58
Марий-Эл
Если Вам нужно полноценное изображение, это не сделать адресной лентой.
На адресной ленте можно сделать только свистоперделку.
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,188
1,280
Москва
Вопрос в целях... анимацию? не с ардуино. А вот часы, которые достаточно обновлять пару раз в секунду - легко.
 
6 Янв 2020
122
-4
Если Вам нужно полноценное изображение, это не сделать адресной лентой.
На адресной ленте можно сделать только свистоперделку.
а аргументы, расчёты?
Ради настольных свистоперделок не стоило разрабатывать технологию производства таких микросхем и тем более вживлять их в светодиоды
При 100 гц и 16 миллионах цветов вполне себе должно получиться. вот только длина строки не более 330 пикселей.
Вот люди делают:

3.

4.

5.
 

bort707

★★★★★★✩
21 Сен 2020
2,894
860
При 100 гц и 16 миллионах цветов вполне себе должно получиться. вот только длина строки не более 330 пикселей.
330 пикселей да на 16 или 32 канала - это уже получается от 5 до 10 тысяч "лампочек"
и это на 100 Гц

Но на таких скоростях и с таким количеством точек у вас уже не только с обновлением проблемы будут - тут и памяти не хватит, и быстродействия картинки формировать
 

poty

★★★★★★✩
19 Фев 2020
2,990
895
@avan, представленные примеры не являются полноценным изображением. Это - линейная сдвиговая анимация. В полноценном изображении повторяющихся элементов может и не быть, поэтому невозможно съэкономить на памяти. @bort707 уже отметил, что в Ардуино памяти не хватит. Каждая полноцветная точка занимает 24 бита (3 байта) в памяти. Если речь идёт об изображении, то его нужно сформировать или получить. Считайте, что скорость делится пополам или даже более. То есть не для Ардуино это явно.
Теперь о самих светодиодах в таком исполнении. 24 бита - это хорошо, но в реальности этого и близко нет. Как только добавляется гамма и попытка сделать цвета более или менее соответствующими реальности, битность падает почти вдвое. Этим часто пользуются, храня цвет в псевдокоде (смотрите упрощение цвета в FastLED, да и у Гайвера тоже). Тогда - легче, конечно.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,722
481
@avan, собственно, если Вам нужно юзать большое кол-во светодиодов, так есть Arduino Due. Тоже ардуина, посему полностью поддерживается родной IDE. ;)
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,281
947
58
Марий-Эл
а аргументы, расчёты?
Давайте определимся в терминологии.
Светодиодный экран - это экран позволяющий воспроизводить полноценный видеосигнал.
На этих светодиодах экран такого типа не сделать. Только какое то подобие, которое можно использовать как панно для эффектов или вывод движущихся мультяшных героев.
Нужны аргументы и расчёты? Давайте размеры экрана в пикселях. И посчитаем.
Как только добавляется гамма и попытка сделать цвета более или менее соответствующими реальности, битность падает почти вдвое
@avan, Вот Вам человек объяснил ещё одно ограничение.

Чтобы сделать экран, он разбивается на ячейки. Я работал с ячейками 32х32 пикселя. На плате, что бы ей управлять стояло две Atmega128 и одна ПЛИС.
 
  • Лойс +1
Реакции: Старик Похабыч

AlexGyver

★★★★★★✩
Команда форума
30 Июл 2018
359
566
@avan, математика очень простая: 512 светодиодов - 60 Гц, 1024 - 30 Гц и так далее линейно. Ограничение задаётся самим интерфейсом ленты. Если нужно быстрее - надо юзать SPI ленту, там скорости в разы выше. Либо делать несколько контроллеров на отдельные сегменты матрицы.
 
6 Янв 2020
122
-4
А зачем именно 100 Гц? Почему, например, 30 мало?
30 кадров явно мало.
Для того, чтобы не было мельканий, в плёночных киноаппаратах при частоте кадров 24 в секунду на деле каждый кадр показывался 3 раза - обтюратор перекрывал лампу трижды на каждом кадре.
Т.е. 72 кадра в сек - это тот практический предел, который мы видели в кино на экране.
В ЭЛТ-телевизорах было 50 полей в секунду, и боковым зрением иногда мелькания были заметны.
Как только появились матричные телевизоры, они сразу подняли планку до 100 Гц - если кто помнит рекламу начала 90-х.

Возможно, нам хватит 80 Гц.
100 - это я так, для округления. Хотя при 80 Гц обрабатываемая лента заметно удлинится, и это стоит того.
 
6 Янв 2020
122
-4
330 пикселей да на 16 или 32 канала - это уже получается от 5 до 10 тысяч "лампочек"
и это на 100 Гц

Но на таких скоростях и с таким количеством точек у вас уже не только с обновлением проблемы будут - тут и памяти не хватит, и быстродействия картинки формировать
32 канала (ленты), по большому счёту, мало. Нужно хотя бы 128.
Получается 128х330х3= 126.720 лампочек, или (при 100 Гц) - 12,6 мегабайт в секунду.

если речь только о памяти - к ардуине можно присобачить карту памяти SD, а это 2 Гб. Возможно, у кого-то получится и SDHC - а это уже 32 Гб.
Вот человек подробно всё описал:

32000:12,6= 42 минуты - вполне себе.

Если речь о быстродействии - я выбрал самую быструю на этом сайте
NodeMCU Wi-Fi
Проц: ESP8266
Там 4 Мб собственной памяти и 80 Мгц частота. (кто-то здесь писал, что это уже не ардуино, но я не сторонник религиозных споров)

какие ещё будут трудности?
 
6 Янв 2020
122
-4
@avan, математика очень простая: 512 светодиодов - 60 Гц, 1024 - 30 Гц и так далее линейно. Ограничение задаётся самим интерфейсом ленты. Если нужно быстрее - надо юзать SPI ленту, там скорости в разы выше. Либо делать несколько контроллеров на отдельные сегменты матрицы.
а что такое спи-лента? можно подробнее?
искал в интернете, разницы между адресной и спи-лентой так и не нашёл
 
Изменено:

AlexGyver

★★★★★★✩
Команда форума
30 Июл 2018
359
566
@avan, лента с интерфейсом связи SPI, когда есть вход data и вход clock, например APA102. Ленты семейства WSxxxx - не SPI, там медленный однопроводной интерфейс
 

poty

★★★★★★✩
19 Фев 2020
2,990
895
Работа SD карты на Ардуино, даже на ESP, не обеспечит нужной скорости. 12,6 Мегабайт в секунду - это 100Мбит/сек (сразу замечаем, что это превышает возможности даже 80МГц процессора), а при условии, что это надо будет сначала прочитать с карты, а потом записать в нужный порт, то требуемую производительность нужно увеличить на 2 (200Мбит/сек), и это, заметьте, совершенно без обработки, что в принципе невозможно (как минимум нужно настраивать входные и выходные потоки, управлять счётчиками и указателями, я уже не говорю хоть о какой-то адаптации по цвету и гамме).
Ну, и 128 "каналов" нужно где-то взять.
Явно не для МК задача.
 
6 Янв 2020
122
-4
Работа SD карты на Ардуино, даже на ESP, не обеспечит нужной скорости. 12,6 Мегабайт в секунду - это 100Мбит/сек (сразу замечаем, что это превышает возможности даже 80МГц процессора), а при условии, что это надо будет сначала прочитать с карты, а потом записать в нужный порт, то требуемую производительность нужно увеличить на 2 (200Мбит/сек), и это, заметьте, совершенно без обработки, что в принципе невозможно (как минимум нужно настраивать входные и выходные потоки, управлять счётчиками и указателями, я уже не говорю хоть о какой-то адаптации по цвету и гамме).
Ну, и 128 "каналов" нужно где-то взять.
Явно не для МК задача.
может, я чего не понимаю...
В современном телевизоре изображение 3840 × 2160 х 60Гц х 24 бит = 12 000 000 000 - 12 миллиардов бит в секунду, в 1000 раз больше,
и работает при скорости интернета от 20-30 Мбит/с.
И качество там просто несоизмеримо с тем, что хотим получить на адресных лентах с разрешением 128х330 пикселей
 
6 Янв 2020
122
-4
я уже не говорю хоть о какой-то адаптации по цвету и гамме.

А зачем нужна "адаптация"? 24 бита на каждый пиксель однозначно указывает на один из 16,7 миллионов цветовых оттенков.
Что и зачем нужно ещё адаптировать?
 

bort707

★★★★★★✩
21 Сен 2020
2,894
860
@avan, вы бы с целями определились. Вы чего хотите добиться? Видео 4К на экране из ленты показывать?
В сети есть описание, как устроены большие рекламные светодиодные экраны. Первое. что вы там увидите - в них нет адресной ленты.
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,281
947
58
Марий-Эл
Для того, чтобы не было мельканий, в плёночных киноаппаратах при частоте кадров 24 в секунду на деле каждый кадр показывался 3 раза - обтюратор перекрывал лампу трижды на каждом кадре.
Я таких проекторов не видел. Максимум дважды. А у нас их было три разных модели. Один из них последнего поколения. Немецкий. Самый последний из механических монстров этой эпохи.
 
6 Янв 2020
122
-4
Кодирование H.264 делает чудеса
чудеса - это за гранью техники и логики.
Но когда увеличиваешь на экране честное изображение в *.bmp,
рано или поздно увидишь просто пиксели (куда же деваться), - каждый определённого цвета.
А если увеличиваешь "упакованный" *.jpg - то там не чудеса, а УЖОССС!
Как не кодируй, а уменьшение информации в 1000 раз во столько же уменьшит и её качество.

(когда 1000 пикселей подряд белого цвета - в изображении текста, например - это редкий частный случай для изображений как таковых)
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,188
1,280
Москва
@avan, Тут есть неточность.
Сжатие может быть и без потери качества, но оно будет занимать больше времени. Т.е. если мы берем оригинал, то он большого размера и быстро выводиться, т.к. кодирования нет. Если мы берем что то сжатое, то либо долго и без потери, либо быстро и с некоторой потерей.
Пример обычные архиваторы. Они сжимают данные (не важно какие ) без потери качества.
 
6 Янв 2020
122
-4
@avan, вы бы с целями определились. Вы чего хотите добиться? Видео 4К на экране из ленты показывать?
В сети есть описание, как устроены большие рекламные светодиодные экраны. Первое. что вы там увидите - в них нет адресной ленты.
нет, о 4К речи нет.
И речь именно о максимуме возможностей для адресной ленты.
Если ориентироваться на обычную адресную ленту - то 128...200 строк по 330 точек
(как следует из первоначального расчёта - это предел для адресных лент, который пока никто не оспорил).
Каждая точка - 24-битный цвет (16,7 миллионов оттенков).
 

bort707

★★★★★★✩
21 Сен 2020
2,894
860
И речь именно о максимуме возможностей для адресной ленты.
Если ориентироваться на обычную адресную ленту - то 128...200 строк по 330 точек
Обсуждение максимума без конкретной цели применения не имеет смысла. Что Вы собрались делать с этими "128...200 строк по 330 точек" ? - исходя из цели уже можно обсуждать, имеет смысл стремиться к максимуму или нет
 
6 Янв 2020
122
-4
@avan, Тут есть неточность.
Сжатие может быть и без потери качества, но оно будет занимать больше времени. Т.е. если мы берем оригинал, то он большого размера и быстро выводиться, т.к. кодирования нет. Если мы берем что то сжатое, то либо долго и без потери, либо быстро и с некоторой потерей.
Пример обычные архиваторы. Они сжимают данные (не важно какие ) без потери качества.
архиваторы хорошо сожмут, если в файле по тыще одинаковых бит подряд. Это далеко не всегда.
Например, файл типа *.jpg при архивации только увеличивается.
Но в нашем случае, судя по всему, времени на всякие преобразования просто нет.
Задача - выложить, что есть, максимально быстро