Led RGB Матрица 144*16, нужны знатоки

Megabyte

✩✩✩✩✩✩✩
31 Июл 2020
1
0
Доброго времени суток всем)

Имеется проект светодиодной матрицы 16*144, общее количество пиксей получается 2304.

Собирать матрицу планировал из 9ти стандартных матриц 16*16 с Али.

Чтобы матрица работала с адекватной частотой кадров (не меньше 30), нужен контроллер с достаточным объемом ОЗУ. Из Arduino подходит только DUE, но она 32х битная, соответстветственно нужны другие библиотеки, другой код, т.е. по Гайверовским гайдам не соберёшь.

Может кто имел дело с такими большими матрицами? Нужно собрать именно из матриц 16*16, исходя из желаемых габаритов и плотности пикселей.

Не удалось найти инфу по проектам матриц на DUE с функционалом как у нашего отца Гайвера. Нужна бегущая строка, эффекты, вывод гифок.

Если кто-то поможет, направит, буду оч признателен) Может встречали такие проекты, либо имеете представление как это можно реализовать. Либо, может, надо идти в сторону Raspberry PI...

В общем, буду рад любым мыслям, советам, унижениям не буду рад, но приму с честью.

В процессе можем сработаться на платной основе.
 

b707_2

★★✩✩✩✩✩
22 Июл 2020
182
51
а какая нужна плотность пикселей? а то ведь есть RGB матрицы разных размеров - 16х16, 16х32, 64Х32 и тд. И разной плотности - p10 (10мм между пикселями) , р5, р3...
RGB матрицы дешевле адресных в пересчете на пиксель, софт для них давно отработан - бегущие строки любых размеров запросто, а эффекты я вам какие угодно напишу :)

Можно, конечно, и на адресных, тоже наработки есть.Могу взяться написать это для СТМ32
 
Изменено:

Александр Симонов

★★★★✩✩✩
2 Авг 2018
727
207
Доброго времени суток всем)

Имеется проект светодиодной матрицы 16*144, общее количество пиксей получается 2304.

Собирать матрицу планировал из 9ти стандартных матриц 16*16 с Али.

Чтобы матрица работала с адекватной частотой кадров (не меньше 30), нужен контроллер с достаточным объемом ОЗУ. Из Arduino подходит только DUE, но она 32х битная, соответстветственно нужны другие библиотеки, другой код, т.е. по Гайверовским гайдам не соберёшь.

Может кто имел дело с такими большими матрицами? Нужно собрать именно из матриц 16*16, исходя из желаемых габаритов и плотности пикселей.

Не удалось найти инфу по проектам матриц на DUE с функционалом как у нашего отца Гайвера. Нужна бегущая строка, эффекты, вывод гифок.

Если кто-то поможет, направит, буду оч признателен) Может встречали такие проекты, либо имеете представление как это можно реализовать. Либо, может, надо идти в сторону Raspberry PI...

В общем, буду рад любым мыслям, советам, унижениям не буду рад, но приму с честью.

В процессе можем сработаться на платной основе.
Можно на esp8266 или esp32 собрать. Памяти хватит обоим. В библиотеке FastLED есть поддержка 4-канального режима для esp8266. А esp32 умеет и 8 каналов, да ещё железно, без участия процессора.
 

b707_2

★★✩✩✩✩✩
22 Июл 2020
182
51
А esp32 умеет и 8 каналов, да ещё железно, без участия процессора.
на готовых матрицах многоканальный режим можно задействовать только подключив по матрице на канал. Но это потребует переписывания всех эффектов. А тут еще и матриц несуразное число - 9 :)

Многоканальный режим есть и на СТМ32, кстати
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,695
472
Изменено:

Александр Симонов

★★★★✩✩✩
2 Авг 2018
727
207
Это как? Или я чего не знаю про ESP?
ESP 32 зверь могучий, но чтоб без программного обеспечения работал... Или куда код загружается? Разве не во флешь, а потом в оперативку?
Это как разница между железным UARTом и софтовым.
 

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

★★★★★★✩
23 Сен 2019
2,265
944
58
Марий-Эл
Это как разница между железным UARTом и софтовым
Да да.
Берём любой контроллер у которого есть хардварный UART, подаём питание и он сам начинает слать нужные данные по UART.
Ядро при этом не используя.
А фиг ли он хардварный.

Хардварный интерфейс для этих светодиодов можно построить на STM32. На таймерах и DMA.
На этом проце не знаю. Может тоже возможно.
Но инициализация периферии и любые изменения в выводимой картинке будут затрагивать ядро.
 

Александр Симонов

★★★★✩✩✩
2 Авг 2018
727
207
Вот вы доебались до ерунды. Давайте переформулирую: "да ещё железно, не нагружая процессор". Т.е. пока переферия выдает текущий кадр на ленту, проц уже может считать следующий кадр. В FastLED есть реализация интерфейса WS2812 с помощью RMT (периферия в esp32 для работы с инфракрасными приемопередатчиками).

Поэтому, что на esp32, что на esp8266 можно собрать "по гайверовским гайдам", как и хотелось бы топикстартеру.

Скетч, конечно, всё равно придётся подшаманить, т.к. он не рассчитан на вывод на последовательность матриц, но это решается правкой двух функций: drawPixelXY и getPixelNumber. А не переписыванием всех эффектов.
 
  • Лойс +1
Реакции: Старик Похабыч

b707_2

★★✩✩✩✩✩
22 Июл 2020
182
51
Это как? Или я чего не знаю про ESP?
не спорьте :)
Это называется DMA - (см в гугле). Центральный контроллер передает DMA указатель на начало массива и число передаваемых элементов, а дальше передача битов в линию происходит, действительно, без участия центрального контроллера, который может выполнять в это время пользовательскую программу. DMA есть у ESP32 и нет у 8266, поэтому и разница.

Но вообще ТС явно выбрал неподходящие матрицы для своего проекта. Адресные матрицы медленные. Формат передачи WS2812 - это 1.25мкс на бит. В каждом пискеле 24 бита цвета, так что обновление одного пикселя - 24*1.25 = 30 мкс. В гирлянде нашего ТС 2304 пикселя, значит в одноканальном режиме скорость вывода одного кадра = 2304 * 30 = 69120 мкс - примерно 70 мс, то есть 14 фпс. Причем это чисто теоретическая цифра, учитывающая только вывод картинки на ленту - а ведь нужно еще время ее формировать. При многоканальном режиме ситуация чуть лучше, при 2х канальном - 28 фпс, при 4х каналах - 56 фпс. Но это при условии 100% загрузки контроллера. И еще надо учесть. что у ТС нечетное число матриц, с 9 матрицами такой трюк не пройдет. Лучше отказаться от 9 матриц и взять 8.

Ну и для сравнения - если делать то же самое на RGB матрицах, которые я упоминал в начале - то на СТМ32 теоретическая скорость вывода на матрицу 144х16 пикселей составит примерно 500 фпс - в десять раз больше, чем на 4х канальном режиме у ЕСП32. При этом загрузка контроллера не превысит 30%. Самая дешевая СТМ-ка ("голубая таблетка") довольно легко тянет втрое большее число пикселей - порядка 6000 - при скорости обновления больше 100 фпс.

Под RGB для СТМ у меня есть готовые наработки, задачку ТС можно решить легко. но ТС куда-то пропал, ничего не пишет.
 
Изменено: