RGB 32×16 или как подковать китайского Дракона

Намедни как то проверяю почту, а в ней письмо от нашего друга и автора популярных конструкций. Бегло прочитал и понял, что это начало нового шедевра!

«После покупки в Китае матрицы 32х16 RGB светодиодов (протокол HUB75, маде ин Чина), разобрался с её управлением (читай — подковал), добился на Atmege-328 4 бита градаций BAM для каждого пикселя без мерцания, что в теории означает 4096 цветов, для этого правда пришлось весь обработчик прерывания на ассемблере написать чтобы увеличить скорость. После этого понял, что хочу сделать массив картинок и шрифтов в памяти программ, а для этих целей решил сделать свой эффектор на vb.net. На первых порах хочу выбирать цвет из палитры и мышкой просто управлять виртуальными светодиодами. Вторым по счёту планирую импорт рисунков. Ну а дальше…»

А дальше хоть и подкован, но бежит как ракша (рикша по ихнему). А хочется скакуна!

Вот и наступают трудные, но интересные часы/дни/недели/месяцы творчества. Небезразличные граждане и доброжелательные товарищи приглашаются к дебатам или обсуждению светлого будущего китайской матрицы. Возможно кто то самостоятельно захочет прокатиться с ветерком, ну и исходный флаг вам в руки!

На плате с атмегой (если планируется Ардуинка) неплохо заменить кварц, по умолчанию комплектуется 16мГц, а Atmega328P поддерживает 20 мГц, на 20 мГц работает мягче.

Вообщем, пишите, звоните, переводите деньги в любых количествах и в любое время.

Купить модуль можно здесь.

В роли Левши — Николай Равчев, записано с его слов верно, зачитано и заверено печатью Баскома.

 

p.s. Продолжаем подковывать дракона. Теперь двухголового.

15.11.2018

Хорошая новость у меня. Доделал управление двумя матрицами.
Работает отлично, одна STM32 справляется с двумя матрицами легко.
ШИМ (вернее BAM), 6-ти битный (0…63), мерцания нет.
Один пиксель кодируется 2 байтами в соответствии с описанием формата RGB565.
В интернете с похожими характеристиками по глубине цвета и скорости обновления открытых проектов я не нашёл. Если я искал хорошо, то похоже это будет нечто новенькое.

 

На фото стартовая картинка, делал с помощью конфигуратора из Jpg, конфигуратор во вложении (не доработан до конца, но пользоваться можно).

Стартовая картинка в буфере при включении. Если по SPI закинуть кадр из 2048 байт (можно по частям), то данные сразу аппаратно копируются в буфер для отображения, заменяют стартовую картинку.


Проект написан в KEil. Во вложении готовый hex, схема подключения, конфигуратор.
Инструкция как прошивать с помощью Flash_Loader_Demonstrator в интернете есть.

Дисплей у меня почти готов (может ещё чего к этой же STM32 прикручу), теперь я уже буду ЧАСЫ делать!

ВОТ КАК!

Автор публикации

не в сети 24 часа

Radan

0
Комментарии: 906Публикации: 170Регистрация: 30-11--0001
Поделиться

15
Отправить ответ

Пожалуйста, чтобы добавить комментарий.
Войти с помощью: 
7 Цепочка комментария
8 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
6 Авторы комментариев
fixicRadanElektron76q qСергей Авторы недавних комментариев
  Подписаться  
новые старые рейтинг
Подписаться на
fixic
Участник

У Вас, я полагаю, панели 1/8, раз подключен сигнал С вместе с А и В. С моими панелями 1/4 — не заработало на STM32F103C8T6. А проектом не поделитесь? Или переделать под скан 1/4?

Elektron76
Участник

Да, конечно. Проект под Keil 5.23. Почту напишите, вышлю.
Когда переделаете под 1/4, пришлите свой вариант для коллекции.

fixic
Участник
Elektron76
Участник

В общем процесс у меня пошёл. Сперва китайскую stm32f103c8t6 пришпандорил в среде ардуино как мне посоветовал Юрис (STM32Duino в поисковике). Панель заработала, но не с ардуиновскими библиотеками и кривовато. Пока мучался с отладкой понял, что в протеусе нереально STM32 отлаживать, в ардуино при прерываниях на больших частотах то и дело USB Serial отваливается, пришлось освоить Keil uVision. Вот с ним то и отладил. Пока управляю одной матрицей в формате R5G6B5 (65536 цветов), но это уже честные цвета, в стандартном формате и без мерцания на камере. STM сконфигурирована на 72 мГц, на 148 решил не рисковать в угоду надёжности. Файлы будут… Читать далее »

Сергей
Участник

Понравился проект.
Попытался адаптировать под Атмегу-32 и ничего не получается.
В исходнике много ассемблера. Конечно, с комментариями, но многое не понятно.
Поможете мне с кодом?

opfexo9
Участник

Переложите исходник , а то не скачиваются. Пожалуйста smile

DJ misha DJJJJJJJJJJJJ
Гость
DJ misha DJJJJJJJJJJJJ

Доброго времени. А можно перезалить исходники или положить на другой ресурс. Не выкачиваются. А то лежит матрица 32×32 и руки никак не доходят.

BlackMore Black
Гость
BlackMore Black

Красота! Замечательно, что Вы запустили матрицу на Atmega! Я тоже купил P6 модель (выбирал между лентой WS2812 и этой матрицей) почему-то победила матрица . Но не рискнул на Atmega, думал, что не вытянет. Тут наверное без вставок на ASM не обойтись. Запустил на Raspberry, но на первой версии малины на работу с матрицей уходит почти её 80% CPU. Конечно на малине удобно — написал скрипты для управления матрицей через WEB-интерфейс, даже хотел прикрутить аналог цветомузыки (анализатор спектра) через аудио-вход. Но по цене дорого получается и малину жалко для таких целей — там же целый Linux! Так, что проект пришлось забросить… Читать далее »

superman
Участник

Рад что оценили! Я несколько месяцев выжимал из атмеги все соки чтобы была возможна хотя бы 4 битная регулировка яркости, хорошо что кому то опыт оказался полезен. Да, вы правы, можно к каждому сегменту 16х32 прицепить атмегу328 в качестве драйвера (цена то копеечная) и потом это всё хозяйство управлять неспешно с основного контроллера например по SPI или по протоколу SSD1306 как вы предлагаете. У меня к вам просьба, если куда то продвинетесь в этом направлении поделитесь что получилось.

Zavspecklass
Участник

Очень интересное начало.
Я думаю раз начало положено, то теперь дело пойдет! У Николая всегда что-то интересное получается!

superman
Участник

Спасибо за оценку. Но это ещё половина начала. Хотя и на глаз мерцание развёртки не очень заметно я всё таки решил сделать нечто совсем близкое к видео (256 градаций шим и развёртка не менее 400 Гц). А для этого нужен уже не AVR а ARM. Заказал в Китае, выбираю пока среду разработки.

Juris_3D
Участник

Молодец, парень! biggrin Желаю успехов намудить из этого разных разностей! И пусть помошники хорошие найдутса.