Mediaclock

Поздравляю всех с наступающим Рождеством и Новым годом!

Этот проект — продолжение темы Как подковать китайского дракона

Я серьёзно взялся за новую игрушку, интересно очень, но о больших успехах говорить пока рано. Только SD карту прикрутил и конфигуратор доделал, чтобы из видео кадры захватывать (т.к. рисовать долго и лень, и так не нарисуешь, чтобы как в видео, на Ютюбе можно со словом «футаж» найти уже готовое подходящее). 
На скорую руку ролик того, что есть на данный момент:

С помощью конфигуратора я переводил картинки и видео в RGB565. Там конечно ещё много мелких косяков, но функционал работает. Можно захватывать изображение из видео с заданным интервалом автоматически, перегоняя в набор 16 битных чисел для 32х32 экрана, затем сохранить этот набор картинок в один файл, открыть и просматривать сохранённые файлы, ну и ещё по мелочи для удобства.

Скрин конфигуратора.
Схема подключения модулей.
Модули в сборе.
Макетная плата, фронт.
Макетная плата, тыл.

Это полностью открытый проект с исходниками, народ будет идеи и пожелания писать, а я их реализовывать. Исходник для Keil у меня каждый день дорабатывается по нескольку раз, пока не вижу смысла его выкладывать, как одержу победу над всеми проблемами и останется функционал ЦМУ — выложу.

В первую очередь мне от людей неравнодушных нужны идеи по режимам ЦМУ, какие пункты в меню настроек должны быть (как дисплей этот экран выводит 4 строки по 5 символов, шрифт на Кириллицу уже реализован) .

Алгоритмы режимов во вложении. 
Файлы видео во вложении.
Исходник конфигуратора во вложении.

ДетАЛИ на ALI:

Модуль часов DS3231
Слот под карту памяти
Модуль контроллера STM32F103
Программатор ST-Link
RGB матрица

С уважением, Равчев Николай.
2018.

0 0 vote
Article Rating

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

не в сети 6 дней

Radan

0
Комментарии: 954Публикации: 190Регистрация: 30-11--0001
Поделиться
Войти с помощью: 
Подписаться
Подписаться на
16 Комментарий
новые
старые рейтинг
Inline Feedbacks
View all comments
Elektron76
1 год назад

Ну в общем то подготовка почти завершена. Сейчас у меня есть стабильно работающие функции: 1. Управление цветом, насыщенностью, яркостью 2. Вывод текстовой информации (кодировка WIN1251) как со скроллингом так и без 3. Чтение файлов с SD карты (поиск по имени, расширению FAT32) 4. Приём и передача по UART и использованием DMA (нет притормаживания программы из за медленного интерфейса) 5. Приём команд пульта с использованием таймера в режиме захвата, получаем с высокой точностью тайминги, автоматически рассчитываются пороги для сравнения данных. Должно работать автоматом на любых пультах, какие у меня были все попробовал — работают. 6. Обмен данными с часами DS3231 и… Читать далее »

baikonur
1 год назад

Дорого времени суток. имеется панель 64х64 scan 1-32. Хочу попробовать прикрутить Ваш проект. Если все получиться, исходники верну.

Elektron76
1 год назад
Reply to  baikonur

Тут последний рабочий исходник, добавлен UART и приём команд с пульта. https://yadi.sk/d/3w_ENUgxB3ee9Q
Если доработаете под свою панель, поделитесь пожалуйста результатами.
А вообще мне в данный момент нужна помошь с аппаратным I2C. Никак не могу разобраться. Для теста принимаю данные с DS3231 каждые 100мс, минуты 2-4 работает, затем виснет Slave устройство (флаг BUSY) и пока не сниму питание с DS3231 далее не работает. Пока пытаюсь сам разобраться (3 день пошёл).

baikonur
1 год назад
Reply to  Elektron76

Спасибо! Я смотрю, что у Вас панель подключена к пинам STM-ки не толерантным к 5-ти вольтам, панель в таком случае желательно тоже запитывать от 3,3 вольта. Там кстати хватает пинов на 5 вольт.

Elektron76
1 год назад
Reply to  baikonur

Дело в том, что из панели данные в STM не идут, толерантность заключается в том, что если на пин STM подаётся 5 вольт, лишние 1,7 вольт через диод уходят на другую шину, не VCC. А выходы везде одинаковые, толерантный пин или нет без разницы. Да и пинов не хватает, всё впритык. У меня кроме панелей ещё UART, SD карта, IR приёмник, I2C, и ещё куда то нужно кнопку программирования пультов воткнуть. Пины PA11, PA12 не хотелось бы использовать, вдруг USB пригодиться. На C13 светодиод, остаются C14, C15,, они только для входов и пригодны. Вы наверное тоже только начали работать с… Читать далее »

Elektron76
1 год назад
Reply to  Elektron76

Для скана 1/32 уменьшайте глубину ШИМ до 16 (сейчас 64), иначе будет мерцать при съёмке на камеру. Или STM на большую частоту берите.

baikonur
1 год назад
Reply to  Elektron76

Прошу прощения, насчет толерантности тупанул, в прошлом проекте использовал дисплей на HD44780, там пришлось использовать внешнюю подтяжку к 5-ти вольтам, вот и выбирал порты соответствующие.
По поводу I2C — может все таки часы глючат? Не пробовал что нибудь другое с этой шиной, датчик какой нибудь?

Elektron76
1 год назад
Reply to  baikonur

Да ничего больше нету, первый раз с i2c сталкиваюсь. Разберёмся.

Elektron76
1 год назад
Reply to  Radan

Питание у меня идёт 3,3 вольта, параллельно питанию STM32. А вот резисторы попробую заменить. Изначально стоят 50кОм. Спасибо Василий!

baikonur
1 год назад
Reply to  Elektron76

50кОм — это верхняя планка для DS3231, у неё ёмкость порядка 10пФ, столько же у МК. А вообще лучше посмотреть осцилом затягивание фронтов, и подбирать резисторы.

Elektron76
1 год назад
Reply to  baikonur

Всё, победил I2c. Дело было в алгоритме, точнее в последовательности действий. Не первый раз сталкиваюсь с такой ситуацией, именно на Stm32 примеры из интернета толком не работают, даже с GetHub большинство работают криво.

Elektron76
1 год назад

Предполагаемое меню настроек:
1.AUDIO volume,
time pause,
level pause

2.ALARM on-off,
set time,
tone ,
repeat
3.SETUP 3.1.CLOCK time-data,
geographical coordinates,
running line
3.2.MODE rand time,
debug message

3.3. METEO offset temp

3.4.BRIGH level,
auto night mode,

4.INFO version,
time power,
ir code

Elektron76
1 год назад
Reply to  Radan

Я изначально датчик освещённости не планирую, в geographical coordinates задаём широту и долготу местности, тёмное время суток определяется по формуле. А яркость в тёмное время суток уже можно будет корректировать из меню.
Я пока пульт прикручиваю.