Не хочет работать дисплей на ili9486 с esp32

эти две микросхемы оно и есть видимо, попробовать вместо 5 подать тоже 3.3

это некий SM245TS

скорее всего разновидность 74SN245 - может использоваться как конвертер уровней

как конвертер уровней и работает
а что за ESP32? и какую выбираешь в IDE

esp32devkitv1, в arduino ide выбрано esp32 dev module
накинул и туда и туда 3 вольта, изменений нет

@CuberHamster я такими пользуюсь, заказывал 3 типа, на всех всё работает, но такие дисплеи еще не применял

если есть дисплей с SPI может подкинешь на ESP, проверить что она у тебя живая

вот я вроде брал CH9102X

такую не брал, есть 32D, 32U и 38 пиновых некоторое количество, всё трудится не покладая рук

тут парень подключает ili9486 к esp32, и у него все работает, причем с помощью tft espi. Я пробовал сделать все точно также, но у меня не работало. Правда он делал на platformIO, а я в arduino ide

подключил к ней старый добрый зеленый lcd, правда по i2c, все работает

I2C, I2S это звук, значит модуль живой…обязан работать…
Когда метод научного тыка не сработал, работаем по методу системного подхода - в экселе составляем табличку распиновка модуля TFT - распиновка на UNO - распиновка на ESP32
Высокая доля вероятности, что сигнал RST на TFT от пина RESET UNO

Посмотрел внимательно, LCD - не от хард резета инициализируется, видимо всё остальное от него (тач и СД), тач у тебя недоиницализирован, закрыт порт SPI, оставь в скетче только LCD…но дисплей всё таки не для ESP (точнее не для этих библиотек) тач требует прерывания, а у тебя в дисплее этот сигнал не выведен…
Я так глубоко библиотеку не копал, можно ли использовать без прерывания не знаю

Табличка ниже, проверяй подключение

UNO ESP32 UNO ESP32
D0 - A5 F_CS 5
D1 - A4 LCD_RST 32
D2 LCD_D2 26 A3 LCD_CS 33
D3 LCD_D3 25 A2 LCD_RS 15
D4 LCD_D4 17 A1 LCD_RW 4
D5 LCD_D5 16 A0 LCD_RD 2
D6 LCD_D6 27
D7 LCD_D7 14 VIN -
GND GND
D8 LCD_D0 12 GND GND
D9 LCD_D1 13 5V 5V
D10 SD_SS (CS) ? 3.3V 3.3V
D11 SD_DI (MOSI) 23 RES RESET
D12 SD_DO (MISO) 19 5V
D13 SD_SCK (SCLK) 18 -
GND
AREF
SDA
SCL

Поправил твой скетч под свой дисплей (SPI) и мою распиновку, код рабочий, сначала запускается калибровка тача, после калибровки рисует квадрат в котором при нажатии на тач отрисовывается пятно…калибровка тача не запоминается…при резете всё повторяется…

// v1.0.0 (Это специальная мера в период перехода от v0. Если вы этого не напишете, это будет работать со старой серией v0.)

#define LGFX_USE_V1
#include <LovyanGFX.hpp>

// https://github.com/lovyan03/LovyanGFX/blob/master/examples/HowToUse/2_user_setting/2_user_setting.ino
class LGFX : public lgfx::LGFX_Device{
  lgfx::Panel_ILI9341 _panel_instance;
  lgfx::Bus_SPI       _bus_instance;
  lgfx::Light_PWM     _light_instance;
  lgfx::Touch_XPT2046 _touch_instance;
//----------------------------------------------------------------------  
// pin 25 - DAC1, 26 - DAC2

public:LGFX(void){{            // Настройте параметры управления шиной.
  auto cfg = _bus_instance.config();// Получите структуру для настроек шины.
                               // Настройки шины SPI
  cfg.spi_host   = SPI2_HOST;  // Выберите SPI для использования (VSPI_HOST or HSPI_HOST)
  cfg.spi_mode   = 0;          // SPI Установить режим связи (0 ~ 3)
  cfg.freq_write = 40000000;   // Тактовая частота SPI во время передачи (максимум 80 МГц, 80 МГц округляется до целого числа)
  cfg.freq_read  = 16000000;   // Частота SPI при приеме
  cfg.spi_3wire  = false;      // Установите значение true, если прием осуществляется на контакт MOSI.
  cfg.use_lock   = true;       // Установите true, чтобы использовать блокировку транзакции
  cfg.dma_channel=  1;         // Использовать настройку канала DMA (1 или 2, 0=отключить) (0=не использовать DMA)
  cfg.pin_sclk   = 14;         // Установить номер вывода SPI SCLK SCK
  cfg.pin_mosi   = 13;         // Установите номер контакта SPI MOSI SDI
  cfg.pin_miso   = 12;         // Установить номер контакта SPI MISO (-1 = отключить) SDO
  cfg.pin_dc     = 17;  //2;   // Установить номер контакта SPI D/C (-1 = отключить) RS
  // При использовании той же шины SPI, что и SD-карта, обязательно установите MISO, не пропуская его.
  _bus_instance.config(cfg);   // Применяет заданное значение к шине.
  _panel_instance.setBus(&_bus_instance);// Установите шину на панели.
  }
  {                            // Установите управление панелью дисплея.
  auto cfg = _panel_instance.config();// Получает структуру для настроек панели отображения.
  cfg.pin_cs          =    15; // CS  номер контакта, к которому подключен (-1 = отключить)
  cfg.pin_rst         =    16; //-1; // RST номер контакта, к которому подключен (-1 = отключить)
  cfg.pin_busy        =    -1; // BUSY номер контакта, к которому подключен (-1 = отключить)
  cfg.memory_width    =   240; //320; // Максимальная ширина, поддерживаемая микросхемой драйвера
  cfg.memory_height   =   320; //480; // Максимальная высота, поддерживаемая микросхемой драйвера
  cfg.panel_width     =   239; //320; // фактическая отображаемая ширина
  cfg.panel_height    =   319; //480; // реальная видимая высота
  cfg.offset_x        =     0; // Величина смещения панели в направлении X
  cfg.offset_y        =     0; // Величина смещения панели в направлении Y
  cfg.offset_rotation =     0; // Смещение значения направления вращения 0~7 (4~7 перевернуто)
  cfg.dummy_read_pixel=     8; // Количество битов для фиктивного чтения перед считыванием пикселей
  cfg.dummy_read_bits =     1; // Количество битов для фиктивного чтения перед чтением данных вне пикселей
  cfg.readable        = false; // Установите значение true, если данные можно прочитать
  cfg.invert          = false; // Установите значение true, если яркость панели инвертирована.
  cfg.rgb_order       = false; // установите значение true, если красная и синяя панели поменялись местами.
  cfg.dlen_16bit      = false; // Панель для отправки в единицах 16-битной длины данных Установите значение true
  cfg.bus_shared      = false; // Совместное использование шины с SD-картой Установите значение true
  _panel_instance.config(cfg);
  }
  { // Установите управление подсветкой. (удалить, если не нужно)
  auto cfg = _light_instance.config();// Получает структуру для настроек подсветки.
  cfg.pin_bl = 27;             // Номер контакта BL куда подключается подсветка
  cfg.invert = false;          // true, чтобы инвертировать яркость подсветки
  cfg.freq   = 44100;          // Частота ШИМ подсветки
  cfg.pwm_channel = 7;         // Номер канала PWM для использования
  _light_instance.config(cfg);
  _panel_instance.setLight(&_light_instance);//Установите подсветку на панели.
  }
  { // Настройте параметры управления сенсорным экраном. (удалить, если не нужно)
  auto cfg = _touch_instance.config();
  cfg.x_min      = 300;    // Минимальное значение X (необработанное значение), полученное с сенсорного экрана
  cfg.x_max      = 3900;   // Максимальное значение X (необработанное значение), полученное с сенсорного экрана
  cfg.y_min      = 3700;   // Минимальное значение Y (необработанное значение), полученное с сенсорного экрана
  cfg.y_max      = 20;     // Максимальное значение Y (необработанное значение), полученное с сенсорного экрана
  cfg.pin_int    = 32;//36;// Номер контакта, к которому подключен INT, TP IRQ 36
  cfg.bus_shared = true;   // Установите значение true при использовании общей шины с экраном.
  cfg.offset_rotation = 2; // Регулировка, когда дисплей и направление касания не совпадают Установите значение от 0 до 7
  // Для SPI-подключения
  cfg.spi_host = SPI2_HOST;// Выберите SPI для использования (HSPI_HOST or VSPI_HOST)
  cfg.freq = 1000000;      // SPIустановить частоту, Max 2.5MHz, 8bit(7bit) mode
  cfg.pin_sclk = 14;       // SCLK номер вывода, к которому подключен, TP CLK
  cfg.pin_mosi = 13;       // MOSI номер вывода, к которому подключен, TP DIN
  cfg.pin_miso = 12;       // MISO номер вывода, к которому подключен, TP DOUT
  cfg.pin_cs   = 33;       // CS   номер вывода, к которому подключен, TP CS
  _touch_instance.config(cfg);
  _panel_instance.setTouch(&_touch_instance);  // Установите сенсорный экран на панели.
  }
  setPanel(&_panel_instance);// Устанавливает панель для использования.
  }
};
LGFX tft; // Создайте экземпляр подготовленного класса.


void setup(void)
{
  tft.init();                              //
  //tft.setRotation(1);                      // USB Right
  tft.setRotation(3);                      // USB Left
  tft.setBrightness(200);                  //
  tft.setSwapBytes(true);                  //
  tft.fillScreen  (0x0000);                // BLACK

  tft.setTextSize((std::max(tft.width(), tft.height()) + 255) >> 8);

  // タッチが使用可能な場合のキャリブレーションを行います。(省略可)
  if (tft.touch())
  {
    if (tft.width() < tft.height()) tft.setRotation(tft.getRotation() ^ 1);

    // 画面に案内文章を描画します。
    tft.setTextDatum(textdatum_t::middle_center);
    tft.drawString("touch the arrow marker.", tft.width()>>1, tft.height() >> 1);
    tft.setTextDatum(textdatum_t::top_left);

    // タッチを使用する場合、キャリブレーションを行います。画面の四隅に表示される矢印の先端を順にタッチしてください。
    std::uint16_t fg = TFT_WHITE;
    std::uint16_t bg = TFT_BLACK;
    if (tft.isEPD()) std::swap(fg, bg);
    tft.calibrateTouch(nullptr, fg, bg, std::max(tft.width(), tft.height()) >> 3);
  }

  tft.fillScreen(TFT_BLACK);
}

uint32_t count = ~0;
void loop(void)
{
  tft.startWrite();
  tft.setRotation(++count & 7);
  tft.setColorDepth((count & 8) ? 16 : 24);

  tft.setTextColor(TFT_WHITE);
  tft.drawNumber(tft.getRotation(), 16, 0);

  tft.setTextColor(0xFF0000U);
  tft.drawString("R", 30, 16);
  tft.setTextColor(0x00FF00U);
  tft.drawString("G", 40, 16);
  tft.setTextColor(0x0000FFU);
  tft.drawString("B", 50, 16);

  tft.drawRect(30,30,tft.width()-60,tft.height()-60,count*7);
  tft.drawFastHLine(0, 0, 10);

  tft.endWrite();

  int32_t x, y;
  if (tft.getTouch(&x, &y)) {
    tft.fillRect(x-2, y-2, 5, 5, count*7);
  }
}

ссылка не рабочая

Отлично, со школы приду буду тестить

С тебя пятёрка по любому предмету :smiley:

Оплата пятеркой по физике за четверть

Лови, вот его распиновка, D4 и D5 на других пинах

#define ILI9486_DRIVER
#define TFT_PARALLEL_8_BIT

// The ESP32 and TFT the pins used for testing are:
#define TFT_DC   18  // Data Command control pin - must use a pin in the range 0-31
#define TFT_CS   33  // Chip select control pin
#define TFT_RST  32  // Reset pin
#define TFT_RD    2
#define TFT_WR    4  // Write strobe control pin - must use a pin in the range 0-31

#define TFT_D0   12  // Must use pins in the range 0-31 for the data bus
#define TFT_D1   13  // so a single register write sets/clears all bits
#define TFT_D2   26
#define TFT_D3   25
#define TFT_D4   21
#define TFT_D5   5
#define TFT_D6   27
#define TFT_D7   14

#define LOAD_GLCD   // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
#define LOAD_FONT2  // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
#define LOAD_FONT4  // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
#define LOAD_FONT6  // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
#define LOAD_FONT7  // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-.
#define LOAD_FONT8  // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT
#define LOAD_GFXFF  // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts

#define SMOOTH_FONT

#define SPI_FREQUENCY  27000000
#define SPI_READ_FREQUENCY  20000000
#define SPI_TOUCH_FREQUENCY  2500000


еще непонятно - #define TFT_DC 18 это у тебя видимо LCD_RS

Спасибо) скоро отпишусь о результатах