Max7219 Бегущая строка. Helpните начинающему !

MegaSGA
Offline
Зарегистрирован: 15.03.2014

Доброго Времени суток!

Неделю назад приобрел Arduino Mega 2560 и Max7219 Led Matrix 8х8, нашел в сети готовую программу подключил матрицу к ардуино загрузил скетч все работает но не могу разобраться в скетче.

Мне нужно создать бегущюю строку с надписью Arduino mega 2560 Max7219.

Если кому не трудно помогите и с подробным пояснением кода программы пожалуйсто !

 

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

вам нужно загнать всю строку в память в двумерный массив, по которому уже двигать "окно" - то что будет на матрице в данный момент времени.

Допустим сторока 25 символов значит размер думерного массива будет [25*5][8](бит)=25*5 байт (при шрифте 5*8) в который будет записана вся картинка целиком.

Потом вы делаете процедуру записи всего этого в матрицу 8*8 или 16*8(окно) - с смещением меняющимся от 0 до 25*5 - 1 - тоесть картинка отрисовывается не сначала а пропуская несколько пикселей. Если подходим к концукартинки то берем данные с начала, можно добавить зазор, или ничего не добавлять чтобы получить эфект "что строка убежала".

Второй вариант заведомо сложнее - но экономнее по памяти - когда расчитывается всего лишь длина строки в пикселях а все данные берутся прямо из шрифта который в PROGMEM

Шрифт тоже можно по рпзному организовать:

1) можно сделать все буквы одинаковыми 5х8

2) можно сделать разные буквы разной ширины - текст будет смотреться лучше, но реализация сложнее.

думаю лучше начать с простого варианта, а потом попробовать сложные.