RGB LED матрица 64x32

 
+
-
edit
 

AlexNN

новичок
Balancer> Вот нормально заставить её работать с Arduino Uno так и не смог. Примеры для мелких матриц, типа 32x16 работают, но изображение расползается. 64x32 ни в одном тесте не завелось. Только потом уже прочёл (а сам не догадался, отвык уже от особенностей такой мелочи) 64*32*3 = 6144 байт, так что полноценный RGB-буфер по байту на канал в Arduino Uno с его 2кБ не запихнуть. В то время, как 32*16*3 = 1536 байт, что уже влезает.


Здравствуйте! Подскажите, на ваш взгляд, возможно ли оптимизировать библиотеку, так чтобы она работала на UNO с указанной матрицей 64*32, например использовать один байт на две точки? Вопрос собственно от того что вы уже вникали в софт, возможно представляете как там организован буфер и есть ли аппаратный запас производительности, для его оптимизации.
 62.0.3202.9462.0.3202.94
+
-
edit
 

Balancer

администратор
★★★★★
AlexNN> Здравствуйте! Подскажите, на ваш взгляд, возможно ли оптимизировать библиотеку, так чтобы она работала на UNO с указанной матрицей 64*32, например использовать один байт на две точки?

Да, наверное, можно. Там, в общем-то, используется по 8 градаций яркости на цвет, при желании можно вообще загнать в один байт на пиксел (RRRGGGBB). Вообще, со времени открытия топика и экспериментов в STM32 в код библиотеки не заглядывал, ЕМНИП, там для вывода шрифтов используется AdaFruit. Вот тут только тонкое место будет. Орагнизовать вывод массив пикселей не сложно, потребуется только поправить работу с масками и сдвигами. А вот с формированием изображения придётся разбираться. Нужно или делать целиком свой вывод текста/примитивов, или смотреть, не может ли это делать сама AdaFruit. Как-то же сделана работа с Arduino Uno и LCD-матрицами. У них своя память, но, раз памяти Uno для работы хватает, значит AdaFruit умеет рисовать не только в оперативку Arduino.
 44
+
-
edit
 

riderz

новичок
Здравствуйте!
А вы случайно не находили схему на данную матрицу? Хотелось бы узнать, как минимум, какие там сдвиговые регистры диодами управляют? Вы пишете "памяти там в каждой половине экрана — один сдвиговый регистр" - это что же за регистры такие, на 192 выхода каждый?? Все-таки наверное, цепочки из каких-нибудь 74HC595? Я по фото у продавца этой матрицы примерно так вижу..

Просто я хотел бы по ее подобию экранчик спаять, и хочу быть уверен что смогу завести на Atmega8 через BСM(BAM).
Спасибо заранее, если чем поможете!
 31.031.0
+
-
edit
 

Balancer

администратор
★★★★★
riderz> А вы случайно не находили схему на данную матрицу?

Схему не видел. Конструктивно матрица 64x32 состоит из четырёх более-менее симметричных логических блоков (т.е. 32x16 каждый), состоящих из:

- 6x SM16106SC
- 1x SM5 166P
- 1x DP74HC245
 44
+
-
edit
 

riderz

новичок
riderz>> А вы случайно не находили схему на данную матрицу?
Balancer> Схему не видел. Конструктивно матрица 64x32 состоит из четырёх более-менее симметричных логических блоков (т.е. 32x16 каждый), состоящих из:
Balancer> - 6x SM16106SC
Balancer> - 1x SM5 166P
Balancer> - 1x DP74HC245

Спасибо, очень неожиданно - уже какие-то новые схемки используют..
Попробую чего-нибудь спаять.
 31.031.0
+
+1
-
edit
 

Balancer

администратор
★★★★★
Вчера снова взялся за LED-матрицу. Переделал протокол обмена на JSON. Добавил поддержку шрифтов и примитивов. Можно уже цеплять ESP8266 и вешать на стену с допиливанием уже по воздуху. Только поддержку битмапов ещё надо сделать, чтобы погоду рисовать.
Прикреплённые файлы:
20180225_110532.jpg (скачать) [4640x3480, 3,1 МБ]
 
 
 64.0.3282.13764.0.3282.137
+
-
edit
 

Balancer

администратор
★★★★★
Вот тут есть библиотечка, примеры, описание архитектуры такой матрицы:

2dom/PxMatrix

PxMatrix - Adafruit GFX compatible graphics driver for LED matrix panels //  github.com
 

Подключается к ESP8266(!)

Прикол в том, что линию данных закольцовывают, фактически загоняя данные по одному проводу. Поэтому пинов ESP8266 хватает.
 55
Последние действия над темой

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru