Решение проблем с сенсорным экраном TFT LCD Shield 2.4″ для Arduino
Компоненты
- Arduino UNO — 1 шт.
- TFT LCD Shield 2.4″ (с слот для SD-карты)
О проекте
Планировал проверить функции TFT-шилда, но столкнулся с проблемами тачскрина. Делюсь решениями — обычный обзор будет позже.
Шилд просто вставляется сверху на Arduino (не забывайте изолентировать USB-порт, чтобы не закоротчить контакты экрана).

Библиотеки и код
Главная проблема — библиотека. Проверяйте работоспособность на примере graphictest: должны отображаться цвета и фигуры. Если белый экран — меняйте библиотеку.
Мне подошла эта: SPFD5408.

Если графика работает, пробуйте пример tftpaint для тача. Если тач не работает или оси перепутаны — виноваты производители, меняющие пиновку.
Исправление пинов тачскрина
В примере tftpaint найдите строки определения пинов и замените:
Было (оригинал):
#define YP A1 // must be an analog pin
#define XM A2 // must be an analog pin
#define YM 7 // can be a digital pin
#define XP 6 // can be a digital pin
Стало (рабочий вариант):
#define YP A3
#define XM A2
#define YM 9
#define XP 8
Перезагрузите скетч — тач должен заработать.
Если оси инвертированы
Откройте файл библиотеки тачскрина (например, TouchScreen.h или .cpp), найдите строку ~159 и раскомментируйте/измените логику возврата координат:
// Пример исправления инверсии
return TSPoint(1023-x, 1023-y, z); // или комбинации x / 1023-x
Подбирайте значения, пока точка рисуется именно там, где нажимаете. У меня заработало с инверсией обеих осей.
Код
Библиотека и примеры: GitHub репозиторий
Схемы
Это шилд — схема простая: просто вставляется на Arduino.

Производственный процесс
- Сенсорные датчики (Touch Sensors): принцип работы и основные применения
- Препроцессор и макросы в C: мастерство #include, #define и условной компиляции
- Пересмотр стратегий обслуживания: как оптимизация PM и FMEA снижают отказы после ремонта
- LCD против CRT: плюсы, минусы и что лучше для вас
- Профессиональное руководство по анимации битмапов на TFT-экране ILI9341 2.4" с Visuino
- Создание анимации и игр на LCD 16×2 с Arduino UNO
- Вывод JPEG-фото и RGB565-видео на 2.8″ TFT SPI дисплей с Arduino Nano
- Вывод изображений на 1.17-дюймовый TFT LCD с Arduino UNO
- Вывод BMP‑изображений с SD‑карты на TFT LCD Shield 2.4″ для Arduino
- TFT Shield 2.8" 320×240 SPI для Arduino Nano — высокопроизводительный дисплей