Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 14:07:23

Благодарю за отклик, мужики. Прочесть прочту. Но, при нулевых знаниях может и не осилю. Что скорее всего. Тем более это первый и последний проект. Так сказать, под занавес. Случайный акт программирования. :) Может кто и напишет, если это немного и недолго? Лучше в личку. Все необходимые данные дам.

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 14:36:01

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

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 14:47:35

Martian. Эх! Если бы я знал. :0. Но, как я понял, u8g2 это последняя редакция библиотеки. Универсальная. Шрифтов много разных и всяких, а вот с кириллицей что-то не очень. Вот и пришлось заняться несвойственным для меня делом. Не хватило места на пол буквы. (3 пиксела) И в то же время из-за этого не хочу уменьшать шрифт. Жаль автор редактора редко появляется. Уж он-то точно знает про u8g2.

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 14:50:06

Добрый день dankr.
К сожалению мало информации о проекте.
Если у Вас уже есть работающий скетч то в заголовке после #include <U8g2lib.h> вставте #include "Calibri10.h" (файл должен находится в том же каталоге что и скетч.
Перед непосредственным использованием шрифта (если используется несколько шрифтов) вставте u8g2.setFont(Calibri10) иначе можно и в setup.
Если у Вас Arduino IDE работает в UTF то понадобится вставить функцию из программы (кнопка вверху справа со знаком вопроса).
Усли проекта нет, проще всего открыть пример, найти свой дисплей и добиться вывода на экран.
К сожалению ни с esp32 ни с дисплеем st7565 не работал, так что что-то корректное написать не смогу.

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 14:58:07

Во!! Только вспомнил об авторе! :)

Добавлено after 7 minutes 3 seconds:
Уже есть от чего оттолкнуться. Как появится время, кинусь пробовать. Работающий скетч есть. А по поводу данных проекта проблем нет. Это обычные часы, как часть более крупного проекта. Всё стандартно и по минимуму. С небольшими нюансами. И большая вам благодарность за посильную помощь! И, главное, вовремя!!

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 15:00:10

Кстати я не уверен что эти шрифты работают с U8G2 я пробовал только с u8GLib.

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 15:14:47

Хотел уточнить. #include "Calibri10.h" вставить строчкой ниже #include <U8g2lib.h> или в одной строке они должны быть? Понимаю, вопрос абсолютного чайника, но хотелось бы однозначности.

Добавлено after 1 minute 2 seconds:
Кстати я не уверен что эти шрифты работают с U8G2 я пробовал только с u8GLib.
Вот я и попробую.

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 15:25:58

Ну в одной строчке не получится- компилятор не даст. Можно и не сразу за #include <U8g2lib.h> главное позже и до использования.
А вообще этот вопрос о языке C, C++.

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 15:36:26

Да, мне ребята выше сказали об этом, что это язык С...Просто навряд ли мне эти знания пригодятся в будущем. Я не программист и стать им скорее всего уже не успею. :0 :0

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 15:57:59

Как утверждают книжки, изучить С можно за 21 день... Врут, конечно, но что-то успеть всё равно можно.

Добавлено after 3 minutes 39 seconds:
если заругается, что файл не найден, указать полный путь к файлу.
типа #include "C:\MyProject\Calibri10.h"
Обычно, так не делается и неправильно, но так проще в рамках одноразового

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 16:03:02

Выдало ошибку уже перед использованием. Я тут могу вам показать файл скорректированных шрифтов? При просмотре одни китайские (или не китайские) закорючки. Вы в статье писали о требованиях к наименованиям. Может у меня что не так с этим? У вас будет возможность глянуть?

Добавлено after 1 minute 13 seconds:
error: 'u8g2' was not declared in this scope; did you mean 'U8G2'?

Кое что я и так нахватался. ))) За лишнюю наводку спасибо. Лишним всё равно не будет.

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 16:19:59

error: 'u8g2' was not declared in this scope; did you mean 'U8G2'?
на какую строчку именно он так заругался? так-то на первый взгляд, компилятор не видит какую-то переменную или функцию u8g2

И приведите код Вашей программы

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 16:22:19

Вам сам компилятор подсказывает - переменная u8g2 не объявлена в прелах области видимости, может имелась ввиду переменная U8G2?

Измените регистр букв на верхний.
Последний раз редактировалось smacorp Вт авг 13, 2024 16:23:11, всего редактировалось 1 раз.

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 16:22:46

"Как утверждают книжки, изучить С можно за 21 день... " На счёт С ничего не скажу, а вот цыплёнок из яйца вылупляется как раз за 21 день. )))

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 16:25:17

smacorp, ардуиновский умеет анализировать такое, то есть видит схожие наименования, или он так, просто предполагает неверный регистр на любую?

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 16:26:21

// Библиотеки
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <U8g2lib.h>
//#include "Calibri10.h"
#include "F:\ESP32_sketch\DS3231_Display_Zap_4_RTC\Calibri10.h"
#include <RTClib.h>

#define LCD_1_SCL 18
#define LCD_1_SI 32
#define LCD_1_CS 19
#define LCD_1_A0 16
#define LCD_1_RES 17
#define LCD_1_BL 4 // Подсветка через резистор 220 Ом

#define LCD_2_SCL 18
#define LCD_2_SI 32
#define LCD_2_CS 33
#define LCD_2_A0 16
#define LCD_2_RES 13
#define LCD_2_BL 4 // Подсветка через резистор 220 Ом

#define LCD_3_SCL 18
#define LCD_3_SI 32
#define LCD_3_CS 27
#define LCD_3_A0 16
#define LCD_3_RES 26
#define LCD_3_BL 4 // Подсветка через резистор 220 Ом

/***************************************************************************
Подбор шрифтов
****************************************************************************/
#define FONT_10x20 u8g2_font_10x20_t_cyrillic
#define FONT_9x15 u8g2_font_9x15_t_cyrillic
#define FONT_6x13 u8g2_font_6x13B_tf // Секунды..... эти
#define FONT_7x13 u8g2_font_7x13_m_symbols // Секунды
#define FONT_8x13 u8g2_font_8x13_t_cyrillic // Секунды
#define FONT_9x15 u8g2_font_haxrcorp4089_t_cyrillic // Месяц и День Недели. не поместилось пол буквы - к
#define FONT_9x15 u8g2_font_logisoso16_tr // Год. оптимально.
#define FONT_9x15 u8g2_font_fur35_tr // Число! fub на пиксель толще, но цифры неаккуратные.
#define FONT_9x15 u8g2_font_fur30_tf // Число
#define FONT_6x12 u8g2_font_logisoso32_tf // Число для числа слишком узкий шрифт
#define FONT_6x12 u8g2_font_inr33_mn // Число Х
#define FONT_6x12 u8g2_font_inr33_t_cyrillic // Число Х
#define FONT_6x12 u8g2_font_inb33_mf // Число перечёркнутый НОЛЬ Х
#define FONT_9x19 u8g2_font_logisoso28_tr // Часы. по возможности найти такие же узкие, но немного длиннее.
#define FONT_6x12 u8g2_font_logisoso22_tf // Часы.
#define FONT_9x18 u8g2_font_font_logisoso38_tf
#define FONT_9x17 u8g2_font_lubB14_tf // Точки
#define FONT_8x5 u8g2_font_Calibri10 // Месяц и День Недели. Вставлен My Shrift_Calibri10 ( 8 x 5)


RTC_DS3231 rtc;

// Объекты дисплея
U8G2_ST7565_ERC12864_F_4W_SW_SPI u8g2_1(U8G2_R3, LCD_1_SCL, LCD_1_SI, LCD_1_CS, LCD_1_A0, LCD_1_RES);
U8G2_ST7565_ERC12864_F_4W_SW_SPI u8g2_2(U8G2_R0, LCD_2_SCL, LCD_2_SI, LCD_2_CS, LCD_2_A0, LCD_2_RES);
U8G2_ST7565_ERC12864_F_4W_SW_SPI u8g2_3(U8G2_R3, LCD_3_SCL, LCD_3_SI, LCD_3_CS, LCD_3_A0, LCD_3_RES);

void setup()
{
delay(1000); // ждём завершение переходных процессов связанных с подачей питания.
Wire.begin(); // инициируем работу с аппаратной шиной I2C.
u8g2_1.begin(); // старт дисплея 1
u8g2_2.begin(); // старт дисплея 2
u8g2_3.begin(); // старт дисплея 3
rtc.begin(&Wire); // старт датчика ds3231

//rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // установка времени и даты последней компиляции
//rtc.adjust(DateTime(2024, 8, 12, 17, 45, 0)); // Год, Месяц, Число, Час, Мин, Сек.

{
u8g2_1.setContrast(25); //Контрастность 1
u8g2_1.enableUTF8Print(); // Вывод текста 1

u8g2_2.setContrast(25); //Контрастность 2
u8g2_2.enableUTF8Print(); // Вывод текста 2


u8g2_3.setContrast(25); //Контрастность 3
u8g2_3.enableUTF8Print(); // Вывод текста 3

u8g2_1.clearBuffer(); // очистка буфера 1
u8g2_2.clearBuffer(); // очистка буфера 2
u8g2_3.clearBuffer(); // очистка буфера 3

/*
if (! rtc.begin()) // инициализация DS32331
u8g2_2.setFont(u8g2_font_8x13_t_cyrillic); // установка размера шрифта датчика
u8g2_2.setCursor(0, 45); // установка курсора
u8g2_2.print("RTC ошибка"); // проверка, подключен ли модуль
while (1);
*/
delay(3000); //Задержка для загрузки системы 3 сек
}
}

void loop()
{

{
u8g2_1.clearBuffer(); // очистка буфера 1
u8g2_1.setFont(u8g2.setFont(Calibri10); // установка размера шрифта датчика
u8g2_1.setCursor(0, 45); // установка курсора
u8g2_1.print("ПОНЕДЕЛЬНИК");
u8g2_1.sendBuffer(); // вывод на экран
}

} код не чищенный, много для простоты закомментированно. Но, работает.
Последний раз редактировалось dankr Вт авг 13, 2024 16:36:28, всего редактировалось 2 раз(а).

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 16:27:21

Martian, да я не помню - пользовался этой шляпой пару раз и давно, неудобная она.

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 16:28:03

Выдал ошибку в строке ошибок. Там конкретно что-то именно со строкой Font

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 16:30:45

dankr, у Вас вообще нет u8g2, у Вас объекты u8g2_1, u8g2_2, u8g3_3. Вероятно ошибка где-то в подключаемых .h
Последний раз редактировалось smacorp Вт авг 13, 2024 16:35:34, всего редактировалось 4 раз(а).

Re: Редактор шрифтов Adafruit_GFX

Вт авг 13, 2024 16:32:01

Вам сам компилятор подсказывает - переменная u8g2 не объявлена в прелах области видимости, может имелась ввиду переменная U8G2?

Измените регистр букв на верхний.

Компилятор подсказывает, что незадекларирована библиотека. Что-то с ним наверное. Не уверен, что правильно без ошибок создал шрифты.
Ответить