ILI9488 3,95 дюйма, сенсорный экран

Пришёл купленный на али дисплей. Не могу найти библиотеку для него от Adafruit. Есть по запросу две самоделки:

Первая компилируется и работает только с УНО крайне медленно при очистке экрана (хотя рисует быстро за стилусом ), с ЕСП32 и RP2040 не компилируется.
Вторая без примеров, качать и ставить страшно, автор индус явно. Где найти толковую библиотеку?


Конечно 3,95 это не 2,8 !!!

странные предубеждения… Большая часть библиотек Ардуино написано самими юзерами, даже пакеты для поддержки плат разрабатываются сообществами на гитхабе…

Лучшая библиотека для поддержки экранов, на мой взгляд - это mcufriend от Девида Прентице (Prentice David) - к сожалению, уже покойного.

Да как то хотелось в одной линии держаться, а не собирать букеты библиотек :frowning:
Хотя если деваться некуда…

Еще одна мощная либа для ТФТ - это TFT eSPI.

Но код тут сложнее , чем в МКУ-Френд

Обе перечисленные либы, уверен, поддерживают ваш экран

С индусом подозрения оправдались :), архив иде ставить отказалась по причине отсутствия корректных файлов… ну и хрен с ними. Если не найду иного попробую покойного библиотеку.

Как это соотносится с отсутствием примеров?

Отсутствует файл library.properties, но можно руками распаковать в папку libraries

1 лайк

Попробовал руками распаковать. В иде нет её для подключения. В самом описании пишет подключите как хотите. Интересно, как конструктор писать (или как его зовут :slight_smile:
Вот типа пример в описании:

Adafruit_ILI9488 tft;
tft.begin();
tft.fillScreen(ILI9488_BLACK);
tft.setTextColor(ILI9488_WHITE);
tft.setTextSize(2);
tft.println("Hello World!");

Всё таки библиотека явно для продвинутых пользователей.

Первая строчка и есть конструктор.

А не вот такое?

//ILI9488 tft = ILI9488(TFT_CS, TFT_DC, TFT_RST);
ILI9488 tft = ILI9488(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);

В общем индуса я не осилил, вот ему:

Архив ILI9488-master.zip содержит каталог Adafruit_ILI9488. Достаточно архив распаковать и руками перенести/скопировать каталог Adafruit_ILI9488 в каталог libraries используемой IDE.
Но! Для Adafruit_ILI9488.h ещё необходимо подключение “Adafruit_GFX_32.h”

Ещё одна библиотека?

Нет. Вторая из первого сообщения:

https://github.com/azmathmoosa/ILI9488

Делал для stm3. Посмотри, может, что окажется полезным:

А вот ещё один вопрос, как думаете, если дисплей постоянно включенным держать - сколько проработает? Слабое место, наверное, светодиоды подсветки?

У меня, в своё время, на открытых мойках самообслуживания (24ч х 7д) работают уже более 5 лет. Были боксы не под навесом, так там дисплеи выгорали постепенно от прямых сонечных лучей. Приходилось менять раз в год примерно.

Т.е. подсветка всегда включена?

Всегда. Она же ночью очень нужна.

Так я и не нашёл простую библиотеку, пришлось эту мучить. Запустил на RP2040, правда как будто на ESP32 (пришлось в юзерском файле врать :slight_smile:
Пытаюсь теперь картинки вывести. Мои самописные функции не работают - кракозябры рисует… Но!, глянул в файл функций этой библиотеки, она может всё и даже больше в плане картинок !!!
Но опять же затык ! Есть так:

 pushImage(int32_t x, int32_t y, int32_t w, int32_t h, const uint16_t *data);

А конвертер картинок даёт массивы только в байтах и нет компиляции. Как преобразовать массив одной командой?
Почему для бедных нет:

pushImage(int32_t x, int32_t y, int32_t w, int32_t h, const uint8_t *data);

Причем тут преобразование массива?
У вас данные 8битные или 16битные?

Элементы массива 8битные, а должны, как я понял быть 16.

const unsigned char ris_00[] = { //

0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,........