Итак, статья о подключении тача к esp 32. Из базового что стоит сказать, подключения можно делать так как вам условно удобно/возможно, а вот в последствии они прописываются в файле User_Setup библиотеки "TFT_eSPI.h"
Вот полная таблица подключений для ILI9341 + XPT2046 на ESP32, основанная на конфигурационном файле в моем конкретном случае:
📌 Основные подключения (SPI)
Сигнал | Дисплей (ILI9341) | Тач (XPT2046) | ESP32 | Примечание |
---|---|---|---|---|
VCC | 3.3V | 3.3V | 3.3V | Питание |
GND | GND | GND | GND | Земля |
SCK (CLK) | SCK | T_CLK | GPIO18 | Общий SPI-тактовый сигнал |
MOSI (SDI) | MOSI (SDI) | T_DIN | GPIO23 | Общий SPI-выход данных |
MISO (SDO) | — | T_DO (T_OUT) | GPIO19 | Только для тача (дисплей не использует) |
CS | CS | — | GPIO15 | Чип-селектор дисплея |
DC | DC (D/C) | — | GPIO2 | Data/Command |
RESET | RESET | — | GPIO4 | Сброс (или на 3.3V, если не используется) |
LED | LED | — | 3.3V | Подсветка (можно на GPIO + ШИМ) |
T_CS | — | T_CS | GPIO14 | Чип-селектор тача |
T_IRQ | — | T_IRQ | — | Не подключать (или GPIO для прерываний) |
🔄 Проверка конфликтов:
-
CS-пины не пересекаются:
-
Дисплей:
GPIO15
-
Тач:
GPIO14
-
-
SPI-пины общие (SCK, MOSI), но MISO используется только тачем (GPIO19).
-
RESET можно подключить к
GPIO4
или 3.3V (если не нужен программный сброс).
⚙️ Соответствие в User_Setup.h
:
// Дисплей #define TFT_CS 15 // GPIO15 #define TFT_DC 2 // GPIO2 #define TFT_RST 4 // GPIO4 (или -1, если RESET на 3.3V) #define TFT_SCLK 18 // GPIO18 (SCK) #define TFT_MOSI 23 // GPIO23 (MOSI) #define TFT_MISO 19 // GPIO19 (MISO, для тача) // Тач-скрин #define TOUCH_CS 14 // GPIO14
🔧 Что проверить, если не работает:
-
Пайка CS (GPIO15) и DC (GPIO2) – часто отваливаются!
-
SCK/MOSI/MISO – должны быть подключены последовательно (без обрывов).
-
Питание 3.3V – дисплей может не включаться при недостаточном токе.
-
Заземление (GND) – общее для всех устройств.
📢 Важно!
-
Если дисплей не включается, проверьте
RESET
(должен быть или наGPIO4
, или на 3.3V). -
Если тач не работает, убедитесь, что
T_DO
(MISO) подключен кGPIO19
. -
Не используйте один CS для дисплея и тача – это вызовет конфликт!
Само собой ставим библиотеку TFT_eSPI.h в среде Arduino и оттуда же можно будет сразу запустить и примеры.