Страница 1 из 3

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

Добавлено: 27 сен 2017, 11:44
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е не помогло.

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

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

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

Добавлено (15.10.2017, 22:55)
---------------------------------------------
Пора заняться этими матрицами. У кого она есть, чтобы можно было проверять?

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

Добавлено: 26 фев 2018, 17:44
tomas111
Привет, что нить получилось?

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

Добавлено: 27 фев 2018, 15:08
aidar_i
У меня нет этой матрицы, чтобы проверить.

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

Добавлено: 27 фев 2018, 20:06
tomas111
aidar_i писал(а): 27 фев 2018, 15:08У меня нет этой матрицы, чтобы проверить.
У меня есть! Могу проверить! И не одна ))

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

Добавлено: 28 фев 2018, 01:53
aidar_i
[quote=tomas111 post_id=42638 time=1519751180 user_id=9357]У меня есть! Могу проверить! И не одна ))


Давайте подключайте!

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

Добавлено: 28 фев 2018, 12:42
tomas111
[ref]aidar_i[/ref], у меня кое что уже работает. Не понятно как быть с русским шрифтом, графикой и статическим текстом!

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

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

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

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

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

Добавлено: 28 фев 2018, 21:02
aidar_i
Удалил

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

Добавлено: 28 фев 2018, 21:28
Fuji1604
Есть скрипт которы создает шрифт в бинарном виде из картинки, возможно пригодится.

Отправлено спустя 5 минут 20 секунд:
Взято из этой темыhttp://forum.flprog.ru/viewtopic.php?f= ... &hilit=Vga

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

Добавлено: 01 мар 2018, 11:30
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();
     }
   } 
}

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

Добавлено: 03 мар 2018, 01:04
aidar_i
Удалил

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

Добавлено: 05 мар 2018, 17:48
tomas111
aidar_i писал(а): 03 мар 2018, 01:04Сделал симулятор Р10 на Протеус, русский шрифт не работает.
Прошу посмотреть скетч для блока, подсказать где ошибка, шрифт с кириллицей выше в библиотеке, SystemFont5x7.h(убрал rus)
[spoiler]
#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);

}[/spoiler]


У меря работает и русский и японский. Хочу вообще три языка но не пойму как создать такой большой шрифт?
Пользуюсь вот так:
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)
[spoiler]
#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);

}[/spoiler]


Снял даже видео. https://www.youtube.com/watch?v=geL_7lMVEdE
Но вопрос остался открытым по графике и сдвигу графики ))

Отправлено спустя 2 часа 27 минут 41 секунду:
aidar_i писал(а): 03 мар 2018, 01:04Сделал симулятор Р10 на Протеус, русский шрифт не работает.
Прошу посмотреть скетч для блока, подсказать где ошибка, шрифт с кириллицей выше в библиотеке, SystemFont5x7.h(убрал rus)
[spoiler]
#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);

}[/spoiler]


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

Отправлено спустя 18 минут 20 секунд:
Помогло http://robocraft.ru/blog/892.html

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

Добавлено: 06 мар 2018, 23:23
aidar_i
tomas111 писал(а): 05 мар 2018, 17:48Помогло
Изучил статью, добавил кириллицу, но не работает. Пока возился, научился выводить в компорт русский текст, но в Р10 не получился.

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

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

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

Добавлено: 08 мар 2018, 09:22
aidar_i
tomas111 писал(а): 07 мар 2018, 11:21Как
С помощью utf8rus. А нужно адреса правильно написать, пока не разобрался.

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

Добавлено: 08 мар 2018, 10:24
magpit
Мне помогла читать коды вот эта прога.
В ней можно переделать весь алфавит
Может вам поможет.

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

Добавлено: 08 мар 2018, 15:37
aidar_i
magpit писал(а): 08 мар 2018, 10:24Мне помогла читать коды вот эта прога.
Не открывается.
Скачал с сайта.

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

Добавлено: 08 мар 2018, 19:45
magpit
А ты её разорхивировал?