Как быстро создать интерфейс для TFT-дисплея с сенсором или без? Достаточно просто использовать обновленную версию программы Easy HMI. Новая версия программы поддерживает использование иконок в проекте и беспроводную связь: Wi-Fi, UDP и MQTT. Но обо всём по порядку.

Первым делом нужно подключить дисплей к ESP32 по следующей схеме.
TFT 3,5 дюйма на красной плате.
| Пин TFT | Пин ESP32 | Примечание |
|---|---|---|
| VCC | 3.3V | Питание |
| GND | GND | Земля |
| CS | GPIO 15 | Chip Select |
| RST | GPIO 27 | Reset |
| DC | GPIO 2 | Data/Command |
| SDI(MOSI) | GPIO 13 | MOSI |
| SCK | GPIO 14 | Clock |
| LED | GPIO 21 | Подсветка |
| SDO(MISO) | GPIO 12 | MISO |
По аналогичной схеме подключается плата 2.4 дюйма, 2.8 дюйма и другие на красной плате. Например, ниже приведена схема подключения дисплея 1,8 дюйма.
TFT 1,8 дюйма на красной плате.
| Пин TFT | Пин ESP32 | Примечание |
|---|---|---|
| VCC | 3.3V | Питание |
| GND | GND | Земля |
| CS | GPIO 15 | Chip Select |
| RST | GPIO 27 | Reset |
| A0 (D/C) | GPIO 2 | Data/Command |
| SDA(MOSI) | GPIO 13 | MOSI |
| SCK | GPIO 14 | Clock |
| LED | GPIO 21 | Подсветка |
Примечание: При подключении дисплея 1,8 дюйма с тусклой подсветкой уберите резистор и подключите питание подсветки напрямую к 3,3 В.
Также я протестировал и дисплеи от других производителей: 2.0“ ST7789VW — 240х320 px и ST7789V3 — 240х280 px. Схема немного отличается, но всё подключается по аналогии со схемами выше.
При разработке я протестировал 5 различных дисплеев с разными драйверами и разрешением:
| Размер | Драйвер | Разрешение | Сенсор |
|---|---|---|---|
| 2.0“ | ST7789VW | 240х320 px | Нет |
| 1.69“ | ST7789V3 | 240х280 px | Нет |
| 1.8“ | ST7735S | 128х160 px | Нет |
| 2.4“ | ST7789V | 320х240 px | XPT2046 |
| 2.8“ | ILI9341 | 320х240 px | Нет |
Как вы могли заметить, все дисплеи отличаются не только размером, но и используемыми драйверами. В теории подойдут практически любые TFT-дисплеи с интерфейсом SPI от 0,9 до 4 дюймов.
Бесплатная версия прошивки информатора доступна в предыдущей версии. Скачать и протестировать её вы можете тут.
Скачать прошивку для создания информатора можно тут >>.
Скачать прошивку с поддержкой всех функций можно тут >>>.
Чем отличается прошивка информатора от полноценной прошивки? Прошивка информатора предназначена для дисплеев без сенсора. Она не позволяет выводить на дисплей активные элементы: кнопки и слайдеры. Полноценная прошивка не имеет ограничений, и с её помощью можно создать проект с кнопками.
Важно! Пока идет загрузка, не закрывайте программу и не отключайте ESP32 от компьютера, иначе вы можете повредить плату.
При удачной загрузке вы увидите надпись в консоли:
Leaving... Hard resetting via RTS pin... --- Process finished with exit code: 0 ---/ / Код 0 свидетельствует об успешном завершении процесса
A fatal error occurred: This chip is ESP32-S3 not ESP32. Wrong --chip argument?
--- Process finished with exit code: 2 --- # Код 2 обычно указывает на ошибку при выполнении
Причина: Ваша плата ESP32 не подходит. Нужна плата на чипе ESP32 без дополнительных букв (S3, S2, C3, C6 и пр.).
A fatal error occurred: Could not open COM10, the port doesn't exist
--- Process finished with exit code: 2 --- # Код 2 также указывает на ошибку
Причина: COM-порт занят другой программой (например, Arduino IDE). Закройте другие программы, использующие COM-порт.
Перед началом настройки важно понимать, что каждый дисплей разработан под свои задачи и рассчитан на определенное горизонтальное или вертикальное расположение, что влияет на настройки драйвера. Также дисплеи могут отличаться:
Я постарался учесть все эти особенности, и получился следующий интерфейс настроек драйвера в программе Easy HMI для моих дисплеев:




Как видим, настройки для каждого дисплея имеют свои особенности. Для других дисплеев рекомендую использовать одну из вышеописанных настроек. Особенно если ваш дисплей на красной плате, попробуйте настройки для аналогичного дисплея.
Теперь можно использовать это устройство как HMI-дисплей. Подключите внешний микроконтроллер к UART2 или управляйте GPIO (4, 23, 18), используя кнопки на дисплее.
Для создания проектов ознакомьтесь с уроками Easy HMI и проектами с использованием сенсорных дисплеев AT HMI. Несмотря на то, что они написаны для моего дисплея AT HMI, они также подойдут для устройства, собранного сегодня.
Вы также можете использовать блочное программирование для создания проектов в программе ArduBlock.
Да. Если вам нужно будет загрузить свой код на дисплей после использования данной прошивки, это можно будет сделать без всяких ограничений. Более того, вы всегда можете вернуться к работе с моей программой Easy HMI, загрузив повторно прошивку, о которой говорится в данной статье.

Не забывайте, новый функционал будет появляться сначала для моих дисплеев AT HMI, а затем уже буду, по мере возможности, переоснащать и для работы с данными дисплеями.
Поддержать проект и присоединиться к общению в нашем закрытом сообществе вы можете на Boosty.
Понравилась статья Кастомные HMI на ESP32 и TFT с поддержкой иконок, Wi-Fi, UDP и MQTT? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на VK Видео, вступить в группу Вконтакте.
Спасибо за внимание!
Технологии начинаются с простого!
Фотографии к статье
Читайте также
Мы в соц сетях
Комментарии