Блоки для дисплеев TFT SPI
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
-
Boggard
- Рядовой
- Сообщения: 76
- Зарегистрирован: 23 дек 2020, 01:10
- Имя: Андрей
- Благодарил (а): 22 раза
- Поблагодарили: 2 раза
Re: Блоки для дисплеев TFT SPI
240х240. Мне получилось создать блок. Но ника не получается избавиться от лишних циферок после необходимого текста!
-
Boggard
- Рядовой
- Сообщения: 76
- Зарегистрирован: 23 дек 2020, 01:10
- Имя: Андрей
- Благодарил (а): 22 раза
- Поблагодарили: 2 раза
Re: Блоки для дисплеев TFT SPI
Есть возможность поделиться блоком? Всмысле , есть возможность в сообщении , я бы свой блок загрузил на сервер ,вы бы сами посмотрели.
Последний раз редактировалось Boggard 28 янв 2026, 18:58, всего редактировалось 1 раз.
-
Boggard
- Рядовой
- Сообщения: 76
- Зарегистрирован: 23 дек 2020, 01:10
- Имя: Андрей
- Благодарил (а): 22 раза
- Поблагодарили: 2 раза
Re: Блоки для дисплеев TFT SPI
"
// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP32 SETUP ######
// For ESP32 Dev board (only tested with ST7789V display from Waveshare)
// The hardware SPI can be mapped to any pins
// YOU MUST PLUG THE VCC to 3v3 and GND to GND on your board.
#define TFT_MOSI 23 // (DIN)
#define TFT_SCLK 18 // (CLK)
#define TFT_CS -1 // (CS) Chip select control pin
#define TFT_DC 16 // (DC) Data Command control pin
#define TFT_RST 4 // (RST) Reset pin (could connect to RST pin)
#define TFT_BL 32 // (BL) LED back-light
"
Код: Выделить всё
#include <TFT_eSPI.h>
bool EN_179945602_1;
String print_179945602_1;
int SIZE_179945602_1;
byte X_179945602_1;
byte Y_179945602_1;
byte Rotation_179945602_1;
TFT_eSPI tft_179945602_1= TFT_eSPI();
void setup()
{
tft_179945602_1.init(); // инициализация дисплея
}
void loop()
{
//Плата:1
EN_179945602_1 = !(0);
print_179945602_1 = String("Text получилось poluchilos !");
SIZE_179945602_1 = 3;
X_179945602_1 = 5;
Y_179945602_1 = 5;
Rotation_179945602_1 = 0;
if(EN_179945602_1)
{
tft_179945602_1.setRotation(Rotation_179945602_1); // вращение на 180 градусов
tft_179945602_1.fillScreen(TFT_BLACK); // заливка фона чёрным цветом
tft_179945602_1.setCursor(X_179945602_1, Y_179945602_1); // x, y координаты текста
tft_179945602_1.setTextColor(TFT_YELLOW); // цвет текста — белый
tft_179945602_1.setTextSize(SIZE_179945602_1); // размер текста — №2 (7×2 = 14 точек)
tft_179945602_1.print("print_179945602_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));
}
}
-
Boggard
- Рядовой
- Сообщения: 76
- Зарегистрирован: 23 дек 2020, 01:10
- Имя: Андрей
- Благодарил (а): 22 раза
- Поблагодарили: 2 раза
Re: Блоки для дисплеев TFT SPI
Куда скрины можно загрузить? Что -то и это на прокатило. В общем получаю на дисплее "print_179945602_1" , вот такую строку , без кавычек. Еще очень нужно вывести цифры со счетчика , и что бы дисплей менялся при изменении цифры , а то моргает. За ранее большое спасибо!!!!
-
Boggard
- Рядовой
- Сообщения: 76
- Зарегистрирован: 23 дек 2020, 01:10
- Имя: Андрей
- Благодарил (а): 22 раза
- Поблагодарили: 2 раза
Re: Блоки для дисплеев TFT SPI
Крутил вертел и дошло!!! Кавычки то лишние были! Это какой то пример из сетки , по моему с ГитХаба , вывод строки. , из сетки , взял его за основу. Сразу не сообразил. Но справился!
А вот от мигания , не знаю даже ,что думать .как избавиться? И как сделать , что бы по изменению цифры , со счетчика , цифра менялась.. Я еще конечно не попробовал ,сейчас прикручу счетчик и посмотрю , получиться или нет. Но вот мигание доставляет ,конечно! Как допилю , выложу на основной сайт , уже 100% рабочий и проверенный блок , а не то что там валяется, (кусок говна старого носорогв) не работающий! Кстати говоря , сначала как-то , мне не понятно как, но от лишних знаков , я избавился. Как это получилось , для меня загадка! А вот это дерьмо не работает от слова совсем!!! https://flprog.ru/user_projects/other_p ... s-st-7789/
получился очень компактный на одной библиотеке блок (скетч) То чего ,Я и добивался. В С++ , полный ноль , но ума на троих.
А вот от мигания , не знаю даже ,что думать .как избавиться? И как сделать , что бы по изменению цифры , со счетчика , цифра менялась.. Я еще конечно не попробовал ,сейчас прикручу счетчик и посмотрю , получиться или нет. Но вот мигание доставляет ,конечно! Как допилю , выложу на основной сайт , уже 100% рабочий и проверенный блок , а не то что там валяется, (кусок говна старого носорогв) не работающий! Кстати говоря , сначала как-то , мне не понятно как, но от лишних знаков , я избавился. Как это получилось , для меня загадка! А вот это дерьмо не работает от слова совсем!!! https://flprog.ru/user_projects/other_p ... s-st-7789/
получился очень компактный на одной библиотеке блок (скетч) То чего ,Я и добивался. В С++ , полный ноль , но ума на троих.
Код: Выделить всё
#include <TFT_eSPI.h>
bool EN_93232916_1;
String Text_93232916_1;
int SIZE_93232916_1;
byte X_93232916_1;
byte Y_93232916_1;
byte Rotation_93232916_1;
TFT_eSPI tft_93232916_1= TFT_eSPI();
void setup()
{
tft_93232916_1.init(); // инициализация дисплея
}
void loop()
{
//Плата:1
EN_93232916_1 = !(0);
Text_93232916_1 = String(" Pluchilos");
SIZE_93232916_1 = 3;
X_93232916_1 = 5;
Y_93232916_1 = 5;
Rotation_93232916_1 = 0;
if(EN_93232916_1)
{
tft_93232916_1.setRotation(Rotation_93232916_1); // вращение на 180 градусов
tft_93232916_1.fillScreen(TFT_BLACK); // заливка фона чёрным цветом
tft_93232916_1.setCursor(X_93232916_1, Y_93232916_1); // x, y координаты текста
tft_93232916_1.setTextColor(TFT_YELLOW); // цвет текста — белый
tft_93232916_1.setTextSize(SIZE_93232916_1); // размер текста — №2 (7×2 = 14 точек)
tft_93232916_1.print(Text_93232916_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));
}
}-
ecoins
- Администратор
- Сообщения: 4486
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 224 раза
- Поблагодарили: 368 раз
Re: Блоки для дисплеев TFT SPI
Сегодня тестировал на RP2040 ST7789 170x320.Boggard писал(а): 28 янв 2026, 18:41 240х240. Мне получилось создать блок. Но ника не получается избавиться от лишних циферок после необходимого текста!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Boggard
- Рядовой
- Сообщения: 76
- Зарегистрирован: 23 дек 2020, 01:10
- Имя: Андрей
- Благодарил (а): 22 раза
- Поблагодарили: 2 раза
Re: Блоки для дисплеев TFT SPI
А библиотеками не поделитесь ,для этого дисплея?
Ну и не отказался бы от этого блока.
Да кстати попробуйте этот блок на esp32 посмотрим получится или нет?
-
ecoins
- Администратор
- Сообщения: 4486
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 224 раза
- Поблагодарили: 368 раз
Re: Блоки для дисплеев TFT SPI
Ждите новую версию FLProg - авторизуйтесь и пробуйте. Так и библиотека в открытом доступе, и графический редактор FLProg.Boggard писал(а): 29 янв 2026, 10:21А библиотеками не поделитесь ,для этого дисплея?
Ну и не отказался бы от этого блока.
Да кстати попробуйте этот блок на esp32 посмотрим получится или нет?![]()
-
Boggard
- Рядовой
- Сообщения: 76
- Зарегистрирован: 23 дек 2020, 01:10
- Имя: Андрей
- Благодарил (а): 22 раза
- Поблагодарили: 2 раза
Re: Блоки для дисплеев TFT SPI
Код: Выделить всё
Код: Выделить всё
#include <TFT_eSPI.h>
bool EN_156646886_2;
String Text_156646886_2;
int SIZE_156646886_2;
byte X_156646886_2;
byte Y_156646886_2;
byte Rotation_156646886_2;
TFT_eSPI tft_156646886_2= TFT_eSPI();
bool _count2I = 0;
int _count2_Value = 0;
bool _gen2I = 0;
bool _gen2O = 0;
unsigned long _gen2P = 0UL;
void setup()
{
tft_156646886_2.init(); // инициализация дисплея
}
void loop()
{
//Плата:1
if (!(0))
{
if (! _gen2I)
{
_gen2I = 1;
_gen2O = 1;
_gen2P = millis();
}
}
else
{
_gen2I = 0 ;
_gen2O= 0;
}
if (_gen2I)
{
if (_isTimer (_gen2P , 500))
{
_gen2P = millis();
_gen2O = ! _gen2O;
}
}
if (!(_gen2O))
{
if (! _count2I)
{
_count2I = 1;
_count2_Value = _count2_Value + 1;
}
}
else
{
_count2I = 0;
}
EN_156646886_2 = !(0);
Text_156646886_2 = (String((_count2_Value)+(0), DEC));
SIZE_156646886_2 = 3;
X_156646886_2 = 5;
Y_156646886_2 = 5;
Rotation_156646886_2 = 0;
if(EN_156646886_2)
{
tft_156646886_2.setRotation(Rotation_156646886_2); // вращение на 180 градусов
tft_156646886_2.fillScreen(TFT_BLACK); // заливка фона чёрным цветом
tft_156646886_2.setCursor(X_156646886_2, Y_156646886_2); // x, y координаты текста
tft_156646886_2.setTextColor(TFT_YELLOW); // цвет текста — белый
tft_156646886_2.setTextSize(SIZE_156646886_2); // размер текста — №2 (7×2 = 14 точек)
tft_156646886_2.print(Text_156646886_2); // вывод текста
delay(1000);
}
}
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));
}
}-
Boggard
- Рядовой
- Сообщения: 76
- Зарегистрирован: 23 дек 2020, 01:10
- Имя: Андрей
- Благодарил (а): 22 раза
- Поблагодарили: 2 раза
Re: Блоки для дисплеев TFT SPI
В десятый или какой раз... Не ,я с удовольствием залью блок. Спасибо за ранее , добрый человек! AndreyR . Не получается ,загрузить -ошибка. По ходу у моего провайдера траблы (МТС) 
- Phazz
- Полковник
- Сообщения: 3514
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 377 раз
- Поблагодарили: 261 раз
-
CraCk
- Капитан
- Сообщения: 732
- Зарегистрирован: 10 сен 2015, 21:51
- Благодарил (а): 32 раза
- Поблагодарили: 11 раз
Re: Блоки для дисплеев TFT SPI
Будет возможность конвертировать текст в QR код, для отображения на экране?ecoins писал(а): 28 янв 2026, 20:59 Сегодня тестировал на RP2040 ST7789 170x320.
ST7789_19_170x320.jpeg
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость