Матрица 8х8 русский текст.Прошу помочь!

olegoriy
Offline
Зарегистрирован: 08.02.2015

Здравствуйте. Проблема такова: делаю бегущую строку на основе кода http://playground.arduino.cc/Main/DirectDriveLEDMatrix сделал русские буквы и все вроде бы получилось. Но возникла тупиковая ситуация в количестве символов выводимых в строке. Как я понял за это количество отвечает переменная "numPatterns" из строки const int numPatterns = 6; // Задаем количество символов. byte patterns[numPatterns][8][8] = { // Сам текст. P,R,I,V,E,T }; Так вот. При значении numPatterns = 30 программа отказывается работать и светодиоды не работают совсем. При том если numPatterns = 29 то все в порядке. пример: const int numPatterns = 29; byte patterns[numPatterns][8][8] = { P,r1,i1,v1,e1,t1,zz,JJ,Q,b1,e1,z1,p1,o1,l1,e1,z1,n1,a1,jj,Q,K,o1,r1,o1,b1,k1,a1,zzz }; все работает. Помогите плиз кто знает в чем проблема! И как ее устранить или обойти?

olegoriy
Offline
Зарегистрирован: 08.02.2015

Здравствуйте. Проблема такова: делаю бегущую строку на основе кодаhttp://playground.arduino.cc/Main/DirectDriveLEDMatrix сделал русские буквы и все вроде бы получилось.

Но возникла тупиковая ситуация в количестве символов выводимых в строке. Как я понял за это количество отвечает переменная "numPatterns" из строки

const int numPatterns = 6;                                 // Задаем количество символов.

byte patterns[numPatterns][8][8] = {               // Сам текст. 

P,R,I,V,E,T

};

Так вот. При значении numPatterns = 30 программа отказывается работатьт т.е. скетч загружается без проблем  но светодиоды не работают совсем.

При том если numPatterns = 29 то все в порядке.

пример:

const int numPatterns = 29;

byte patterns[numPatterns][8][8] = { P,r1,i1,v1,e1,t1,zz,JJ,Q,b1,e1,z1,p1,o1,l1,e1,z1,n1,a1,jj,Q,K,o1,r1,o1,b1,k1,a1,zzz

};

все работает. Помогите плиз кто знает в чем проблема! И как ее устранить или обойти?

Penni
Penni аватар
Offline
Зарегистрирован: 18.01.2015

Пальцем в небо ткну. Может FrequencyTimer2::setPeriod(); установлен в слишком мелкое значение и сдвиг не успевает отработать, а уже прерывание и пытается вывести.

olegoriy
Offline
Зарегистрирован: 08.02.2015

Спасибо за ответ) Попробовал разные значения "setPeriod" от 100 до 50000 к сожалению без результатно:(

max_friend
Offline
Зарегистрирован: 30.01.2015

Сам недавно был озадачен тем же вопросом. К счастью помогли товарищи по форуму. Ссылка: http://arduino.ru/forum/programmirovanie/begushchaya-stroka-na-svetodiodnykh-matritsakh