Матричный модуль 8х8х4 MAX7219 в FLProg

Использование дисплеев и обсуждение пользовательских блоков к ним
RushHour
Рядовой
Сообщения: 6
Зарегистрирован: 21 июн 2017, 17:25

Матричный модуль 4х8х8 на MAX7219 в FLProg

Сообщение RushHour »

rw6cm писал(а):речь о количестве букв в бегущей строке, зависит от:1) размера буфера в настройке блока (максимум 255)
2) количество матриц
3) какие символы используются
(ориентировочно для 8 матриц лат. букв (i)  ~180шт.   рус. букв (ю) ~100шт.)
У меня получилось при 4-х матрицах 8х8 максимум 113 русских букв отобразить в бегущей строке.

Можно ли как-то обойти это ограничение? Загонять в переменную текст с SD-карты сбрасывая перед этим содержимое буфера.
Последний раз редактировалось RushHour 15 ноя 2017, 16:26, всего редактировалось 1 раз.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Матричный модуль 8х8х4 MAX7219 в FLProg

Сообщение rw6cm »

RushHour писал(а):Можно ли как-то обойти это ограничение? Загонять в переменную текст с SD-карты сбрасывая перед этим содержимое буфера.
Не так все просто, как хотелось бы )
В данном случае нет разницы откуда вы будете брать переменную,
буфер больше 255 не станет. А сбросить буфер, в вашем случае, означает 113 раз записать пробел.
Выгодней перезаписывать каждый байт новым значением, тем самым экономя циклы.
Я не смогу объяснить вам весь процесс, но могу сказать на что ориентироваться.
1) Чем больше символов в переменной - тем больше должно быть свободной динамической памяти.
Вывод - выгодней набирать короткими словосочетаниями, больше войдет инфы.
2) Чем больше матриц - тем больше должно быть свободной динамической памяти.
Пример, текст с четырьмя матрицами может занимать 60% дин. памяти и будет работать.
Он же с 8 матрицами потребует 50% свободной памяти. С 16 матрицами 60% свободной и т д.
3)Чем больше делаем в настройке блока буфер - тем меньше остается динамической памяти.
Не выгодно использовать большой буфер с короткими словосочетаниями.

[spoiler=В общем как тот так.]
5483189.png
clock2.flp
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

Матричный модуль 8х8х4 MAX7219 в FLProg

Сообщение Слимпер »

rw6cm, Вообще Все переменные String тоже занимают часть свободной (по данным компилятора) динамической памяти.
Это вообще проблема FLProg, в проектах где много строк, особенно длинных  и русских (2 байта на символ).
Вот накидал блок которых должен немого облегчить ситуацию  в проектах  где надо хранить много длинных строка текста.
Он (блок) переносить хранение статических (не изменяемых после компиляции) в память программы (Flash).
Если будете пробовать отпишитесь о результате.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Матричный модуль 4х8х8 на MAX7219 в FLProg

Сообщение rw6cm »

Слимпер, Такой вариант рассматривался мной изначально в коде самого блока.
Этот метод описан в коде одного из примеров библиотеки "Parola". Но был отброшен в сторону.
Во первых рус. текст получался на много короче (в пример с вашим блоком - 26 символов (ю), против 113 при обычной переменной)
Во вторых очень тяжело ориентироваться где ошибся, (достаточно ввести 27 символ, и скетч повешен, при том что на памяти это не как не отображается)
Ваш блок хорошо себя покажет на латинице, в проектах где надо много текстовых строк, и нет тяжелых библиотек по работе с ними.
Но все равно спасибо! Возможно Ваш код где то и пригодится.
Win10-64, FLProg (portable)
WOYAGER
Рядовой
Сообщения: 4
Зарегистрирован: 02 дек 2017, 18:26

Матричный модуль 4х8х8 на MAX7219 в FLProg

Сообщение WOYAGER »

Всем доброго вечера! Столкнулся с такой проблемой. Модуль матрицы 8х8х4 работает в режиме бегущей строки без проблем, но при подключении второго модуля 8х8х4 происходит полная его засветка, т.е. второго присоединенного модуля.Нужна помощь в решении данной проблемы
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Матричный модуль 4х8х8 на MAX7219 в FLProg

Сообщение rw6cm »

WOYAGER писал(а):но при подключении второго модуля 8х8х4 происходит полная его засветка
Питание отдельное на матрицы? В настройке блока кол. матриц меняете?
Win10-64, FLProg (portable)
WOYAGER
Рядовой
Сообщения: 4
Зарегистрирован: 02 дек 2017, 18:26

Матричный модуль 4х8х8 на MAX7219 в FLProg

Сообщение WOYAGER »

Питание от ардуино, питание самой ардуино с блока питания, количество матриц соответствено изменено
Последний раз редактировалось WOYAGER 02 дек 2017, 19:07, всего редактировалось 1 раз.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Матричный модуль 4х8х8 на MAX7219 в FLProg

Сообщение rw6cm »

WOYAGER писал(а):Питание от ардуино
8 матриц = 512 св диодов, при яркости выше средней ток в районе 2А - это не подъемно для ардуино.
Win10-64, FLProg (portable)
WOYAGER
Рядовой
Сообщения: 4
Зарегистрирован: 02 дек 2017, 18:26

Матричный модуль 4х8х8 на MAX7219 в FLProg

Сообщение WOYAGER »

Проблема с блоком решена, проблема была в матрице 8х8х4, на входе первой матрицы второго блока.
Последний раз редактировалось WOYAGER 03 дек 2017, 23:12, всего редактировалось 1 раз.
WOYAGER
Рядовой
Сообщения: 4
Зарегистрирован: 02 дек 2017, 18:26

Матричный модуль 4х8х8 на MAX7219 в FLProg

Сообщение WOYAGER »

Добрый день. Хотел бы пообщаться по поводу анимации на базе MAX72xx
Последний раз редактировалось WOYAGER 10 дек 2017, 17:31, всего редактировалось 1 раз.
VVKisel
Рядовой
Сообщения: 28
Зарегистрирован: 20 фев 2017, 04:37
Откуда: Хабаровск
Имя: VALERY

Матричный модуль 4х8х8 на MAX7219 в FLProg

Сообщение VVKisel »

KVV. для uw6cm.
 Не могли бы Вы прикрепить файл ScrollRealTime7219 в расширении flp. Очень необходимо. Заранее благодарен.
VVK
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Матричный модуль 4х8х8 на MAX7219 в FLProg

Сообщение rw6cm »

VVKisel писал(а): 29 дек 2017, 15:20Не могли бы Вы прикрепить файл ScrollRealTime7219 в расширении flp.
Подробней, о каком файле речь?
Win10-64, FLProg (portable)
razwal
Рядовой
Сообщения: 3
Зарегистрирован: 12 мар 2017, 15:14
Откуда: Санкт-Петербург

Матричный модуль 4х8х8 на MAX7219 в FLProg

Сообщение razwal »

rw6cm писал(а): 13 ноя 2017, 20:57Вы используете старый блок.
Возьмите с этой ссылки
там 2 блока, вам нужен для одной строки, в описаниях блока все написано.
А Вы можете еще раз выложить блоки , а то по ссылке не качается ?
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Матричный модуль 8х8х4 MAX7219 в FLProg

Сообщение rw6cm »

Пиксельные команды матрице 8х8
Бывают варианты, когда для индикации большого количества процессов, не хватает выходов контролера.
В таком случае можно использовать встроенный блок мах7219, а светодиоды подключить аналогично матриц 8х8.
[spoiler title=Проект с примером]
Рассмотрим пример на одной матрице.
[video]https://www.youtube.com/watch?v=DpOQsIQny48[/video]

Здесь мы можем по 3м сигнальным проводам управлять каждым диодом на восьми модулях матриц 8х8.
max7219.jpg
Встроенный блок для этой цели, не очень удобный.
Чтобы изменять состояние каждого диода, нам придется для каждого рисовать состояние всей матрицы,
а это расточительно для памяти. По этому встроенный блок будем использовать частично.
Берем встроенный блок "мах7219", создаем шину, выбираем способ управления "один массивов",
создаем один массив, и на этом все.
Берем 8шт блоков "запись элемента в массив", В каждом выбираем один и тот же созданный в "мах7219" массив,
но присваиваем, разные индексы от 0 до 7. На каждый вход записи подаем блок флпрог "Bits -> Byte",
восемь входов которого привязаны каждый к своему светодиоду. В сумме получается 8 строк по 8 диодов.
8х8 Мах7219 по пикселям.png
8х8 Мах7219 по пикселям .flp
АКТУАЛЬНЫЕ БЛОКИ с БИБЛИОТЕКАМИ ЗДЕСЬ!

[/spoiler]

К списку темы.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось rw6cm 05 фев 2021, 09:51, всего редактировалось 1 раз.
Причина: Обновлен проект
Win10-64, FLProg (portable)
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Матричный модуль 8х8х4 MAX7219 в FLProg

Сообщение rw6cm »

[ref]Djonny38[/ref],
Все меняется )
В новых версиях не допускаются обратные связи, там одна присутствовала.
К тому же там блок, на старой библиотеке, уже не актуален.
Изменять все выпущенные раннее проекты нет времени. (только если кому то очень нужно)
В теме 58 проект изменил, но проверить сейчас нет возможности.
Win10-64, FLProg (portable)
kl023kd
Рядовой
Сообщения: 31
Зарегистрирован: 29 апр 2016, 10:04
Откуда: Krasnodar
Имя: Николай
Контактная информация:

Матричный модуль 8х8х4 MAX7219 в FLProg

Сообщение kl023kd »

Бегущая строка это отлично , но памяти маловато :smile37: . Что если использовать дополнительный контроллер Nano(Uno) или ESP для хранения переменных строки и потом передавать её на другую Nano(по уарт) которая в дальнейшем будет выводить показания на MAX7219. Может использовать больше контроллеров соединенных в кольцо.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Матричный модуль 8х8х4 MAX7219 в FLProg

Сообщение rw6cm »

[ref]kl023kd[/ref],
У меня нет сейчас такой возможности. Поэкспериментируйте и расскажите нам :yes:
Win10-64, FLProg (portable)
Sanek
Рядовой
Сообщения: 10
Зарегистрирован: 18 апр 2019, 21:16
Имя: Александр

Матричный модуль 8х8х4 MAX7219 в FLProg

Сообщение Sanek »

Нашёл на забугорном сайте часы. Вопрос к разбирающимся людям, возможно ли такое повторить в нашей программе.
[spoiler]
analog_clock.gif
[/spoiler]
справа единицы минут
большой круг минуты кратные пяти
малый круг часы
знак часов секунды.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Sanek
Рядовой
Сообщения: 10
Зарегистрирован: 18 апр 2019, 21:16
Имя: Александр

Матричный модуль 8х8х4 MAX7219 в FLProg

Сообщение Sanek »

В продолжение к предыдущему посту.
Как подключить два выхода ( час ) и ( мин ) к одному модулю MAX7219 , что бы каждый выход брал свои значения из массива ( час 0с...23с ) и ( мин 0....59 ).
отдельно мин. работают. а вот как прикрутить час с его 0с....23с не догоняю, даже отдельно не получается.
[spoiler]
аналоговые часы.jpg
[/spoiler]
Аналоговые часы.flp
Мож кто подскажет, чего дельного
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Cancertanly
Сержант
Сообщения: 214
Зарегистрирован: 06 апр 2016, 19:59
Откуда: bish
Имя: Антон
Поблагодарили: 1 раз

Матричный модуль 8х8х4 MAX7219 в FLProg

Сообщение Cancertanly »

попробуй так[spoiler]
аналоговые часы.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
FLProg_ru
https://t.me/flrog_ru ...................................................FLProg_v7.3.4
https://t.me/soft_duino
Ответить

Вернуться в «Дисплеи и индикаторы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя