DMD_STM32 - версия библиотеки DMD для СТМ32Дуино

Lancelot
Offline
Зарегистрирован: 11.02.2020

Там просто дата, других этикеток нет.

b707
Offline
Зарегистрирован: 26.05.2017

Lancelot пишет:

Там просто дата, других этикеток нет.

все, на большой фотке рассмотрел - точно 1/4 скан у вас, должно работать.

Lancelot
Offline
Зарегистрирован: 11.02.2020

Попробовал другие библиотеки, которые нашёл на гитхабе. Проблема также. Мб аппаратно что-то не то? Не подскажите где искать?

b707
Offline
Зарегистрирован: 26.05.2017

перечислите все пины, которые вы подключаете к СТМ и к матрице

Да, и еще - у вас земля на матрице, земля СТМ и земля блока питания, который подключается к матрице отдельным кабелем - обьединены?

b8hri11
Offline
Зарегистрирован: 11.05.2019

Стоит так же проверить с другим модулем/шлейфом, всякое бывает.
Даже у сканов 1/4 есть десяток подтипов, наличие/отсутствие 138 декодера, количество микросхем драйверов.
Так что все маркировки чипов в студию.
Для dmd библиотеки нужны модули с 138 декодером и 16 драйверами.

b707
Offline
Зарегистрирован: 26.05.2017

b8hri11 пишет:
Стоит так же проверить с другим модулем/шлейфом, всякое бывает. Даже у сканов 1/4 есть десяток подтипов, наличие/отсутствие 138 декодера, количество микросхем драйверов. Так что все маркировки чипов в студию. Для dmd библиотеки нужны модули с 138 декодером и 16 драйверами.

Там на фото все отлично видно прямо с маркировкой. Одна DP4536 и 8 драйверов 5020. У меня есть такая матрица, отлично работает с этой библиотекой.

Думаю все проще - либо GND от питания не подсоединил, либо надо соединить все 7 пинов GND на колодке - опять же на фото видно, что спрашивающий этого не сделал, у него подведена "земля" только к одному пину шлейфа

Lancelot
Offline
Зарегистрирован: 11.02.2020

Господа, всем спасибо за активное участие в решении вопроса! Все пины GND, включая GND от БП, соединены на плате(прозвонил их мультиметром) и  нет необходимости из соединять где-то еще. Все оказалось гораздо прозаичнее - камень бракованный).  У него кз по линии земли и порта В.

b707
Offline
Зарегистрирован: 26.05.2017

Lancelot пишет:

Господа, всем спасибо за активное участие в решении вопроса! Все пины GND, включая GND от БП, соединены на плате(прозвонил их мультиметром) и  нет необходимости из соединять где-то еще. Все оказалось гораздо прозаичнее - камень бракованный).  У него кз по линии земли и порта В.

ну так что, библиотека заработала? Что мастерите, если не секрет?

 

Lancelot
Offline
Зарегистрирован: 11.02.2020

Да, все заработало. Делаю табло, которое по времени выводит фразы. Читает она их с sd карты. Как-то так

b707
Offline
Зарегистрирован: 26.05.2017

Lancelot пишет:
Да, все заработало. Делаю табло, которое по времени выводит фразы. Читает она их с sd карты. Как-то так

подумайте, а нужна ли СД-карта. У самой простой СТМ32 встроенной памяти хватит на маленькую повесть...

Lancelot
Offline
Зарегистрирован: 11.02.2020

Нужна. Данных много и есть вероятность что их список нужно будет обновлять без перепрошивки камня. Решения проще я не нашёл.

FoxJone
Offline
Зарегистрирован: 19.04.2019

Если не секрет, для чего используется такое табло? Мне просто интересно, как профессионалу по спец-табло.

b707, я сегодня общался с коллегами и мы решили начать разработку контроллера на СТМ.

Lancelot
Offline
Зарегистрирован: 11.02.2020

Понятия не имею). Сам делаю не для себя, попросили

FoxJone
Offline
Зарегистрирован: 19.04.2019

Lancelot пишет:
Понятия не имею). Сам делаю не для себя, попросили

Между нами говоря, любой свежий китайский контроллер со встроенными часами может сохранять неограниченное число текстовых программ (сколько памяти хватит, а памяти у него ого-го) и выводить их по расписанию. В конкретную дату-время, в конкретный день недели (только по вторникам, например), в конкретный период времени (с 8-30 до 14-55), или к примеру с 7 по 12 числа каждого месяца. И даже включать-выключать экран по расписанию может. И яркость менять по расписанию. Плюс уже готовый интерфейс для ввода этих надписей и расписания. Цена вопроса от 300 до 1000 руб (разница только в системе связи с контроллером).

Я так делал таблички "открыто/закрыто", которые сами включались в нужное время и выводили надпись "открыто" в рабочее время, "закрыто" в не рабочее, и "обед" соответственно в обед.

Ничуть не умаляю проделанную работу, но, по-моему, вы в открытую дверь стучитесь.

Lancelot
Offline
Зарегистрирован: 11.02.2020

Тут все несколько проще. Это курсач по электронике

b707
Offline
Зарегистрирован: 26.05.2017

FoxJone пишет:

b707, я сегодня общался с коллегами и мы решили начать разработку контроллера на СТМ.

 

рад слышать, будет нужна помощь - обращайтесь. Правда на работе меня сейчас просто завалили, но ради СТМ32 время найду :)

Ваша задачка по ЕСП32 у меня на подходе, остальное лучше в почту.

Antsanv
Antsanv аватар
Offline
Зарегистрирован: 18.12.2018

Работает и в PLATFORMIO с такими настройками

[env:genericSTM32F103C8]
platform = ststm32
board = genericSTM32F103C8
framework = arduino
; change microcontroller
board_build.mcu = stm32f103c8t6
; change MCU frequency
board_build.f_cpu = 72000000L
upload_protocol = stlink
debug_tool = stlink

Автору огомная благодарность, особенно за шрифты!

lean_74
Offline
Зарегистрирован: 22.12.2015

FoxJone пишет:

b707, я сегодня общался с коллегами и мы решили начать разработку контроллера на СТМ.

У меня такой получился, вставляется прямо в разъем HAB12, связь по 485 интерфейсу. 

lean_74
Offline
Зарегистрирован: 22.12.2015

Дубль

 

b707
Offline
Зарегистрирован: 26.05.2017

lean_74 пишет:

У меня такой получился, вставляется прямо в разъем HAB12, связь по 485 интерфейсу. 

Красота. Что за контроллер впаиваете?

Две пары винтовых клемм - вход питания и выход на матрицу?

lean_74
Offline
Зарегистрирован: 22.12.2015

Платы для табло бензозаправок, одно табло от 6 до 10 светодиодных панелей, между собой и платой управления табло соединены по 485 интерфейсу, вторые винтовые клеммы как раз для этого, первые понятно питание, сама плата вставляется в первую светодиодную матрицу  самой панели без кабеля, чип stm32f103c6t6

b707
Offline
Зарегистрирован: 26.05.2017

lean_74 пишет:

чип stm32f103c6t6

ссылку на продавца чипа не кинете? Прошиваете СТ-линком?

lean_74
Offline
Зарегистрирован: 22.12.2015

Для пробы брал дорого в чипедипе, шью да стлинком. Пока сделали пробную партию на 10 панелей, клиент тестирует, особо ему нравится что от панели к панели не надо тянуть длинные 16 проводные кабели, которые мокнут и гниют.А еще фонят безбожно.  

прототип из 6 матриц на блюпипле.

b707
Offline
Зарегистрирован: 26.05.2017

Приятно видеть. Если есть какие замечания или предложения по доработке кода - пишите

lean_74
Offline
Зарегистрирован: 22.12.2015

разве для удобства подключения матриц, избегая длинных 16-ти проводных шин

FoxJone
Offline
Зарегистрирован: 19.04.2019

lean_74 пишет:

разве для удобства подключения матриц, избегая длинных 16-ти проводных шин

Я уже думал над разработкой контроллера с 2-4 выходами HUB12 (по выходу на ряд модулей). Можно сделать на 74-х тригерах.... Но меня посетила мысль, нуждающаяся в проверке: ног у СТМки много, хватит на 2 хаб12. А если попробовать запустить два ДМД одновременно в одном камне? 

Например, вот так
SoftDMD dmd1string(3, 1, 3, 4, 5, 6, 7, 8);
SoftDMD dmd2string(3, 1, 9, 10, 11, 12, 13, 14);

Попробуете?

ЗЫ. Я вам на майл письмо черкнул, если вдруг не пришло (не уверен в адресе), сообщите пожалуйста.

b707
Offline
Зарегистрирован: 26.05.2017

lean_74 пишет:

разве для удобства подключения матриц, избегая длинных 16-ти проводных шин

вместо соединения матриц 5х2 описываете их как 2х5 и поворачиваете картинку на 90 градусов

b707
Offline
Зарегистрирован: 26.05.2017

FoxJone пишет:

Но меня посетила мысль, нуждающаяся в проверке: ног у СТМки много, хватит на 2 хаб12. А если попробовать запустить два ДМД одновременно в одном камне?

Попробуете?

Евгений, в примерах к библиотеке из этой ветки уже есть вариант подключения двух каналов ДМД одновременно. Протестировано одним из пользователей на двух каналах по 16 матриц в каждом. Работает без проблем

Но два канала - это предел, связано с тем, что библиотека работает через аппаратный SPI, а их на STM32F103 только два

lean_74
Offline
Зарегистрирован: 22.12.2015

b707 пишет:

Но два канала - это предел, связано с тем, что библиотека работает через аппаратный SPI, а их на STM32F103 только два

причем у SPI скорости разные, один на скоростной шине  проца работает, другой нет, соответственно к первому можно подключить большее количество матриц, чем ко второму. я лично цеплял 42, но и больше должно работать. а по поводу 2х5 и поворот на 90 градусов Дима - ты Гений. как все просто решается. Пошел пробовать.

b707
Offline
Зарегистрирован: 26.05.2017

lean_74 пишет:

а по поводу 2х5 и поворот на 90 градусов Дима - ты Гений. как все просто решается. Пошел пробовать.

ну, это только идея :)

по-моему, прям из коробки там поворота нет (блин, уже сам не помню, где что :) - но все равно переписывать явно меньше, чем если менять порядок опроса матриц

b707
Offline
Зарегистрирован: 26.05.2017

b707 пишет:

ну, это только идея :)

по-моему, прям из коробки там поворота нет (блин, уже сам не помню, где что :) - но все равно переписывать явно меньше, чем если менять порядок опроса матриц

пока сидел за рулем в воскресенье, возил жену по разным местам - было время немного подумать. Да, так просто не выйдет, начать с того, что матрицы не квадратные - и значит при повороте 5х2 превращается не 2х5, а в 1х10.

Ну и в самом коде надо будет не просто поменять местами х и у, а инвертировать координату по у.

а остальное должно быть просто.... Могу попробовать внедрить в библиотеку команду Rotate()

Antsanv
Antsanv аватар
Offline
Зарегистрирован: 18.12.2018

А можно каким то образом выводить надпись высотой 32 т.е. на два ряда?

b707
Offline
Зарегистрирован: 26.05.2017

Antsanv пишет:

А можно каким то образом выводить надпись высотой 32 т.е. на два ряда?

можно, нужен фонт высотой 32 пикселя

Antsanv
Antsanv аватар
Offline
Зарегистрирован: 18.12.2018

А как он будет синхронизироваться по двум каналам?

b707
Offline
Зарегистрирован: 26.05.2017

Antsanv пишет:

А как он будет синхронизироваться по двум каналам?

для этого не нужно два канала. Посмотрите на картинку в #125 - верхний вариант - два ряда матриц подключаются последовательно к одному каналу

b707
Offline
Зарегистрирован: 26.05.2017

lean_74 пишет:

а по поводу 2х5 и поворот на 90 градусов  - как все просто решается. Пошел пробовать.

lean_74, добрый день

попробовал поворот, реально все просто решается, три строки в библиотеку

(на картинке мысленно поставьте нижнюю панель левее верхней, чтобы получилось две надписи "00:01", у меня просто кабели такие короткие, что матрицы рядом не поставить

насчет соединения матриц есть еще одна идея, сейчас напишу отдельно

b707
Offline
Зарегистрирован: 26.05.2017

Возьмем панно 4х3, возможные варианты соединения матриц:

1. "Классическое"  4х3:

плюсы - просто соединять, совместимо с любой библиотекой
минусы - очень длинные кабели между рядами

2. Предложенное lean_74 - 3х4 с поворотом

плюсы - кабели короче

 

глядя на вариант lean_74 - сразу подумалось, а зачем возвращаться всегда к первой матрице в ряду?

3. - "Зигзаг"

плюсы - все кабели только короткие
минусы - чуть сложнее сборка, каждую вторую строчку надо монтировать "вверх ногами"

 

Попробовал добавить третий вариант в библиотеку - чуть сложнее, чем вариант с вращением - понадобилось пять строчек :)
Как думаете, тянет это на "рацпредложение с экономическим эффектом от внедрения", как говорили раньше? :) - Экономия ресурсов налицо

FoxJone
Offline
Зарегистрирован: 19.04.2019

b707 пишет:

Antsanv пишет:

А как он будет синхронизироваться по двум каналам?

для этого не нужно два канала. Посмотрите на картинку в #125 - верхний вариант - два ряда матриц подключаются последовательно к одному каналу

А я таки присоединюсь к вопросу: кто то пробовал синхронизировать именно 2 канала?

FoxJone
Offline
Зарегистрирован: 19.04.2019

b707 пишет:

3. - "Зигзаг"

 

минусы - чуть сложнее сборка, каждую вторую строчку надо монтировать "вверх ногами"

Монохромный DIP-модуль нельзя ставить вверх ногами в принципе, так что только SMD

b707
Offline
Зарегистрирован: 26.05.2017

FoxJone пишет:

Монохромный DIP-модуль нельзя ставить вверх ногами в принципе, так что только SMD

это из-за "козырьков" над светодиодами? или еще почему-то?

b707
Offline
Зарегистрирован: 26.05.2017

FoxJone пишет:

А я таки присоединюсь к вопросу: кто то пробовал синхронизировать именно 2 канала?

раскройте вопрос - на каком уровне синхронизировать?

Это в смысле делить вывод информации на два канала, например сделать панно 5х2, где первая строка матриц будет на одном канале, а вторая на другом?

Или синхронизировать на низком уровне, чтобы сканы на двух каналах выполнялись одновременно или близко к этому?

 

FoxJone
Offline
Зарегистрирован: 19.04.2019

[/quote]

это из-за "козырьков" над светодиодами? или еще почему-то?

[/quote]

Из за них, они загораживают обзор. Попробуйте сами посмотреть на модуль сверху.

FoxJone
Offline
Зарегистрирован: 19.04.2019

b707 пишет:

Это в смысле делить вывод информации на два канала, например сделать панно 5х2, где первая строка матриц будет на одном канале, а вторая на другом?

Именно так. На самом деле контроллер с двумя хаб12 гораздо удобнее даже и для обычных двухстрочных табло (вон как коллега Lean показывал), не надо делать этот длинный шлейф. Но вот вопрос, как на него выводить шрифт 32? Поделить то я его смогу, а вот будет ли он выводиться одновременно?

b707
Offline
Зарегистрирован: 26.05.2017

FoxJone пишет:

Именно так. На самом деле контроллер с двумя хаб12 гораздо удобнее даже и для обычных двухстрочных табло (вон как коллега Lean показывал), не надо делать этот длинный шлейф. Но вот вопрос, как на него выводить шрифт 32? Поделить то я его смогу, а вот будет ли он выводиться одновременно?

не надо ничего делить - в смысле не надо это делать вручную. Работа с картинкой должна быть стандартной, как будто вы работаете с единым полем 5х2. Разделение на нижнюю и верхнюю строку должно происходить в библиотеке.

Технически это возможно и даже, осмелюсь сказать, не очень сложно. Просто геморно, потому что тут уже не обойтись правкой пяти строчек - надо менять логику работы библиотеки. Сейчас два канала в библиотеке абсолютно независимы. Но добиться "одновременного вывода" в том смысле, чтобы картинка не разъезжалась - в общем-то несложно.

b707
Offline
Зарегистрирован: 26.05.2017

FoxJone пишет:

b707 пишет:

это из-за "козырьков" над светодиодами? или еще почему-то?

Из за них, они загораживают обзор. Попробуйте сами посмотреть на модуль сверху.

Понял.

У меня только SMD модули, для них никаких проблем в монтаже "вверх ногами" вроде нет. Ну хначит эта "рацуха" применима только для SMD. Но для SMD она сильно упрощает монтаж, как мне кажется.

lean_74
Offline
Зарегистрирован: 22.12.2015

Дима, про три строчки и про пять, можно подробнее, или на почту.Магарыч с меня.

b707
Offline
Зарегистрирован: 26.05.2017

lean_74 пишет:

Дима, про три строчки и про пять, можно подробнее, или на почту.Магарыч с меня.

Привет, я сейчас этим занимаюсь, скоро выложу обновление на Гитхаб

b707
Offline
Зарегистрирован: 26.05.2017

lean_74 пишет:

Дима, про три строчки и про пять, можно подробнее, или на почту.Магарыч с меня.

добрый вечер, написал в почту

b707
Offline
Зарегистрирован: 26.05.2017

++++ Изменения ++++

добавил краткое описание создания и использования своих фонтов из TTF файлов.

См в шапке темы

Antsanv
Antsanv аватар
Offline
Зарегистрирован: 18.12.2018

b707 пишет:

++++ Изменения ++++

добавил краткое описание создания и использования своих фонтов из TTF файлов.

См в шапке темы

Добрый день.

Скажите, я правильно понимаю: на один SPI мы цепляем последовательно 20 матриц, но в геометрии допустим 5(д)х4(в). И для того чтобы отображать текст высотой 64 пикселя надо просто сконвертировать нужный шрифт и указать в настройках скетча параметры 5х4?