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

Варианты использования модулей в проектах.

Использование дисплеев и обсуждение пользовательских блоков к ним
Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

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

#1

Сообщение rw6cm » 22.01.2017{, 09:28}

Модули из четырех матриц 8х8
9434532.jpg
9434532.jpg (14.52 КБ) 10198 просмотров
Вариант подключения модуля в программе FLProg к часам ds1307Показать
Выглядит это так:
8600046.png
1564081.jpg
m7219.flp
(227.92 КБ) 209 скачиваний
Ссылки на посты аналогичных тем.Показать
АКТУАЛЬНЫЕ БЛОКИ с БИБЛИОТЕКАМИ ЗДЕСЬ!
Последний раз редактировалось rw6cm 20.01.2018{, 08:53}, всего редактировалось 3 раза.

RushHour
Рядовой
Сообщения: 6
Зарегистрирован: 21.06.2017{, 17:25}
Репутация: 0

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

#81

Сообщение RushHour » 15.11.2017{, 15:26}

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

Можно ли как-то обойти это ограничение? Загонять в переменную текст с SD-карты сбрасывая перед этим содержимое буфера.
Последний раз редактировалось RushHour 15.11.2017{, 16:26}, всего редактировалось 1 раз.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

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

#82

Сообщение rw6cm » 15.11.2017{, 19:09}

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


В общем как тот так.Показать
5483189.png
clock2.flp
(314.26 КБ) 133 скачивания
Win10-64, FLProg (portable)

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#83

Сообщение Слимпер » 16.11.2017{, 20:29}

rw6cm, Вообще Все переменные String тоже занимают часть свободной (по данным компилятора) динамической памяти.
Это вообще проблема FLProg, в проектах где много строк, особенно длинных  и русских (2 байта на символ).
Вот накидал блок которых должен немого облегчить ситуацию  в проектах  где надо хранить много длинных строка текста.
Он (блок) переносить хранение статических (не изменяемых после компиляции) в память программы (Flash).
Если будете пробовать отпишитесь о результате.
Вложения
__flash_10-CODE.ubi
(30.87 КБ) 142 скачивания

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

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

#84

Сообщение rw6cm » 17.11.2017{, 02:36}

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

WOYAGER
Рядовой
Сообщения: 4
Зарегистрирован: 02.12.2017{, 18:26}
Репутация: 0

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

#85

Сообщение WOYAGER » 02.12.2017{, 18:41}

Всем доброго вечера! Столкнулся с такой проблемой. Модуль матрицы 8х8х4 работает в режиме бегущей строки без проблем, но при подключении второго модуля 8х8х4 происходит полная его засветка, т.е. второго присоединенного модуля.Нужна помощь в решении данной проблемы

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

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

#86

Сообщение rw6cm » 02.12.2017{, 18:50}

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

WOYAGER
Рядовой
Сообщения: 4
Зарегистрирован: 02.12.2017{, 18:26}
Репутация: 0

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

#87

Сообщение WOYAGER » 02.12.2017{, 19:06}

Питание от ардуино, питание самой ардуино с блока питания, количество матриц соответствено изменено
Последний раз редактировалось WOYAGER 02.12.2017{, 19:07}, всего редактировалось 1 раз.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

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

#88

Сообщение rw6cm » 02.12.2017{, 19:58}

WOYAGER писал(а):Питание от ардуино
8 матриц = 512 св диодов, при яркости выше средней ток в районе 2А - это не подъемно для ардуино.
Win10-64, FLProg (portable)

WOYAGER
Рядовой
Сообщения: 4
Зарегистрирован: 02.12.2017{, 18:26}
Репутация: 0

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

#89

Сообщение WOYAGER » 02.12.2017{, 20:21}

Проблема с блоком решена, проблема была в матрице 8х8х4, на входе первой матрицы второго блока.
Последний раз редактировалось WOYAGER 03.12.2017{, 23:12}, всего редактировалось 1 раз.

WOYAGER
Рядовой
Сообщения: 4
Зарегистрирован: 02.12.2017{, 18:26}
Репутация: 0

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

#90

Сообщение WOYAGER » 10.12.2017{, 15:37}

Добрый день. Хотел бы пообщаться по поводу анимации на базе MAX72xx
Последний раз редактировалось WOYAGER 10.12.2017{, 17:31}, всего редактировалось 1 раз.

VVKisel
Рядовой
Сообщения: 28
Зарегистрирован: 20.02.2017{, 04:37}
Репутация: 2
Откуда: Хабаровск
Имя: VALERY

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

#91

Сообщение VVKisel » 29.12.2017{, 15:20}

KVV. для uw6cm.
 Не могли бы Вы прикрепить файл ScrollRealTime7219 в расширении flp. Очень необходимо. Заранее благодарен.
VVK

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

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

#92

Сообщение rw6cm » 31.12.2017{, 02:21}

VVKisel писал(а):
29.12.2017{, 15:20}
Не могли бы Вы прикрепить файл ScrollRealTime7219 в расширении flp.
Подробней, о каком файле речь?
Win10-64, FLProg (portable)

razwal
Рядовой
Сообщения: 3
Зарегистрирован: 12.03.2017{, 15:14}
Репутация: 0
Откуда: Санкт-Петербург

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

#93

Сообщение razwal » 07.01.2018{, 19:08}

rw6cm писал(а):
13.11.2017{, 20:57}
Вы используете старый блок.
Возьмите с этой ссылки
там 2 блока, вам нужен для одной строки, в описаниях блока все написано.
А Вы можете еще раз выложить блоки , а то по ссылке не качается ?

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

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

#94

Сообщение rw6cm » 19.01.2018{, 03:01}

Пиксельные команды матрице 8х8
Бывают варианты, когда для индикации большого количества процессов, не хватает выходов контролера.
В таком случае можно использовать встроенный блок мах7219, а светодиоды подключить аналогично матриц 8х8.
Проект с примеромПоказать

Рассмотрим пример на одной матрице.
[video][/video]

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

Djonny38
Рядовой
Сообщения: 1
Зарегистрирован: 13.12.2018{, 19:55}
Репутация: 0
Имя: Евгений

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

#95

Сообщение Djonny38 » 15.12.2018{, 15:18}

Здравствуйте! Подскажите с темы 58 про строку в чем причина почему не компилируется?
rw6cm писал(а):
21.08.2017{, 09:36}
Русифицированная изменяемая "бегущая строка"
Использует библиотеки Adafruit_GFX и Max72xxPanel.


Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

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

#96

Сообщение rw6cm » 15.12.2018{, 16:01}

Djonny38,
Все меняется )
В новых версиях не допускаются обратные связи, там одна присутствовала.
К тому же там блок, на старой библиотеке, уже не актуален.
Изменять все выпущенные раннее проекты нет времени. (только если кому то очень нужно)
В теме 58 проект изменил, но проверить сейчас нет возможности.
Win10-64, FLProg (portable)

kl023kd
Рядовой
Сообщения: 31
Зарегистрирован: 29.04.2016{, 10:04}
Репутация: 0
Откуда: Krasnodar
Имя: Николай
Контактная информация:

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

#97

Сообщение kl023kd » 07.01.2019{, 12:51}

Бегущая строка это отлично , но памяти маловато :smile37: . Что если использовать дополнительный контроллер Nano(Uno) или ESP для хранения переменных строки и потом передавать её на другую Nano(по уарт) которая в дальнейшем будет выводить показания на MAX7219. Может использовать больше контроллеров соединенных в кольцо.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2283
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

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

#98

Сообщение rw6cm » 07.01.2019{, 16:43}

kl023kd,
У меня нет сейчас такой возможности. Поэкспериментируйте и расскажите нам :yes:
Win10-64, FLProg (portable)

Sanek
Рядовой
Сообщения: 10
Зарегистрирован: 18.04.2019{, 21:16}
Репутация: 0
Имя: Александр

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

#99

Сообщение Sanek » 25.09.2019{, 14:17}

Нашёл на забугорном сайте часы. Вопрос к разбирающимся людям, возможно ли такое повторить в нашей программе.
СпойлерПоказать
analog_clock.gif
справа единицы минут
большой круг минуты кратные пяти
малый круг часы
знак часов секунды.

Sanek
Рядовой
Сообщения: 10
Зарегистрирован: 18.04.2019{, 21:16}
Репутация: 0
Имя: Александр

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

#100

Сообщение Sanek » 27.09.2019{, 12:32}

В продолжение к предыдущему посту.
Как подключить два выхода ( час ) и ( мин ) к одному модулю MAX7219 , что бы каждый выход брал свои значения из массива ( час 0с...23с ) и ( мин 0....59 ).
отдельно мин. работают. а вот как прикрутить час с его 0с....23с не догоняю, даже отдельно не получается.
СпойлерПоказать
аналоговые часы.jpg
Аналоговые часы.flp
(142.67 КБ) 93 скачивания
Мож кто подскажет, чего дельного

Ответить

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