
Написал кириллицу в 1 высоту для МАХ7219. Были вопросы в личку по шрифтам, сделал видео, как редактировать шрифты.
Надеюсь кому нибудь поможет.
скачать .
Новое
В июне 2017 изменилась библиототека
Теперь русский шрифт 7х5 теперь есть в самой библиотеке.МАХ72ХХ.
Заходим по пути C:\Users\ХХХХ\Documents\Arduino\libraries\MD_MAX72XX-master\Font Builder
находим там файл Cyrillic_by_ton4eff_var_single.h
открываем его и копируем символы с 192 по 255.
Далее, открываем файл по пути C:\Users\ХХХХ\Documents\Arduino\libraries\MD_MAX72XX-master\src
MD_MAX72xx_font.cpp
и заменяем символы кириллицы с 192 по 255 (вставить).



Комментарии 21
дома у меня закладки на компе есть, по которым клеил скетч свой.
скину вечером
нужно создать динамический массив
Я взял serial из примера Parola_Scrolling и добавил в Parola_Test, все прекрасно работает, кириллица вводится с монитор порта, сделал отдельную настройку входящей анимации и выходящей анимации, эффекты стали разнообразней. Но вот не хватает входа. Где лучше про динамические массивы прочитать, в гугле пока ничего ясного не нашел, лучше бы рабочий пример скетч?
вам разве не подходит чтение из сериал?
if (Serial.available() !=0) /// если данные пришли по
{ Str_str = Serial.readString();}
за какой пример (скетч) идет речь?
не совсем вас понял.
если вставляем русский шрифт(или армянский или, или, ),
то его начинает понимать вся библиотека. Все примеры.
Пример Parola_Test, там текст берется с массива char *pc[] =
{
"Parola for",
"Arduino",
"LED Matrix",
"Display"
};
Я хотел взять текст string со входа с другого устройства, нужно считать с пина, записать в массив, потом оттуда печатать P.displayText(pc[curString], PA_CENTER, P.getSpeed(), PAUSE_TIME, PA_PRINT, PA_PRINT);. В кодах я слаб, изучение ничего не дало пока. Еще в примере Parola_Scrolling печатается знак перевода строки после текста введенный с serial, как его убрать. Спасибо!
Со знаком разобрался, в мониторе порта нужно поставить Новая строка.
char *msg_ххх;//например
и через сериал читаем, что пришло
if (Serial.available() !=0) /// если данные пришли по
{ Str_str = Serial.readString();}
далее
String str = Str_ХХХХ // создаем объект
msg_ххx = str.c_str(); // переводим в массив указателей
Как переделать вход с сериала аналогично во вход с Пина? С пина текст записывать в переменную, эту переменную вставить в массив (символов?) и его читать?
нужно создать альтельнативнй сериал и объявить его
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
вот тут парень делал так
бегло только это могу
www.dfrobot.com/wiki/inde…FR0299#Connection_Diagram
По софтсериалу не нужно, нужно напрямую на вход . С устройства на выход идет стринг, Ардуино принимает и печатает. Устройства связываются напрямую, выход устройства на вх пин ардуино.
ардуино может только через сериал.RX TX
а RX TX может быть альтернативным.
Два сериала может только ардуино мега
aidar2014
По софтсериалу не нужно, нужно напрямую на вход . С устройства на выход идет стринг, Ардуино принимает и печатает. Устройства связываются напрямую, выход устройства на вх пин ардуино.
Ну если только придумать свой протокол приема.
Ведь принимется строка по частям по битам.
Кирилица например 2бита.
И приходится одну бкву за 2 раза передавать.
А макрокоманды сериал уже все склеивают в слово.
aidar2014
По софтсериалу не нужно, нужно напрямую на вход . С устройства на выход идет стринг, Ардуино принимает и печатает. Устройства связываются напрямую, выход устройства на вх пин ардуино.
И еще принимает на один пин RX. Другой Тх нам не нужен.и можно его не подключать
aidar2014
Как переделать вход с сериала аналогично во вход с Пина? С пина текст записывать в переменную, эту переменную вставить в массив (символов?) и его читать?
Чтение-запись SoftwareSerial mySerial
искать в поисковике примеры
aidar2014
Пример Parola_Test, там текст берется с массива char *pc[] =
{
"Parola for",
"Arduino",
"LED Matrix",
"Display"
};
Я хотел взять текст string со входа с другого устройства, нужно считать с пина, записать в массив, потом оттуда печатать P.displayText(pc[curString], PA_CENTER, P.getSpeed(), PAUSE_TIME, PA_PRINT, PA_PRINT);. В кодах я слаб, изучение ничего не дало пока. Еще в примере Parola_Scrolling печатается знак перевода строки после текста введенный с serial, как его убрать. Спасибо!
Со знаком разобрался, в мониторе порта нужно поставить Новая строка.
может с ошибками написал,
в скетче с телефоном расписано как принимать из вне
aidar2014
Пример Parola_Test, там текст берется с массива char *pc[] =
{
"Parola for",
"Arduino",
"LED Matrix",
"Display"
};
Я хотел взять текст string со входа с другого устройства, нужно считать с пина, записать в массив, потом оттуда печатать P.displayText(pc[curString], PA_CENTER, P.getSpeed(), PAUSE_TIME, PA_PRINT, PA_PRINT);. В кодах я слаб, изучение ничего не дало пока. Еще в примере Parola_Scrolling печатается знак перевода строки после текста введенный с serial, как его убрать. Спасибо!
Со знаком разобрался, в мониторе порта нужно поставить Новая строка.
"в примере Parola_Scrolling "
тут сразу не скажу.
очевидно надо урезать лишние строки в скетче.
aidar2014
Пример Parola_Test, там текст берется с массива char *pc[] =
{
"Parola for",
"Arduino",
"LED Matrix",
"Display"
};
Я хотел взять текст string со входа с другого устройства, нужно считать с пина, записать в массив, потом оттуда печатать P.displayText(pc[curString], PA_CENTER, P.getSpeed(), PAUSE_TIME, PA_PRINT, PA_PRINT);. В кодах я слаб, изучение ничего не дало пока. Еще в примере Parola_Scrolling печатается знак перевода строки после текста введенный с serial, как его убрать. Спасибо!
Со знаком разобрался, в мониторе порта нужно поставить Новая строка.
"Пример Parola_Test, там текст берется с массива char *pc[] ="
этот пример не читает из вне.
его нужно перелапатить
добавив динамический массив из другого примера.
Спасибо, установил кириллицу из новой библиотеки. У меня есть вопрос. На входе есть текст string, как его вставить в программу для вывода в матрицу? Сейчас у вас тексты в массиве и берутся оттуда. Не сможете пример дать? Или записать его в этот массив.
в основном используется массив указателей.
хранятся буквы одной высоты в файле
C:\Users\ХХХХ\Documents\Arduino\libraries\MD_MAX72XX-master\src
MD_MAX72xx_font.cpp
просто потрясающи!
спс