Добавить в корзинуПозвонить
Найти в Дзене
Кроконяшка

Подключение экрана TFT ЖК-дисплей ILI9488 к STM32F411 в среде Arduino IDE с использованием библиотеки TFT_eSPI-master

Приветствую пишу данную статью как для себя чтобы не забыть как это это все настроить и подключить так и для тех кому захочется использовать в своих проектах подобный дисплей . На данной площадке я уже писал про подключение дисплея на дайвере ILI9327 к ESP32 В этой статье будет про подключение и настройку TFT-дисплея с контроллером ILI9488 к микроконтроллеру STM32F411. Мы будем использовать библиотеку TFT_eSPI, а также разберём способы базовой проверки работоспособности дисплея. Дисплей покупался на площадке AliExpress ссылка на товар вот => https://ali.click/xe8q519?erid=2SDnjcPrPA2 Дисплей ILI9488 использует интерфейс SPI, и для его подключения к STM32F411 мы будем использовать следующие пины: Важно! MISO (Master In Slave Out) в данном случае не используется, так как дисплей не передаёт информацию на контроллер, дисплей заказан с No Touch. Следующим нам потребуется в среде Arduino IDE установить расширение для работы с STM32. Добавляем поддержку STM32 в Arduino IDE. Открываем Ardu

Приветствую пишу данную статью как для себя чтобы не забыть как это это все настроить и подключить так и для тех кому захочется использовать в своих проектах подобный дисплей . На данной площадке я уже писал про подключение дисплея на дайвере ILI9327 к ESP32

В этой статье будет про подключение и настройку TFT-дисплея с контроллером ILI9488 к микроконтроллеру STM32F411. Мы будем использовать библиотеку TFT_eSPI, а также разберём способы базовой проверки работоспособности дисплея.

Дисплей покупался на площадке AliExpress ссылка на товар вот => https://ali.click/xe8q519?erid=2SDnjcPrPA2

-2

Дисплей ILI9488 использует интерфейс SPI, и для его подключения к STM32F411 мы будем использовать следующие пины:

-3
-4

Важно! MISO (Master In Slave Out) в данном случае не используется, так как дисплей не передаёт информацию на контроллер, дисплей заказан с No Touch.

Следующим нам потребуется в среде Arduino IDE установить расширение для работы с STM32. Добавляем поддержку STM32 в Arduino IDE. Открываем Arduino IDE и переходим в Файл -> Настройки (Preferences). В поле «Дополнительные ссылки для менеджера плат» вставляем следующую ссылку: https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json Нажимаем "ОК".

Далее переходим в Инструменты -> Плата -> Менеджер плат, в поиске пишем STM32 и устанавливаем пакет STM32 MCU based boards от STMicroelectronics.

После установки выбираем нашу плату:

  • Board: Generic STM32F4 series
  • Board part number: BlackPill F411CE

Установка и настройка библиотеки TFT_eSPI
Теперь переходим к самому главному — библиотеке. Заходим в Менеджер библиотек, вводим
TFT_eSPI (автор Bodmer) и нажимаем "Установить".

Важный момент! Эта библиотека требует ручной настройки под ваш контроллер дисплея и распиновку микроконтроллера. Если этого не сделать, дисплей будет просто светиться белым.Нам необходимо отредактировать файл конфигурации. Перейдите в папку с установленными библиотеками: Документы/Arduino/libraries/TFT_eSPI. Найдите там файл User_Setup.h и откройте его в любом текстовом редакторе (например, в Блокноте).

Вам нужно сделать две вещи:

Шаг 1. Выбрать драйвер дисплея Найдите строку #define ILI9341_DRIVER и закомментируйте её (поставьте два слеша перед ней //). Затем найдите строку //#define ILI9488_DRIVER и раскомментируйте её (уберите слеши). Должно получиться так:
// #define ILI9341_DRIVER
#define ILI9488_DRIVER

Шаг 2. Настроить пины Пролистайте чуть ниже до настроек пинов (раздел EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP8266 / ESP32 / STM32 SETUP). Пропишите пины STM32 в соответствии с нашей схемой
подключения:
#define TFT_CS PA4 // Chip select control pin

#define TFT_DC PA1 // Data Command control pin

#define TFT_RST PA0 // Reset pin (could connect to NodeMCU RST, see next line)
Также убедитесь, что раскомментированы сроки стандартных пинов SPI (иначе библиотека может их не подхватить):
#define TFT_MOSI PA7

#define TFT_SCLK PA5
Сохраняем файл User_Setup.h и закрываем блокнот. Библиотека готова к работе!

Вместо того чтобы писать код с нуля, мы воспользуемся готовыми примерами, которые идут в комплекте с библиотекой. Это лучший способ для первой проверки работоспособности схемы.

В Arduino IDE перейдите в Файл -> Примеры -> TFT_eSPI

Здесь собрано огромное количество красивых тестовых программ. Так как наш экран на контроллере ILI9488 имеет разрешение 320x480 пикселей, рекомендую зайти в подпапку 480 x 320 и выбрать классический пример TFT_Graphicstest_One_lib. Либо можете открыть скрипт с вращающимся 3D кубом (который я показывал на фото), он обычно находится в папке с примерами Sprite. Никаких изменений в самом скетче делать не нужно, так как все настройки пинов мы уже задали в файле User_Setup.h.

Загрузка и итог

Подключаем плату STM32F411 к компьютеру. Если вы прошиваете её через встроенный USB порт (режим DFU), переведите микроконтроллер в режим прошивки: зажмите на плате кнопку BOOT0, затем коротко нажмите RST и отпустите BOOT0.

В настройках Arduino IDE в разделе "Upload method" выбираем STM32CubeProgrammer (DFU) и нажимаем кнопку "Загрузка".

Как только прошивка загрузится, на экране запустится графический тест или выбранная вами анимация. Благодаря аппаратному SPI на STM32F411, отрисовка графики происходит очень плавно и быстро, что делает эту связку железа отличным выбором для проектов сложных интерфейсов!