Страница 7 из 7

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

Добавлено: 28 янв 2026, 18:41
Boggard
240х240. Мне получилось создать блок. Но ника не получается избавиться от лишних циферок после необходимого текста!

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

Добавлено: 28 янв 2026, 18:43
Boggard
Есть возможность поделиться блоком? Всмысле , есть возможность в сообщении , я бы свой блок загрузил на сервер ,вы бы сами посмотрели.

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

Добавлено: 28 янв 2026, 18:57
Boggard
Изображение Изображение Изображение Изображение
"
// ###### 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));
    }
}

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

Добавлено: 28 янв 2026, 18:59
Boggard
Куда скрины можно загрузить? Что -то и это на прокатило. В общем получаю на дисплее "print_179945602_1" , вот такую строку , без кавычек. Еще очень нужно вывести цифры со счетчика , и что бы дисплей менялся при изменении цифры , а то моргает. За ранее большое спасибо!!!!

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

Добавлено: 28 янв 2026, 19:03
Boggard
Переменная вроде бы правильная. print_179945602_1 = String

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

Добавлено: 28 янв 2026, 19:51
Boggard
Крутил вертел и дошло!!! Кавычки то лишние были! Это какой то пример из сетки , по моему с ГитХаба , вывод строки. , из сетки , взял его за основу. Сразу не сообразил. Но справился!
А вот от мигания , не знаю даже ,что думать .как избавиться? И как сделать , что бы по изменению цифры , со счетчика , цифра менялась.. Я еще конечно не попробовал ,сейчас прикручу счетчик и посмотрю , получиться или нет. Но вот мигание доставляет ,конечно! Как допилю , выложу на основной сайт , уже 100% рабочий и проверенный блок , а не то что там валяется, (кусок говна старого носорогв) не работающий! Кстати говоря , сначала как-то , мне не понятно как, но от лишних знаков , я избавился. Как это получилось , для меня загадка! А вот это дерьмо не работает от слова совсем!!! https://flprog.ru/user_projects/other_p ... s-st-7789/
получился очень компактный на одной библиотеке блок (скетч) То чего ,Я и добивался. В С++ , полный ноль , но ума на троих. :smile38:

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

#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));
    }
}

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

Добавлено: 28 янв 2026, 20:59
ecoins
Boggard писал(а): 28 янв 2026, 18:41 240х240. Мне получилось создать блок. Но ника не получается избавиться от лишних циферок после необходимого текста!
Сегодня тестировал на RP2040 ST7789 170x320.
ST7789_19_170x320.jpeg

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

Добавлено: 29 янв 2026, 06:43
Boggard
:smile9:

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

Добавлено: 29 янв 2026, 10:21
Boggard
ecoins писал(а): 28 янв 2026, 20:59
Boggard писал(а): 28 янв 2026, 18:41 240х240. Мне получилось создать блок. Но ника не получается избавиться от лишних циферок после необходимого текста!
Сегодня тестировал на RP2040 ST7789 170x320.
ST7789_19_170x320.jpeg
А библиотеками не поделитесь ,для этого дисплея? :smile469:
Ну и не отказался бы от этого блока. :yes:
Да кстати попробуйте этот блок на esp32 посмотрим получится или нет? :smile38:

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

Добавлено: 29 янв 2026, 18:55
ecoins
Boggard писал(а): 29 янв 2026, 10:21
ecoins писал(а): 28 янв 2026, 20:59
Boggard писал(а): 28 янв 2026, 18:41 240х240. Мне получилось создать блок. Но ника не получается избавиться от лишних циферок после необходимого текста!
Сегодня тестировал на RP2040 ST7789 170x320.
ST7789_19_170x320.jpeg
А библиотеками не поделитесь ,для этого дисплея? :smile469:
Ну и не отказался бы от этого блока. :yes:
Да кстати попробуйте этот блок на esp32 посмотрим получится или нет? :smile38:
Ждите новую версию FLProg - авторизуйтесь и пробуйте. Так и библиотека в открытом доступе, и графический редактор FLProg.

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

Добавлено: 29 янв 2026, 19:06
Boggard
Почти все получилось , только вот ,с миганием может кто допилить? Вы на опыте , миллиард строк уже написали. Помогите пожалуйста с кодом. и решением , для ФлПрог? Осталось совсем чуток. Мигает раз в секунду , это по изменению генератора (вместо него будет дифракционный датчик) , Хотя.. Если будет мигать не раз в минуту ,а по сигналу , то пускай мигает. Для меня "пока" это сложновато. спасибо большое за ранее!

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

#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));
    }
}

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

Добавлено: 29 янв 2026, 19:35
AndreyR
Скинь проект посмотреть

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

Добавлено: 30 янв 2026, 20:57
Boggard
В десятый или какой раз... Не ,я с удовольствием залью блок. Спасибо за ранее , добрый человек! AndreyR . Не получается ,загрузить -ошибка. По ходу у моего провайдера траблы (МТС) :smile390:

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

Добавлено: 30 янв 2026, 21:08
Phazz
tft_156646886_2.fillScreen(TFT_BLACK) это дает мерцание

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

Добавлено: 06 фев 2026, 16:09
CraCk
ecoins писал(а): 28 янв 2026, 20:59 Сегодня тестировал на RP2040 ST7789 170x320.
ST7789_19_170x320.jpeg
Будет возможность конвертировать текст в QR код, для отображения на экране?