Обсуждаем контроллеры компании Atmel.
Ответить

Re: Arduino и MAX7219 - бегущая строка, рус. (для новичков)

Чт мар 02, 2017 22:41:52

Последняя версия в посте от 9 октября, а текст я редактирую прямо в Arduino IDE (можно копировать и вставлять из блокнота, но не из ворда - там своё форматирование) и сразу заливаю - проблем нет. Декодируется из UTF-8, а из других кодировок конечно надо по-другому декодировать.

Re: Arduino и MAX7219 - бегущая строка, рус. (для новичков)

Чт июл 06, 2017 23:01:14

Пользователь ардуиновского форума "danigom", на которого есть ссылка в скетче, уже куда-то подевался и ссылка устарела.
(http://forum.arduino.cc/index.php?actio ... e;u=188950)
Заодно хотел ответить тем, кто спрашивает про покупку такого светодиодного модуля. Ссылка на модуль в первом посте приведена в качестве примера и ни в коей мере не является рекламой именно этого продавца. Наоборот, у других продавцов можно купить существенно дешевле.

Re: Arduino и MAX7219 - бегущая строка, рус. (для новичков)

Ср сен 20, 2017 07:55:00

привет, внесу свои 5 копеек насчет бекслеша и кавычек, чтобы их выводить в строках достаточно их экранировать, тоесть будет строка вида "Велосипед \"Костыль\"", возможно в скетче нужно будет добавить пропуск бекслеша и ввести счетчик подряд идущих, чтобы откидывать первый но выводить все остальные тогда можно будет смело написать "\"234\"" и компилятор поймет что от него хотят)

P.S. Спасибо за проделанную работу, похоже буду использовать ваши наработки.

Re: Arduino и MAX7219 - бегущая строка, рус. (для новичков)

Чт мар 09, 2023 23:45:12

Появился второй блок из 4-х матричных модулей 8х8. Припаял к первому - получилось 8 модулей.

Пока поправил первый скетч - добавил комментарии для пущей ясности и количество модулей -
int Modules = 8; // количество матричных модулей 8х8 точек

Если там вписать 1 вместо 8, то скетч будут работать только с одним модулем (матрицей). И если убрать (закомментировать) задержки delay(500); и delay(800); то будет наглядно видно, как происходит передача информации от одного модуля к другому.

Re: Arduino и MAX7219 - бегущая строка, рус. (для новичков)

Пт мар 10, 2023 14:18:08

Ну и куда бежим мы с Пятачком со строкой ...

Длинный буфер действительно надо ещё удлинять, но тут я был неправ:

Полосатый писал(а):Максимальная длина переменной в здешнем языке - тоже 32 бита, double precision тут не работает.

Это в Фортране double precision, а в СИ такое, оказывается, тоже есть, только "дважды длинное" - long long.
unsigned long long bufferLong [16] = {0};

Только почему-то удлинилось не на 8 матриц, а на 7,5. Пока просто сдвинул на четверть матрицы (два столбца) вправо для симметрии, а глубоко копать сейчас недосуг. Если кто что раскопает, напишите.


Процесс замедлился, поэтому уменьшил задержку до минимума и ещё добавил наклон/выпуклость букв, чтобы их явно не перекашивало в какую-то сторону.

int count[8] { 0, 7, 1, 6, 2, 5, 3, 4 }; // последовательность вывода строк

- можно перечислять номера строк от 0 до 7 в любой последовательности и смотреть, что изменится.
Мне так больше нравится.

Re: Arduino и MAX7219 - бегущая строка, рус. (для новичков)

Вс июл 09, 2023 06:52:50

С ардуинозаменителем LGT8F328P бежит в два раза быстрее.
И можно выпуклость убрать:
int count[8] { 7, 6, 5, 4, 3, 2, 1, 0 }; // последовательность вывода строк

Только пины поменял для удобства:

Изображение Изображение Изображение Изображение Изображение Изображение

Кто не понимает, как в результате нажимать на кнопку, пока подучите сопромат :) ... а я пока скетч сочиню ... потом ... может быть ... :sleep: (лениво)
Последний раз редактировалось Полосатый Пн июл 10, 2023 00:13:02, всего редактировалось 1 раз.

Re: Arduino и MAX7219 - бегущая строка, рус. (для новичков)

Вс июл 09, 2023 19:57:27

Поясните пожалуйста, что такое "выпуклость"? Я недавно тоже занимался изготовлением бегущей строки на подобных матрицах (3 блока по 4 матрицы каждый). Строки загружаются в порядке сверху вниз. Загрузка текста и управление яркостью и скоростью через специальное Bluetooth приложения для Андроида. Текст и установки сохраняются в энерго-независимой памяти. Пока там использован 6х8 шрифт с одинаковой шириной всех букв, но, глядя на ваши старания, наверное, переделаю на пропорциональный. Писал всё ПО сам, как-то не пришло в голову поискать готовое.
Изображение

Re: Arduino и MAX7219 - бегущая строка, рус. (для новичков)

Пн июл 10, 2023 00:10:09

Выпуклость была такая:

int count[8] { 7, 0, 6, 1, 5, 2, 4, 3 }; // последовательность вывода строк - наклон / выпуклость букв

- сначала крайние элементы строк, последние - средние. Скорость вывода у ардуины (работа с матричной библиотекой) ограничена, поэтому средние элементы визуально отставали от крайних. Обычный наклон был большим и некрасивым.
А LGT8F328P работает намного быстрее и обычная последовательность выглядит нормально.

Re: Arduino и MAX7219 - бегущая строка, рус. (для новичков)

Пн июл 10, 2023 03:15:37

Ну надо-же, никогда-бы не додумался. Я делал вывод на ARM контроллере через аппаратный SPI драйвер и DMA и с подобными эффектами не столкнулся.

Re: Arduino и MAX7219 - бегущая строка, рус. (для новичков)

Пн июл 10, 2023 13:01:24

Я тоже не додумался, просто увидел, как буквы наклонены :)
Теперь хочу записать на флешку набор фраз (строк) - либо в один файл через разделитель, либо каждую в свой файл со своим номером. Чтобы выбирать следующую строку нажатием на кнопку. При этом будет увеличиваться значение счётчика, которое будет записываться в отдельный файл. При включении будет считываться это значение и строка с таким номером. Когда строки закончатся, счётчик обнулится. Как-то так. Но не сейчас :) Сейчас даже пока не разбирался, почему работают 7,5 матрицы из 8.
Ответить