Пользовательский блок для LED матриц типа Р10

Создаем свой блок. Вопросы, помощь знатоков.
aidar_i
Полковник
Сообщения: 3169
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Контактная информация:

Пользовательский блок для LED матриц типа Р10

Сообщение aidar_i »

Начал разбираться с этими матрицами и решил сделать блок.
В пользовательском блоке располагаю библиотеки в определенном порядке, после компиляции проекта они в IDE меняют положения и  при проверке из за этого появляется ошибка. После перестановки на место библиотеки, все работает.

Должен быть (как в блоке):
#include <DMD2.h>
#include <SPI.h>
#include <fonts/Arial14.h>
В IDE:
#include <fonts/Arial14.h>
#include <DMD2.h>
#include <SPI.h>
Главное, чтобы шрифт стоял после DMD2.

Библиотека  DMD2.h находится в папке: Документы/ Arduino/librares. Пробовал библиотеку смещать в IDE в FLProgе не помогло.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось aidar_i 14 мар 2018, 16:37, всего редактировалось 3 раза.
aidar_i
Полковник
Сообщения: 3169
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Контактная информация:

Пользовательский блок на LED матрицах типа Р10

Сообщение aidar_i »

Naladchik писал(а):Попробуйте в библиотеке папку fonts переименовать как zfonts
Это получается при компиляции FLProg располагает библиотеки по алфавиту?

Вопрос автору, можно подправить программу?

Добавлено (15.10.2017, 22:55)
---------------------------------------------
Пора заняться этими матрицами. У кого она есть, чтобы можно было проверять?
Последний раз редактировалось aidar_i 28 сен 2017, 13:32, всего редактировалось 1 раз.
tomas111
Рядовой
Сообщения: 15
Зарегистрирован: 21 ноя 2017, 11:43

Пользовательский блок на LED матрицах типа Р10

Сообщение tomas111 »

Привет, что нить получилось?
aidar_i
Полковник
Сообщения: 3169
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Контактная информация:

Пользовательский блок на LED матрицах типа Р10

Сообщение aidar_i »

У меня нет этой матрицы, чтобы проверить.
tomas111
Рядовой
Сообщения: 15
Зарегистрирован: 21 ноя 2017, 11:43

Пользовательский блок на LED матрицах типа Р10

Сообщение tomas111 »

aidar_i писал(а): 27 фев 2018, 15:08У меня нет этой матрицы, чтобы проверить.
У меня есть! Могу проверить! И не одна ))
aidar_i
Полковник
Сообщения: 3169
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Контактная информация:

Пользовательский блок на LED матрицах типа Р10

Сообщение aidar_i »

[quote=tomas111 post_id=42638 time=1519751180 user_id=9357]У меня есть! Могу проверить! И не одна ))


Давайте подключайте!
tomas111
Рядовой
Сообщения: 15
Зарегистрирован: 21 ноя 2017, 11:43

Пользовательский блок на LED матрицах типа Р10

Сообщение tomas111 »

aidar_i, у меня кое что уже работает. Не понятно как быть с русским шрифтом, графикой и статическим текстом!
aidar_i
Полковник
Сообщения: 3169
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Контактная информация:

Пользовательский блок на LED матрицах типа Р10

Сообщение aidar_i »

tomas111 писал(а): 28 фев 2018, 12:42Не понятно как быть с русским шрифтом, графикой и статическим текстом!
Нужно попросить помочь наших гуру. Напишите, что Вы хотите от блока, может смогут помочь! Русский шрифт , я думаю можно решить аналогично как в блоках бегущих строк. В библиотеке в папке examples есть примеры, прокрутите все и узнаете , что может библиотека, и что Вы хотите.
tomas111
Рядовой
Сообщения: 15
Зарегистрирован: 21 ноя 2017, 11:43

Пользовательский блок на LED матрицах типа Р10

Сообщение tomas111 »

aidar_i писал(а): 28 фев 2018, 14:36
tomas111 писал(а): 28 фев 2018, 12:42Не понятно как быть с русским шрифтом, графикой и статическим текстом!
Нужно попросить помочь наших гуру. Напишите, что Вы хотите от блока, может смогут помочь! Русский шрифт , я думаю можно решить аналогично как в блоках бегущих строк. В библиотеке в папке examples есть примеры, прокрутите все и узнаете , что может библиотека, и что Вы хотите.
Уже посмотрел! русский шрифт нашел правда маленький. Хотелось бы размер больше. Но походу придется самим как то "рисовать".
Вот что хочу для начала:
- вывод текста (бегущая строка). Уже умею.
- статический текст. В процессе
- работа с графикой. Не почему с чего начать.
- работа со шрифтами а именно добавление и редактирование своего. Японский что бы понимал ))
Вот как бы все )) можем списаться в ватцапе или скайпе.
aidar_i
Полковник
Сообщения: 3169
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Контактная информация:

Пользовательский блок на LED матрицах типа Р10

Сообщение aidar_i »

Удалил
Последний раз редактировалось aidar_i 13 мар 2018, 12:12, всего редактировалось 3 раза.
Аватара пользователя
Fuji1604
Сержант
Сообщения: 282
Зарегистрирован: 19 янв 2016, 06:09
Откуда: Березники
Имя: Сергей

Пользовательский блок на LED матрицах типа Р10

Сообщение Fuji1604 »

Есть скрипт которы создает шрифт в бинарном виде из картинки, возможно пригодится.

Отправлено спустя 5 минут 20 секунд:
Взято из этой темыhttp://forum.flprog.ru/viewtopic.php?f= ... &hilit=Vga
У вас нет необходимых прав для просмотра вложений в этом сообщении.
когда мастерю обычно подсматриваю,
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню
tomas111
Рядовой
Сообщения: 15
Зарегистрирован: 21 ноя 2017, 11:43

Пользовательский блок на LED матрицах типа Р10

Сообщение tomas111 »

что то я уже совсем запутался. Я щас пищу в Arduino IDE. но вывод букв как написано не просиходит но очень гдето рядом... Как будто где то сдвиг (( Так же файлик со шрифтом прилагаю. Может кто мне объяснит как мне использовать шрифт? ))

Код: Выделить всё

void DrawMHD_2(){
  // Running Text
 dmd.clearScreen( true );   // Очистить экран //
 dmd.selectFont(katakana);   // Выбор шрифта //
 dmd.drawMarquee("モスクワ.",8,(32*DISPLAYS_ACROSS)-1,0);    // Вывод сообщений
 long start=millis(); 
 long timer=start;
 boolean ret=false;
 while(!ret){
     if ((timer+40) < millis()) {
       ret=dmd.stepMarquee(-1,0);
       timer=millis();
     }
   } 
}
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3169
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Контактная информация:

Пользовательский блок на LED матрицах типа Р10

Сообщение aidar_i »

Удалил
Последний раз редактировалось aidar_i 13 мар 2018, 12:12, всего редактировалось 1 раз.
tomas111
Рядовой
Сообщения: 15
Зарегистрирован: 21 ноя 2017, 11:43

Пользовательский блок на LED матрицах типа Р10

Сообщение tomas111 »

aidar_i писал(а): 03 мар 2018, 01:04Сделал симулятор Р10 на Протеус, русский шрифт не работает.
Прошу посмотреть скетч для блока, подсказать где ошибка, шрифт с кириллицей выше в библиотеке, SystemFont5x7.h(убрал rus)
SPOILERSPOILER_SHOW
#include <SPI.h>
#include <DMD2.h>
#include <fonts/SystemFont5x7.h>


#define DISPLAYS_WIDE 3
#define DISPLAYS_HIGH 1

SoftDMD dmd(DISPLAYS_WIDE,DISPLAYS_HIGH);
DMD_TextBox box(dmd, 0, 0, 32, 16);
String tape = "";
String utf8rus(String source)
{
int i,k;
String target;
unsigned char n;
char m[2] = { '0', '\0' };

k = source.length(); i = 0;
while (i < k) {
n = source; i++;
if (n >= 0xC0) {
switch (n) {
case 0xD0: {
n = source; i++;
if (n == 0x81) { n = 0xA8; break; }
if (n >= 0x90 && n <= 0xBF) n = n + 0x2F;
break;
}
case 0xD1: {
n = source; i++;
if (n == 0x91) { n = 0xB7; break; }
if (n >= 0x80 && n <= 0x8F) n = n + 0x6F;
break;
}
}
}
m[0] = n; target = target + String(m);
}
return target;
}

void setup() {
dmd.setBrightness(255);
dmd.selectFont(SystemFont5x7);
dmd.begin();

}




void loop() {
tape = utf8rus("АБВГДЕЖЗИЙКЛМНОПабвгдежзийклмноп");
dmd.drawString(0, 0, tape);
dmd.marqueeScrollX(-1);

}


У меря работает и русский и японский. Хочу вообще три языка но не пойму как создать такой большой шрифт?
Пользуюсь вот так:
dmd.drawMarquee (" \x85A8""\x85A9",3,(32*DISPLAYS_ACROSS)-1,1);
На выходе у меня:
薨薩
Думаю может реально сделать один большой шрифт? Но не пойма как сделать что бы Arduino IDE компилировала проект.

Отправлено спустя 1 час 11 минут 21 секунду:
aidar_i писал(а): 03 мар 2018, 01:04Сделал симулятор Р10 на Протеус, русский шрифт не работает.
Прошу посмотреть скетч для блока, подсказать где ошибка, шрифт с кириллицей выше в библиотеке, SystemFont5x7.h(убрал rus)
SPOILERSPOILER_SHOW
#include <SPI.h>
#include <DMD2.h>
#include <fonts/SystemFont5x7.h>


#define DISPLAYS_WIDE 3
#define DISPLAYS_HIGH 1

SoftDMD dmd(DISPLAYS_WIDE,DISPLAYS_HIGH);
DMD_TextBox box(dmd, 0, 0, 32, 16);
String tape = "";
String utf8rus(String source)
{
int i,k;
String target;
unsigned char n;
char m[2] = { '0', '\0' };

k = source.length(); i = 0;
while (i < k) {
n = source; i++;
if (n >= 0xC0) {
switch (n) {
case 0xD0: {
n = source; i++;
if (n == 0x81) { n = 0xA8; break; }
if (n >= 0x90 && n <= 0xBF) n = n + 0x2F;
break;
}
case 0xD1: {
n = source; i++;
if (n == 0x91) { n = 0xB7; break; }
if (n >= 0x80 && n <= 0x8F) n = n + 0x6F;
break;
}
}
}
m[0] = n; target = target + String(m);
}
return target;
}

void setup() {
dmd.setBrightness(255);
dmd.selectFont(SystemFont5x7);
dmd.begin();

}




void loop() {
tape = utf8rus("АБВГДЕЖЗИЙКЛМНОПабвгдежзийклмноп");
dmd.drawString(0, 0, tape);
dmd.marqueeScrollX(-1);

}


Снял даже видео.
Но вопрос остался открытым по графике и сдвигу графики ))

Отправлено спустя 2 часа 27 минут 41 секунду:
aidar_i писал(а): 03 мар 2018, 01:04Сделал симулятор Р10 на Протеус, русский шрифт не работает.
Прошу посмотреть скетч для блока, подсказать где ошибка, шрифт с кириллицей выше в библиотеке, SystemFont5x7.h(убрал rus)
SPOILERSPOILER_SHOW
#include <SPI.h>
#include <DMD2.h>
#include <fonts/SystemFont5x7.h>


#define DISPLAYS_WIDE 3
#define DISPLAYS_HIGH 1

SoftDMD dmd(DISPLAYS_WIDE,DISPLAYS_HIGH);
DMD_TextBox box(dmd, 0, 0, 32, 16);
String tape = "";
String utf8rus(String source)
{
int i,k;
String target;
unsigned char n;
char m[2] = { '0', '\0' };

k = source.length(); i = 0;
while (i < k) {
n = source; i++;
if (n >= 0xC0) {
switch (n) {
case 0xD0: {
n = source; i++;
if (n == 0x81) { n = 0xA8; break; }
if (n >= 0x90 && n <= 0xBF) n = n + 0x2F;
break;
}
case 0xD1: {
n = source; i++;
if (n == 0x91) { n = 0xB7; break; }
if (n >= 0x80 && n <= 0x8F) n = n + 0x6F;
break;
}
}
}
m[0] = n; target = target + String(m);
}
return target;
}

void setup() {
dmd.setBrightness(255);
dmd.selectFont(SystemFont5x7);
dmd.begin();

}




void loop() {
tape = utf8rus("АБВГДЕЖЗИЙКЛМНОПабвгдежзийклмноп");
dmd.drawString(0, 0, tape);
dmd.marqueeScrollX(-1);

}


личные сообщения отключены, позже я добавлю тюда шрифты. Но явно не хватает знаний в С (( Понял как рисовать шрифты и применять их. Но программы в которой это было бы удобно пока не нашёл ((

Отправлено спустя 18 минут 20 секунд:
Помогло http://robocraft.ru/blog/892.html
aidar_i
Полковник
Сообщения: 3169
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Контактная информация:

Пользовательский блок на LED матрицах типа Р10

Сообщение aidar_i »

tomas111 писал(а): 05 мар 2018, 17:48Помогло
Изучил статью, добавил кириллицу, но не работает. Пока возился, научился выводить в компорт русский текст, но в Р10 не получился.
tomas111
Рядовой
Сообщения: 15
Зарегистрирован: 21 ноя 2017, 11:43

Пользовательский блок на LED матрицах типа Р10

Сообщение tomas111 »

aidar_i писал(а): 06 мар 2018, 23:23
tomas111 писал(а): 05 мар 2018, 17:48Помогло
Изучил статью, добавил кириллицу, но не работает. Пока возился, научился выводить в компорт русский текст, но в Р10 не получился.
Как щас я сделал. Поскольку мне надо три языка а именно: казахский, китайский и англ. Но слова уже сделаны заранее я взыл шрифт где есть по умолчанию Англ. и добавил туда килирицу и иероглицы. и вывожу их на панель! Вот так! Как именно ты хочешь выводить кириллицу ?
У меня щас стоит задача это буквы заранее измевтные выводить! Но щас у меня следущая задача это modbus. С этим уже сложнее. RS-485 уже работает. надо протокол каким то образом сделать. Может есть идеи или опыт? После смогу полную полную статью написать как я сделал )) Хотя вроде со шрифтом я разобрался. Может не совсем корректно выводить но как увидел так и сделал ))
aidar_i
Полковник
Сообщения: 3169
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Контактная информация:

Пользовательский блок на LED матрицах типа Р10

Сообщение aidar_i »

tomas111 писал(а): 07 мар 2018, 11:21Как
С помощью utf8rus. А нужно адреса правильно написать, пока не разобрался.
Аватара пользователя
magpit
Лейтенант
Сообщения: 382
Зарегистрирован: 01 окт 2017, 12:55
Имя: Сергей

Пользовательский блок на LED матрицах типа Р10

Сообщение magpit »

Мне помогла читать коды вот эта прога.
В ней можно переделать весь алфавит
Может вам поможет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3169
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Контактная информация:

Пользовательский блок на LED матрицах типа Р10

Сообщение aidar_i »

magpit писал(а): 08 мар 2018, 10:24Мне помогла читать коды вот эта прога.
Не открывается.
Скачал с сайта.
Аватара пользователя
magpit
Лейтенант
Сообщения: 382
Зарегистрирован: 01 окт 2017, 12:55
Имя: Сергей

Пользовательский блок на LED матрицах типа Р10

Сообщение magpit »

А ты её разорхивировал?
Ответить

Вернуться в «Разработка пользовательских блоков»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость