Страница 5 из 8

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

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

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

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

Можно ли как-то обойти это ограничение? Загонять в переменную текст с SD-карты сбрасывая перед этим содержимое буфера.

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

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


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

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

Добавлено: 16.11.2017{, 20:29}
Слимпер
rw6cm, Вообще Все переменные String тоже занимают часть свободной (по данным компилятора) динамической памяти.
Это вообще проблема FLProg, в проектах где много строк, особенно длинных  и русских (2 байта на символ).
Вот накидал блок которых должен немого облегчить ситуацию  в проектах  где надо хранить много длинных строка текста.
Он (блок) переносить хранение статических (не изменяемых после компиляции) в память программы (Flash).
Если будете пробовать отпишитесь о результате.

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

Добавлено: 17.11.2017{, 02:36}
rw6cm
Слимпер, Такой вариант рассматривался мной изначально в коде самого блока.
Этот метод описан в коде одного из примеров библиотеки "Parola". Но был отброшен в сторону.
Во первых рус. текст получался на много короче (в пример с вашим блоком - 26 символов (ю), против 113 при обычной переменной)
Во вторых очень тяжело ориентироваться где ошибся, (достаточно ввести 27 символ, и скетч повешен, при том что на памяти это не как не отображается)
Ваш блок хорошо себя покажет на латинице, в проектах где надо много текстовых строк, и нет тяжелых библиотек по работе с ними.
Но все равно спасибо! Возможно Ваш код где то и пригодится.

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

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

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

Добавлено: 02.12.2017{, 18:50}
rw6cm
WOYAGER писал(а):но при подключении второго модуля 8х8х4 происходит полная его засветка
Питание отдельное на матрицы? В настройке блока кол. матриц меняете?

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

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

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

Добавлено: 02.12.2017{, 19:58}
rw6cm
WOYAGER писал(а):Питание от ардуино
8 матриц = 512 св диодов, при яркости выше средней ток в районе 2А - это не подъемно для ардуино.

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

Добавлено: 02.12.2017{, 20:21}
WOYAGER
Проблема с блоком решена, проблема была в матрице 8х8х4, на входе первой матрицы второго блока.

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

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

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

Добавлено: 29.12.2017{, 15:20}
VVKisel
KVV. для uw6cm.
 Не могли бы Вы прикрепить файл ScrollRealTime7219 в расширении flp. Очень необходимо. Заранее благодарен.

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

Добавлено: 31.12.2017{, 02:21}
rw6cm
VVKisel писал(а):
29.12.2017{, 15:20}
Не могли бы Вы прикрепить файл ScrollRealTime7219 в расширении flp.
Подробней, о каком файле речь?

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

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

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

Добавлено: 19.01.2018{, 03:01}
rw6cm
Пиксельные команды матрице 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 скачиваний
АКТУАЛЬНЫЕ БЛОКИ с БИБЛИОТЕКАМИ ЗДЕСЬ!
К списку темы.

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

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


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

Добавлено: 15.12.2018{, 16:01}
rw6cm
Djonny38,
Все меняется )
В новых версиях не допускаются обратные связи, там одна присутствовала.
К тому же там блок, на старой библиотеке, уже не актуален.
Изменять все выпущенные раннее проекты нет времени. (только если кому то очень нужно)
В теме 58 проект изменил, но проверить сейчас нет возможности.

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

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

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

Добавлено: 07.01.2019{, 16:43}
rw6cm
kl023kd,
У меня нет сейчас такой возможности. Поэкспериментируйте и расскажите нам :yes:

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

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

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

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