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


Я серьёзно взялся за новую игрушку, интересно очень, но о больших успехах говорить пока рано. Только SD карту прикрутил и конфигуратор доделал, чтобы из видео кадры захватывать (т.к. рисовать долго и лень, и так не нарисуешь, чтобы как в видео, на Ютюбе можно со словом “футаж” найти уже готовое подходящее).
На скорую руку ролик того, что есть на данный момент:
С помощью конфигуратора я переводил картинки и видео в RGB565. Там конечно ещё много мелких косяков, но функционал работает. Можно захватывать изображение из видео с заданным интервалом автоматически, перегоняя в набор 16 битных чисел для 32х32 экрана, затем сохранить этот набор картинок в один файл, открыть и просматривать сохранённые файлы, ну и ещё по мелочи для удобства.





Это полностью открытый проект с исходниками, народ будет идеи и пожелания писать, а я их реализовывать. Исходник для Keil у меня каждый день дорабатывается по нескольку раз, пока не вижу смысла его выкладывать, как одержу победу над всеми проблемами и останется функционал ЦМУ – выложу.
В первую очередь мне от людей неравнодушных нужны идеи по режимам ЦМУ, какие пункты в меню настроек должны быть (как дисплей этот экран выводит 4 строки по 5 символов, шрифт на Кириллицу уже реализован) .
Алгоритмы режимов во вложении.
Файлы видео во вложении.
Исходник конфигуратора во вложении.
ДетАЛИ на ALI:
Модуль часов DS3231
Слот под карту памяти
Модуль контроллера STM32F103
Программатор ST-Link
RGB матрица
С уважением, Равчев Николай.
2018.
Ну в общем то подготовка почти завершена. Сейчас у меня есть стабильно работающие функции: 1. Управление цветом, насыщенностью, яркостью 2. Вывод текстовой информации (кодировка WIN1251) как со скроллингом так и без 3. Чтение файлов с SD карты (поиск по имени, расширению FAT32) 4. Приём и передача по UART и использованием DMA (нет притормаживания программы из за медленного интерфейса) 5. Приём команд пульта с использованием таймера в режиме захвата, получаем с высокой точностью тайминги, автоматически рассчитываются пороги для сравнения данных. Должно работать автоматом на любых пультах, какие у меня были все попробовал – работают. 6. Обмен данными с часами DS3231 и… Читать далее »
Дорого времени суток. имеется панель 64х64 scan 1-32. Хочу попробовать прикрутить Ваш проект. Если все получиться, исходники верну.
Тут последний рабочий исходник, добавлен UART и приём команд с пульта. https://yadi.sk/d/3w_ENUgxB3ee9Q
Если доработаете под свою панель, поделитесь пожалуйста результатами.
А вообще мне в данный момент нужна помошь с аппаратным I2C. Никак не могу разобраться. Для теста принимаю данные с DS3231 каждые 100мс, минуты 2-4 работает, затем виснет Slave устройство (флаг BUSY) и пока не сниму питание с DS3231 далее не работает. Пока пытаюсь сам разобраться (3 день пошёл).
Спасибо! Я смотрю, что у Вас панель подключена к пинам STM-ки не толерантным к 5-ти вольтам, панель в таком случае желательно тоже запитывать от 3,3 вольта. Там кстати хватает пинов на 5 вольт.
Дело в том, что из панели данные в STM не идут, толерантность заключается в том, что если на пин STM подаётся 5 вольт, лишние 1,7 вольт через диод уходят на другую шину, не VCC. А выходы везде одинаковые, толерантный пин или нет без разницы. Да и пинов не хватает, всё впритык. У меня кроме панелей ещё UART, SD карта, IR приёмник, I2C, и ещё куда то нужно кнопку программирования пультов воткнуть. Пины PA11, PA12 не хотелось бы использовать, вдруг USB пригодиться. На C13 светодиод, остаются C14, C15,, они только для входов и пригодны. Вы наверное тоже только начали работать с… Читать далее »
Для скана 1/32 уменьшайте глубину ШИМ до 16 (сейчас 64), иначе будет мерцать при съёмке на камеру. Или STM на большую частоту берите.
Прошу прощения, насчет толерантности тупанул, в прошлом проекте использовал дисплей на HD44780, там пришлось использовать внешнюю подтяжку к 5-ти вольтам, вот и выбирал порты соответствующие.
По поводу I2C – может все таки часы глючат? Не пробовал что нибудь другое с этой шиной, датчик какой нибудь?
Да ничего больше нету, первый раз с i2c сталкиваюсь. Разберёмся.
Попробовать питание на DS3231 подать сразу 3 вольта, резисторы подтяжки на SDA и SCL уменьшить до 3,3 кОм. Возможно причина в железе, а не в софте.
Питание у меня идёт 3,3 вольта, параллельно питанию STM32. А вот резисторы попробую заменить. Изначально стоят 50кОм. Спасибо Василий!
50кОм – это верхняя планка для DS3231, у неё ёмкость порядка 10пФ, столько же у МК. А вообще лучше посмотреть осцилом затягивание фронтов, и подбирать резисторы.
Всё, победил I2c. Дело было в алгоритме, точнее в последовательности действий. Не первый раз сталкиваюсь с такой ситуацией, именно на Stm32 примеры из интернета толком не работают, даже с GetHub большинство работают криво.
Ура! Пора свои матрицы запускать пробовать.
Предполагаемое меню настроек:
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
Для начала как бы и хватит, а в процессе тестирования будет видно. Единственное что по яркости – нужно предусмотреть не только по реакции внешнего датчика освещённости, но и по времени. Там, где белые ночи, датчик яркости малопригоден.
Я изначально датчик освещённости не планирую, в geographical coordinates задаём широту и долготу местности, тёмное время суток определяется по формуле. А яркость в тёмное время суток уже можно будет корректировать из меню.
Я пока пульт прикручиваю.