Блоки для дисплеев TFT SPI

Пользовательские блоки для вывода информации на дисплеи и индикаторы, управления тачскрином, различными клавиатурами, добавления русских шрифтов для вывода на дисплеи типа HD44780
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
SkorPTKV
Рядовой
Сообщения: 4
Зарегистрирован: 21 дек 2024, 15:15
Имя: Костя
Поблагодарили: 5 раз

Re: Блоки для дисплеев TFT SPI

Сообщение SkorPTKV »

Всем доброго времени! Может кому будет полезно.
Нужен был шрифт для мультимедиа значков, по задумке картинки не подходили.
Гугл отчаянно сопротивлялся помогать. Но в итоге нашёл такую статейку (https://www.rfcandy.biz/communication/ard_font.html), с помощью которой проблема была решина. Более того не обязательно весь шрифт использовать. Достаточно только необходимые символы что бы немного меньше места занимать. Шрифт на сколько я понял можно использовать любой.
Вложил архив с программой, на всякий случай, только она работает из командной строки, но при этом работает отлично, сразу получаешь готовый рабочий вариант шрифта.
Так же столкнулся в неудобстве ввода цвета в RGB565. Подготовил пару библиотек (перевода цвета с RGB и HEX) которые работают без нареканий.
Ну и фоточка незаконченного проекта)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ander
Администратор
Сообщения: 744
Зарегистрирован: 31 окт 2023, 12:50
Имя: Андрей
Благодарил (а): 55 раз
Поблагодарили: 142 раза

Re: Блоки для дисплеев TFT SPI

Сообщение Ander »

SkorPTKV писал(а): 24 мар 2025, 13:24 Всем доброго времени! Может кому будет полезно.
Нужен был шрифт для мультимедиа значков, по задумке картинки не подходили.
Гугл отчаянно сопротивлялся помогать. Но в итоге нашёл такую статейку (https://www.rfcandy.biz/communication/ard_font.html), с помощью которой проблема была решина. Более того не обязательно весь шрифт использовать. Достаточно только необходимые символы что бы немного меньше места занимать. Шрифт на сколько я понял можно использовать любой.
Вложил архив с программой, на всякий случай, только она работает из командной строки, но при этом работает отлично, сразу получаешь готовый рабочий вариант шрифта.
Так же столкнулся в неудобстве ввода цвета в RGB565. Подготовил пару библиотек (перевода цвета с RGB и HEX) которые работают без нареканий.
Ну и фоточка незаконченного проекта)
Симпатично, в какой версии ФЛП делали? Проектом не поделитесь?
SkorPTKV
Рядовой
Сообщения: 4
Зарегистрирован: 21 дек 2024, 15:15
Имя: Костя
Поблагодарили: 5 раз

Re: Блоки для дисплеев TFT SPI

Сообщение SkorPTKV »

Ander писал(а): 24 мар 2025, 17:22
SkorPTKV писал(а): 24 мар 2025, 13:24 Всем доброго времени! Может кому будет полезно.
Нужен был шрифт для мультимедиа значков, по задумке картинки не подходили.
Гугл отчаянно сопротивлялся помогать. Но в итоге нашёл такую статейку (https://www.rfcandy.biz/communication/ard_font.html), с помощью которой проблема была решина. Более того не обязательно весь шрифт использовать. Достаточно только необходимые символы что бы немного меньше места занимать. Шрифт на сколько я понял можно использовать любой.
Вложил архив с программой, на всякий случай, только она работает из командной строки, но при этом работает отлично, сразу получаешь готовый рабочий вариант шрифта.
Так же столкнулся в неудобстве ввода цвета в RGB565. Подготовил пару библиотек (перевода цвета с RGB и HEX) которые работают без нареканий.
Ну и фоточка незаконченного проекта)
Симпатично, в какой версии ФЛП делали? Проектом не поделитесь?
Ему до завершения ещё далеко. Делаю в версии 7.5.2. На всякий вложил архив с TFT_ESPI там шрифты и настройка под мой дисплей. Сама библиотека взята здесь.
В папке TFT_eSPI\Fonts\GFXFF\ файл gfxfont.h, нужно раскомментировать нужные/ненужные шрифты. Если шрифтов включено слишком много, то у меня не компилировалось.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
OLGA
Сержант
Сообщения: 164
Зарегистрирован: 04 авг 2021, 09:21
Откуда: Псков
Имя: Павел
Благодарил (а): 109 раз
Поблагодарили: 15 раз

Re: Блоки для дисплеев TFT SPI

Сообщение OLGA »

Здравствуйте. Подскажите может кто пользовался такими же блоками пользователя dsfbuy (Блоки дисплея.ubl) не идет кириллица, а так даже очень мне нравится да и разобрался с работой блока. Прогу с FLP 7.5.2 и ILI9341 прилагаю. Библиотеки: Adafruit_GFX_Library, Adafruit_ILI9341
У вас нет необходимых прав для просмотра вложений в этом сообщении.
SkorPTKV
Рядовой
Сообщения: 4
Зарегистрирован: 21 дек 2024, 15:15
Имя: Костя
Поблагодарили: 5 раз

Re: Блоки для дисплеев TFT SPI

Сообщение SkorPTKV »

OLGA писал(а): 01 апр 2025, 09:47 Здравствуйте. Подскажите может кто пользовался такими же блоками пользователя dsfbuy (Блоки дисплея.ubl) не идет кириллица, а так даже очень мне нравится да и разобрался с работой блока. Прогу с FLP 7.5.2 и ILI9341 прилагаю. Библиотеки: Adafruit_GFX_Library, Adafruit_ILI9341
Доброго времени!
Я с ней не подружился. TFT_eSPI мне показалась доступней и разнообразней.
Мне кажется нужно задавать вопрос в ветке связанной с Adafruit. Ну или в телеге спросить.
Я нуб ещё тот, но мне кажется что косяк в использованной библиотеке Arduino IDE, вполне вероятно там надо посмотреть какой шрифт используется. Возможно в нём нет кириллицы. Если скачивали с самой Arduino или github, то я почти уверен что в этом проблема, и там просто нет Русского шрифта. Надо добавить, либо исправить родной. В TFT_eSPI это сделать просто. Как в этой библиотеке понятия не имею.
Аватара пользователя
TET
Рядовой
Сообщения: 9
Зарегистрирован: 21 дек 2020, 14:16
Имя: владимир
Благодарил (а): 1 раз

Re: Блоки для дисплеев TFT SPI

Сообщение TET »

Те же грабли :smile390: , только начал что понимногу вдуплять :smile427: как это устроено. С дисплеями на ili9341 вообще не так всьо просто оказалось, но сам дисплей для разных поделок, блоков питания, контролеров и приборов, самое то, и за адекватную цену. Вот если к этим блокам добавить блоки рисования кругов, трехугольник, и блок под тач, было б вообще супер. Лично мне не особо нужна кирилица (но если разбирусь то свисну здесь). :smile198:
cfitymrf
Сержант
Сообщения: 110
Зарегистрирован: 06 сен 2021, 07:45
Имя: иван
Благодарил (а): 8 раз
Поблагодарили: 5 раз

Re: Блоки для дисплеев TFT SPI

Сообщение cfitymrf »

Аватара пользователя
TET
Рядовой
Сообщения: 9
Зарегистрирован: 21 дек 2020, 14:16
Имя: владимир
Благодарил (а): 1 раз

Re: Блоки для дисплеев TFT SPI

Сообщение TET »

всем хай. с блоками для ST7735 и ILI9341 разобрался, а вот меня больше интересуют блоки под ST7789, ST7796(S). :smile427: на али немножко дешевле, а по характеристикам не уступают, или ткните носом, может что то пропустил, :smile453: зарание извеняюсь. автору под ILI9341 большой поклон за блоки. :smile9:
SkorPTKV
Рядовой
Сообщения: 4
Зарегистрирован: 21 дек 2024, 15:15
Имя: Костя
Поблагодарили: 5 раз

Re: Блоки для дисплеев TFT SPI

Сообщение SkorPTKV »

TET писал(а): 04 апр 2025, 16:14 всем хай. с блоками для ST7735 и ILI9341 разобрался, а вот меня больше интересуют блоки под ST7789, ST7796(S). :smile427: на али немножко дешевле, а по характеристикам не уступают, или ткните носом, может что то пропустил, :smile453: зарание извеняюсь. автору под ILI9341 большой поклон за блоки. :smile9:
Доброго! Не совсем понял о каких блоках идёт речь.
В моём проекте, выше (осталось совсем чуть-чуть до завершения), дисплей ST7789, единственное что делал, это настроил User_Setup.h:

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

#define USER_SETUP_INFO "User_Setup"

#define ST7789_DRIVER

#define TFT_WIDTH  240
#define TFT_HEIGHT 320

#define TFT_INVERSION_ON

#define TFT_MOSI 25 // In some display driver board, it might be written as "SDA" and so on.
#define TFT_SCLK 18
#define TFT_CS   5
#define TFT_DC   19
#define TFT_RST  23

#define LOAD_GLCD
#define LOAD_FONT2
#define LOAD_FONT4
#define LOAD_FONT6
#define LOAD_FONT7
#define LOAD_FONT8
#define LOAD_GFXFF

#define SMOOTH_FONT

#define SPI_FREQUENCY  27000000

#define SPI_READ_FREQUENCY  20000000

intojon
Рядовой
Сообщения: 47
Зарегистрирован: 07 авг 2021, 18:13
Имя: Tomas
Благодарил (а): 3 раза
Поблагодарили: 9 раз

Re: Блоки для дисплеев TFT SPI

Сообщение intojon »

Boggard писал(а): 17 июн 2023, 16:11 Проблему решил сам! :smile9: https://vk.com/video94093259_456239854? ... 505f22ab41
Можете поделиться опытом, как вы решили эту проблему?
Selivan
Рядовой
Сообщения: 41
Зарегистрирован: 19 ноя 2017, 09:49
Откуда: Тула
Благодарил (а): 5 раз
Поблагодарили: 1 раз

Re: Блоки для дисплеев TFT SPI

Сообщение Selivan »

Здравствуйте. Подскажите, как подключить STM32 Blue Pill к дисплею ST7735 1.8" для вывода текста? Может быть есть готовые ПБ? А лучше пример такого использования.
Maloy0103
Рядовой
Сообщения: 49
Зарегистрирован: 27 янв 2020, 22:49
Имя: Алексей
Благодарил (а): 1 раз

Re: Блоки для дисплеев TFT SPI

Сообщение Maloy0103 »

Добрый день. Подскажите, пожалуйста, как подключить 2 дисплея TFT 1.8? С одним дисплеем все работает отлично. Появилась необходимость в подключении еще одного. Блок Adafruit_ST7735_main ругается на добавление второго такого же(
ecoins
Администратор
Сообщения: 4486
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 224 раза
Поблагодарили: 368 раз

Re: Блоки для дисплеев TFT SPI

Сообщение ecoins »

Maloy0103 писал(а): 11 ноя 2025, 15:50 Добрый день. Подскажите, пожалуйста, как подключить 2 дисплея TFT 1.8? С одним дисплеем все работает отлично. Появилась необходимость в подключении еще одного. Блок Adafruit_ST7735_main ругается на добавление второго такого же(
Есть такая проблема....
Почти ни как через эти блоки.
У меня на стенде работают по несколько дисплеев одновременно разных и одинаковых.
Для этого разработана отдельная библиотека.
На стадии отладки блоков пришлось прерваться на другие задачи.
Работы еще много. Будут позже...
С уважением, ecoins.
Maloy0103
Рядовой
Сообщения: 49
Зарегистрирован: 27 янв 2020, 22:49
Имя: Алексей
Благодарил (а): 1 раз

Re: Блоки для дисплеев TFT SPI

Сообщение Maloy0103 »

ecoins писал(а): 11 ноя 2025, 16:08
Maloy0103 писал(а): 11 ноя 2025, 15:50 Добрый день. Подскажите, пожалуйста, как подключить 2 дисплея TFT 1.8? С одним дисплеем все работает отлично. Появилась необходимость в подключении еще одного. Блок Adafruit_ST7735_main ругается на добавление второго такого же(
Есть такая проблема....
Почти ни как через эти блоки.
У меня на стенде работают по несколько дисплеев одновременно разных и одинаковых.
Для этого разработана отдельная библиотека.
На стадии отладки блоков пришлось прерваться на другие задачи.
Работы еще много. Будут позже...
С уважением, ecoins.
Спасибо большое. Будем ждать)
Boggard
Рядовой
Сообщения: 76
Зарегистрирован: 23 дек 2020, 01:10
Имя: Андрей
Благодарил (а): 22 раза
Поблагодарили: 2 раза

Re: Блоки для дисплеев TFT SPI

Сообщение Boggard »

Кто нибудь скажет , есть ли блок для вывода простой строки ,с Анг яз , для st7789?! Спасибо!!!!
Boggard
Рядовой
Сообщения: 76
Зарегистрирован: 23 дек 2020, 01:10
Имя: Андрей
Благодарил (а): 22 раза
Поблагодарили: 2 раза

Re: Блоки для дисплеев TFT SPI

Сообщение Boggard »

Что-то получилось. Работает если только ,скопировать скетч через просмотр и последующем вставлением в Ардуино ИДЕ! Настройки пинов свои выставьте. Все в users. Прошу критики и подсказке , почему не компилируется из Флпрог? (я не знаю как скрин шот добавить)

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

#include <TFT_eSPI.h>
bool EN_1263268_1;
String Text_1263268_1;
int SIZE_1263268_1;
byte X_1263268_1;
byte Y_1263268_1;
byte Rotation_1263268_1;
TFT_eSPI tft_1263268_1= TFT_eSPI();
void setup()
{
        tft_1263268_1.init(); // инициализация дисплея
}
void loop()
{
    //Плата:1
    EN_1263268_1 = 0;
    Text_1263268_1 = String("");
    SIZE_1263268_1 = 0;
    X_1263268_1 = 0;
    Y_1263268_1 = 0;
    Rotation_1263268_1 = 0;
    if(EN_1263268_1) 
    {
            tft_1263268_1.setRotation(Rotation_1263268_1); // вращение на 180 градусов
            tft_1263268_1.fillScreen(TFT_BLACK); // заливка фона чёрным цветом
            tft_1263268_1.setCursor(X_1263268_1, Y_1263268_1); // x, y координаты текста
            tft_1263268_1.setTextColor(TFT_YELLOW); // цвет текста — белый
            tft_1263268_1.setTextSize(SIZE_1263268_1); // размер текста — №2 (7×2 = 14 точек)
            tft_1263268_1.print("Text_1263268_1"); // вывод текста
           delay(100);
    }
}
bool _isTimer(unsigned long startTime, unsigned long period)
{
    unsigned long currentTime;
    currentTime = millis();
    if (currentTime>= startTime) 
    {
        return (currentTime>=(startTime + period));
    }
     else 
    {
        return (currentTime >=(4294967295-startTime+period));
    }
}
aidar_i
Полковник
Сообщения: 3477
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 30 раз
Поблагодарили: 192 раза
Контактная информация:

Re: Блоки для дисплеев TFT SPI

Сообщение aidar_i »

Boggard писал(а): 27 янв 2026, 20:57 Что-то получилось. Работает если только ,скопировать скетч через просмотр и последующем вставлением в Ардуино ИДЕ! Настройки пинов свои выставьте. Все в users. Прошу критики и подсказке , почему не компилируется из Флпрог?

Я всегда так делаю, сперва нажимаю на глаз, оттуда запускаю Ардуино иде, компилирую. Последующие компиляции произвожу копированием из просмотра, так компилируется намного быстрее, особенно заметно на ЕСП. Запускаю через стрелку только когда нужно установить библиотеки встроенные в блок.
Boggard
Рядовой
Сообщения: 76
Зарегистрирован: 23 дек 2020, 01:10
Имя: Андрей
Благодарил (а): 22 раза
Поблагодарили: 2 раза

Re: Блоки для дисплеев TFT SPI

Сообщение Boggard »

Так и я так делаю! вот и спросил, почему копированием все нормально , а из программы через "стрелку" не получается?
Ander
Администратор
Сообщения: 744
Зарегистрирован: 31 окт 2023, 12:50
Имя: Андрей
Благодарил (а): 55 раз
Поблагодарили: 142 раза

Re: Блоки для дисплеев TFT SPI

Сообщение Ander »

Boggard писал(а): 28 янв 2026, 04:33 Так и я так делаю! вот и спросил, почему копированием все нормально , а из программы через "стрелку" не получается?
Отключите форматирование в проекте.
ecoins
Администратор
Сообщения: 4486
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 224 раза
Поблагодарили: 368 раз

Re: Блоки для дисплеев TFT SPI

Сообщение ecoins »

Boggard писал(а): 27 янв 2026, 13:01 Кто нибудь скажет , есть ли блок для вывода простой строки ,с Анг яз , для st7789?! Спасибо!!!!
Это на ST7735 128x160. А какой размер Вашего дисплея?
ST7735_4.jpeg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «Дисплеи, индикаторы и клавиатуры»

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

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