Один. Чип STM32F103C8T6. Там же не полностью все поле светодиодное. Черный композит с модульными вставками. Красные, белые и зеленые модули стоят в нужных местах. Еще релюшка на сирену (когда время матча доходит до нуля - сирена ревет + можно вручную ее запустить). Все это управляется с ноута, ПО тоже я писал. Пока писал - заказали еще 3 разных табло (футбол, воллейбол и баскетбол), поэтому на ходу поменял концепцию и сделал конструктор для табло любых размеров и под разные игры. То есть сейчас могу взять табло любого размера, прописать в файле настроек координаты всех полей, размеры шрифтов, коды управляющих клавиш, тип игры, наличие/отсутствие сирен, количество табло (до 5 штук, у каждого свой ID) и не меняя ни верхнее ПО, ни прошивку контроллера сразу сделать спортивное табло под нужную игру.
Сейчас тренируюсь на вот таком (монохромный модуль с шагом 6 мм - очень удобно для моделирования), а клиенту уйдет табло 160*96 см (вон бумажки отмечают 96 пикселей).
а файл настроек выглядит так (я там с заделом на будущее сразу под полноцвет настройки прописал):
Сейчас тренируюсь на вот таком (монохромный модуль с шагом 6 мм - очень удобно для моделирования), а клиенту уйдет табло 160*96 см (вон бумажки отмечают 96 пикселей).
а общий размер этого панно - 160х160 пикселей (5х10) модулей? Не слабо...
Если есть еще интересные фото - выкладывайте :) - я их потом на гитхаб библиотеки выложу :)
а общий размер этого панно - 160х160 пикселей (5х10) модулей? Не слабо...
На заре моего знакомства со светодиодными экранами (лет 10-12 назад) попадались модули с шагом 3,75, полностью совместимые по скану со стандартным Р10. Я их не видел вживую уже лет 7, а вот сейчас бы с удовольствием купил и сделал бы макетку не 160*160, а 256*256... Когда пишешь ПО под экран - очень полезно вот так посмотреть на результат, а в цех на пробы не набегаешься.
Этих вот монохромных р6 тоже нигде уже не найти, не выпускает уже давно. Этой макетке лет 6-8 вроде.
Сначала думал про брак в панелях, но такое случилось уже на 3 табло у которых модули от разных производителей.
Что имеем:
- появляется не сразу, при тестах все отлично работает
- появляется на табло где больше одного ряда модулей. 64*16 работает уже несколько месяцев. Выявлено на 64*32 и на двух 160*64.
Ну с точки зрения правоверного Сишника, убить бы за Стринг... Но я привык к стрингам, мне с ними удобно)
Ну и вообще эта оболочка под ДравСтринг намного упрощает мне жизнь с точки зрения вывода текста на экран. Задал координаты, длину, ширину, размер шрифта, выравнивание и собственно сам текст - и все нарисовалось)
PS Вот кстати, фонты мои не запускал? Фонты очень мне нравятся! Мне их один дезигнер рисовал, они четко для светодиодов!
Да, с пятницы работает 64*32, пока все ок. Единственно один раз при запуске хаотично светились диоды и ничего больше не происходило. Но это видимо шлейф был, переткнул разъемы и запустилось.
Это фонят длинные шлейфы, 16-ти проводные, если они более метра и хреновое заземление, плюс преобразователь 3.3 в 5 вольт от СТМ-ки обязателен. И будет Вам счастье. Мы это прошли год назад.
Разработка библиотеки не заброшена, просто слегка заторможена :)
Читал сегодня забавный топик про 128-битное число и понял, чего не хватает в библиотеке!
Не хватает метода вывода картинки из байтового массива! То есть я в курсе, что в библиотеке все делается через дравпиксель и можно сделать самому... Но было бы круто иметь готовый метод drawimage, где на входе координаты и байтовый массив.
на СТМ экран 8Х6 таких модулей без проблем заводится на 9 МГц
А чтобы уменьшить длину проводов, можно попробовать паралельное подключение - это когда каждая горизонтальная линейка матриц вешается на свои пины. При таком подключении может и сотню модулей потянуть
У меня на 9МГц из-за длинных проводов (горизонтальным зигзагом подключено) уже на втором ряду артефакты полезли.
Я знаю, что можно сделать вертикальный зигзаг, тогда длина уменьшится и может "взлетит", но сроки жали и переворачивать собранный экран 6х4 было нереально. Перевел на 4,5МГц и все заработало как надо.
Еще есть предположение, что надо duty sck ставить на 50%.
Сейчас переключился на совсем другой проект, тоже на esp32, но без матриц. Посему эксперименты пока отложил. Хотя мысль о задействовании VSPI параллельно c HSPI мне кажется довольно перспективной.
Дмитрий, а я где то пропустил этот момент про параллельный вывод?
видимо позабыли просто, я вам про это рассказывал в нашей переписке в прошлом году.
Делим панно на несколько цепочек матриц (например по горизонтали), все управляющие пины (OE CLK LAT) параллелим, а пины DATA каждой цепочки заводим на свой пин. И потом выводим разом на все ряды матриц.
SPI при таком раскладе применять нельзя. но за счет одновременного вывода даже без SPI получается быстро. На квадратных матрицах этот метод дает прирост скорости.
На тестовых макетах я это уже опробовал - работает.
Но я так понимаю, что там модифицированная библиотека нужна? Если да, можете прислать? Если нет, то пример инициализации пинов?
да, нужна другая библиотека. Вы посмотрите там же в переписке - я вам ее не высылал?
Мне еще раз прислать не жалко, но есть проблема. я реально что-то запутался в своих архивах. Сейчас, после очень долгого перерыва - снова взялся эа эту тему - и что-то уже третий день не могу запустить работу старого кода. За полгода все забыл напрочь, сижу вспоминаю.
Не, ничего не присылали. Мы этот вопрос обсудили, обменялись мыслями и вы сказали что попробуете. Потом писали, что все получилось и над этим надо поработать. А потом тему забыли, там как раз посылки эти байтовые ковырять начали...
Но по тому, что я вычитал в переписке, я уже вижу как будет выглядеть новый контроллер. У него будет 1 HUB12, параллельно ему еще один IDC-16 и дополнительно будет шилд на 6 портов, который сверху одевается на контроллер... Ну что то типа такого!
Без шилда контроллер работает как обычный на один канал. С шилдом - на 6 каналов.
Я найду код и вышлю. но это наверно уже между праздниками.
У меня сейчас маленький заказик нарисовался на эту тему - человек попросил оживить ему матрицу RGB 80х40 20сканов - такой вроде ни в одной готовой библиотеке нету. Я полез вспоминать, как прошлым летом подключал Ваши матрицы 64х32 - и ни один код не работает...
Человек попросил оживить ему матрицу RGB 80х40 20сканов
P4 для помещения, 320*160, скан 1/20.... Если оживите - я тоже такую хочу (модулей этих у меня полно).
b707 пишет:
быстро вы рисуете :)
Да это не рисовал, просто разъемов накидал на плату без дорог...
Но в принципе за час разведу - там ничего нету кроме разъемов и дорог. Главное сначала еще контроллер приготовить под этот шилд - а я как раз месяц назад очередную партию выпустил, так что контроллеры есть пока, не горит...
DMD_GFX_Font fontBig((uint8_t*)&FranklinGothicMediumCond32pt7b, 38);
Практически на две матрицы в высоту.
На стандартном STM все работает отлично.
DMD_GFX_Font fontBig((uint8_t*)&FranklinGothicMediumCond32pt7b, 38);
Практически на две матрицы в высоту.
На стандартном STM все работает отлично.
Судя по картинке, с таймерами и прерываниями проблем нет, пиксели тоже выводятся правильно.
Скорее всего какой-то из мультиплексоров (А и В) - не включается или не выключается. Попробуйте выбрать другие пины для
Поменять пины пока не пробовал.
Через конвертер 3,3 - 5В ничего не изменилось.
Подниму тему

Размер 5х4 панелей
шикарно. Код из этой библиотеки?
шикарно. Код из этой библиотеки?
Вот я сейчас делаю связку из 3-х табло на своих (наших) стм-контроллерах, вот тогда скину фотки)
Да. На ESP крутится веб сервер для управления и кидает на STM по UART всю инфу.
Шикарная библиотека!
Маленькое видео https://youtu.be/gnga9-Wpqzs
Ну раз уж мы тут хвалимся поделками на стм под библиотеку Дмитрия, то просто оставлю это здесь...
Спасибо, мужики!
А сколько контроллеров для управления всем этим?
А сколько контроллеров для управления всем этим?
Один. Чип STM32F103C8T6. Там же не полностью все поле светодиодное. Черный композит с модульными вставками. Красные, белые и зеленые модули стоят в нужных местах. Еще релюшка на сирену (когда время матча доходит до нуля - сирена ревет + можно вручную ее запустить). Все это управляется с ноута, ПО тоже я писал. Пока писал - заказали еще 3 разных табло (футбол, воллейбол и баскетбол), поэтому на ходу поменял концепцию и сделал конструктор для табло любых размеров и под разные игры. То есть сейчас могу взять табло любого размера, прописать в файле настроек координаты всех полей, размеры шрифтов, коды управляющих клавиш, тип игры, наличие/отсутствие сирен, количество табло (до 5 штук, у каждого свой ID) и не меняя ни верхнее ПО, ни прошивку контроллера сразу сделать спортивное табло под нужную игру.
а файл настроек выглядит так (я там с заделом на будущее сразу под полноцвет настройки прописал):
01
[connection]
02
Tablo=2
03
ipScreen1=-1062731298
04
ipScreen2=-1062731299
05
ipAddon=-1062731300
06
Sirena=1
07
[system]
08
Owner=Спартак
09
Quest=Динамо
10
Time=14
11
AddTime=7
12
SoundTime=10
13
[basket]
14
Ngame=4
15
Text1=СЧЕТ ВРЕМЯ СЧЕТ
16
Tex12=ФОЛЫ ТАЙМ ФОЛЫ
17
18
Text1Size=12
19
Text1Red=255
20
Text1Green=0
21
Text1Blue=0
22
Text1X=0
23
Text1Y=20
24
Text1CX=160
25
Text1CY=12
26
Text1Align=1
27
28
Text2Size=12
29
Text2Red=255
30
Text2Green=0
31
Text2Blue=0
32
Text2X=0
33
Text2Y=60
34
Text2CX=160
35
Text2CY=12
36
Text2Align=1
37
38
TimeSize=24
39
TimeRed=255
40
TimeGreen=0
41
TimeBlue=0
42
TimeX=48
43
TimeY=32
44
TimeCX=64
45
TimeCY=24
46
TimeAlign=1
47
48
OwnerSize=16
49
OwnerRed=255
50
OwnerGreen=0
51
OwnerBlue=0
52
OwnerX=0
53
OwnerY=0
54
OwnerCX=80
55
OwnerCY=16
56
OwnerAlign=0 и так далее по всем полям
Большая работа проделана!
Напишите мне 7600204@gmail.com Есть что обсудить.
а общий размер этого панно - 160х160 пикселей (5х10) модулей? Не слабо...
Если есть еще интересные фото - выкладывайте :) - я их потом на гитхаб библиотеки выложу :)
а общий размер этого панно - 160х160 пикселей (5х10) модулей? Не слабо...
На заре моего знакомства со светодиодными экранами (лет 10-12 назад) попадались модули с шагом 3,75, полностью совместимые по скану со стандартным Р10. Я их не видел вживую уже лет 7, а вот сейчас бы с удовольствием купил и сделал бы макетку не 160*160, а 256*256... Когда пишешь ПО под экран - очень полезно вот так посмотреть на результат, а в цех на пробы не набегаешься.
Этих вот монохромных р6 тоже нигде уже не найти, не выпускает уже давно. Этой макетке лет 6-8 вроде.
В продолжение темы о спортивных табло на СТМ. Наконец то сдал :)
36 модулей, 1 контроллер STM, управление по кабелю (RS485)/ В комплекте 2 табло атаки (32*32 см), сирена, беспроводной пульт.
И еще 2 табло сегодня сдал. На этом завязываю со спортом в этом году)
Вот такая проблема появилась на больших экранах https://youtu.be/YoR4thisjNg
Сначала думал про брак в панелях, но такое случилось уже на 3 табло у которых модули от разных производителей.
Что имеем:
- появляется не сразу, при тестах все отлично работает
- появляется на табло где больше одного ряда модулей. 64*16 работает уже несколько месяцев. Выявлено на 64*32 и на двух 160*64.
Есть какие-нибудь мысли? Что-то с утечкой памяти?
Вот такая проблема появилась
Что имеем:
- появляется не сразу, при тестах все отлично работает
"не сразу" - это насколько долго?
более одного ряда модулей или просто большой размер? - к сожалению эти примеры ничего не говорят
Вот если бы 128х16 работало, а 64х32 нет... можно было бы говорить что виноваты ряды
пока нет... Насколько я понимаю, это надо собрать табло и оставить его работать часами, а то и днями
Примерно через неделю появились такие эффекты на 3 табло.
Про многорядность пока только предположение. Факт только что 64*16 (2*1) работает нормально с июня месяца.
Понятно что надо тестировать, чем и займусь на 128*16 и 64*16, но может Вас наведет на какую-то мысль где копать в библиотеке.
(да, большие табло работали больше суток на тестировании, а потом....)
Примерно через неделю появились такие эффекты на 3 табло.
неделю... ой еееее :)
Но, на самом деле, если знаешь. что это происходит - искать уже легче. Я посмотрю, может что и найду.
А вот вопрос: на всех трех табло одна и та же программа была или разные?
Потому что неплохо бы еще и программу глянуть...
Потому что неплохо бы еще и программу глянуть...
согласен.
Antsanv. у Вас же есть моя почта? Напишите мне, пожалуйста
Как вариант, программы может и разные, а ядро одно.
К примеру я во все свои поделки пихаю вот такой кусок (не обижусь, если покритикуете, а может и поправите):
01
void
showled(
int
x,
int
y,
int
dx,
int
dy,
int
font,
int
align, String message) {
02
if
(font == 8) dmd.selectFont(&Font8_F);
03
if
(font == 12) dmd.selectFont(&Font12_F);
04
if
(font == 16) dmd.selectFont(&Font16_F);
05
if
(font == 24) dmd.selectFont(&Font24_F);
06
if
(font == 32) dmd.selectFont(&Font32_F);
07
int
Len = dmd.stringWidth(message.c_str(), message.length());
08
if
(align == 0) dmd.drawString( x, y, message.c_str(), message.length(), GRAPHICS_NORMAL );
09
if
(align == 1) {
10
x = (x + dx / 2) - (Len / 2);
11
if
(0 > x) x = 0;
12
dmd.drawString( x, y, message.c_str(), message.length(), GRAPHICS_NORMAL );
13
}
14
if
(align == 2) {
15
x = x + dx - Len;
16
if
(0 > x) x = 0;
17
dmd.drawString(x, y, message.c_str(), message.length(), GRAPHICS_NORMAL );
18
}
19
}
К примеру я во все свои поделки пихаю вот такой кусок (не обижусь, если покритикуете, а может и поправите):
Выравнивание текста попра- полеву и по центру :) беглым взглядом вроде косяков не вижу...
Ну с точки зрения правоверного Сишника, убить бы за Стринг... Но я привык к стрингам, мне с ними удобно)
Ну и вообще эта оболочка под ДравСтринг намного упрощает мне жизнь с точки зрения вывода текста на экран. Задал координаты, длину, ширину, размер шрифта, выравнивание и собственно сам текст - и все нарисовалось)
PS Вот кстати, фонты мои не запускал? Фонты очень мне нравятся! Мне их один дезигнер рисовал, они четко для светодиодов!
PS Вот кстати, фонты мои не запускал? Фонты очень мне нравятся! Мне их один дезигнер рисовал, они четко для светодиодов!
нет пока
Уведомления зачем-то в спам ушли, проглядел :(
Софт во всех табло для STM одинаковый. Я сегодня на гитхаб выложу код и пришлю ссылку на емайл.
Да, с пятницы работает 64*32, пока все ок. Единственно один раз при запуске хаотично светились диоды и ничего больше не происходило. Но это видимо шлейф был, переткнул разъемы и запустилось.
Вроде открыл Вам доступ к https://github.com/Lightwell-bg/uartParsing
и https://github.com/Lightwell-bg/STM32_ScreenGPS_v3
Проект из платформио, но должно и в ардуино иде запуститься.
Шрифты на почту кинул, может пригодятся.
Если каких-то библиотек не будет хватать, пишите.
Вот такая проблема появилась на больших экранах https://youtu.be/YoR4thisjNg
Это фонят длинные шлейфы, 16-ти проводные, если они более метра и хреновое заземление, плюс преобразователь 3.3 в 5 вольт от СТМ-ки обязателен. И будет Вам счастье. Мы это прошли год назад.
Тестирую уже дней десять. Кажется проблема в шлейфах и преобразователе. Метра там нет, но... Вы, кстати, какой используете? В смысле на каком чипе?
Оказалось дело в самой таблетке. Две других на том же клоне STM работают без пропуска строк.
Оказалось дело в самой таблетке. Две других на том же клоне STM работают без пропуска строк.
Отличная новость.
ЗЫ Разработка библиотеки не заброшена, просто слегка заторможена :)
Читал сегодня забавный топик про 128-битное число и понял, чего не хватает в библиотеке!
Не хватает метода вывода картинки из байтового массива! То есть я в курсе, что в библиотеке все делается через дравпиксель и можно сделать самому... Но было бы круто иметь готовый метод drawimage, где на входе координаты и байтовый массив.
Доброго здравия автору библиотеки и всем присутствующим!
В общем, удалось запустить библиотеку на ESP32.
Код пока крайне сырой, но уже показывает.
Пока используется только HSPI по прерываниям ставится в очередь и дальше средствами FreeRTOS по каналу DMA 2 шлется на матрицы.
Теоретически можно сделать экранчик 8х6 матриц, но на 18МГц, что физически конечно из-за длинных линий дает сбой.
Но в целом я доволен.
Теоретически можно сделать экранчик 8х6 матриц, но на 18МГц, что физически конечно из-за длинных линий дает сбой.
что за матрицы - RGB или монохром, размер?
Монохром P10, 32x16
Монохром P10, 32x16
на СТМ экран 8Х6 таких модулей без проблем заводится на 9 МГц
А чтобы уменьшить длину проводов, можно попробовать паралельное подключение - это когда каждая горизонтальная линейка матриц вешается на свои пины. При таком подключении может и сотню модулей потянуть
У меня на 9МГц из-за длинных проводов (горизонтальным зигзагом подключено) уже на втором ряду артефакты полезли.
Я знаю, что можно сделать вертикальный зигзаг, тогда длина уменьшится и может "взлетит", но сроки жали и переворачивать собранный экран 6х4 было нереально. Перевел на 4,5МГц и все заработало как надо.
Еще есть предположение, что надо duty sck ставить на 50%.
Сейчас переключился на совсем другой проект, тоже на esp32, но без матриц. Посему эксперименты пока отложил. Хотя мысль о задействовании VSPI параллельно c HSPI мне кажется довольно перспективной.
мысль о задействовании VSPI параллельно c HSPI мне кажется довольно перспективной.
при параллельном выводе на стм я вовсе отказался от SPI, делаю просто выводом в порт
Дмитрий, а я где то пропустил этот момент про параллельный вывод?
Дмитрий, а я где то пропустил этот момент про параллельный вывод?
видимо позабыли просто, я вам про это рассказывал в нашей переписке в прошлом году.
Делим панно на несколько цепочек матриц (например по горизонтали), все управляющие пины (OE CLK LAT) параллелим, а пины DATA каждой цепочки заводим на свой пин. И потом выводим разом на все ряды матриц.
SPI при таком раскладе применять нельзя. но за счет одновременного вывода даже без SPI получается быстро. На квадратных матрицах этот метод дает прирост скорости.
На тестовых макетах я это уже опробовал - работает.
Дмитрий, а я где то пропустил этот момент про параллельный вывод?
видимо позабыли просто, я вам про это рассказывал в нашей переписке в прошлом году.
Ага, нашел в переписке. Надо будет попробовать.
Но я так понимаю, что там модифицированная библиотека нужна? Если да, можете прислать? Если нет, то пример инициализации пинов?
Но я так понимаю, что там модифицированная библиотека нужна? Если да, можете прислать? Если нет, то пример инициализации пинов?
да, нужна другая библиотека. Вы посмотрите там же в переписке - я вам ее не высылал?
Мне еще раз прислать не жалко, но есть проблема. я реально что-то запутался в своих архивах. Сейчас, после очень долгого перерыва - снова взялся эа эту тему - и что-то уже третий день не могу запустить работу старого кода. За полгода все забыл напрочь, сижу вспоминаю.
как разберусь - напишу.
Не, ничего не присылали. Мы этот вопрос обсудили, обменялись мыслями и вы сказали что попробуете. Потом писали, что все получилось и над этим надо поработать. А потом тему забыли, там как раз посылки эти байтовые ковырять начали...
Но по тому, что я вычитал в переписке, я уже вижу как будет выглядеть новый контроллер. У него будет 1 HUB12, параллельно ему еще один IDC-16 и дополнительно будет шилд на 6 портов, который сверху одевается на контроллер... Ну что то типа такого!
Без шилда контроллер работает как обычный на один канал. С шилдом - на 6 каналов.
быстро вы рисуете :)
Я найду код и вышлю. но это наверно уже между праздниками.
У меня сейчас маленький заказик нарисовался на эту тему - человек попросил оживить ему матрицу RGB 80х40 20сканов - такой вроде ни в одной готовой библиотеке нету. Я полез вспоминать, как прошлым летом подключал Ваши матрицы 64х32 - и ни один код не работает...
Человек попросил оживить ему матрицу RGB 80х40 20сканов
P4 для помещения, 320*160, скан 1/20.... Если оживите - я тоже такую хочу (модулей этих у меня полно).
Да это не рисовал, просто разъемов накидал на плату без дорог...
Но в принципе за час разведу - там ничего нету кроме разъемов и дорог. Главное сначала еще контроллер приготовить под этот шилд - а я как раз месяц назад очередную партию выпустил, так что контроллеры есть пока, не горит...
P4 для помещения, 320*160, скан 1/20.... Если оживите - я тоже такую хочу (модулей этих у меня полно).
да, именно такая