Easy HMI: Создаем кастомные HMI-дисплеи на ESP32 и TFT.

Решил я адаптировать под разные устройства свое программное обеспечение Easy HMI. Настолько увлекся, что появилась возможность работать не только с дисплеями ESP32-2432S028R и аналогичными моделями данной линейки производителя (о чем я рассказывал в предыдущей статье), но и создать возможность самостоятельно собирать устройства из TFT-дисплея и ESP32. Используя мое ПО, можно создавать интерфейсы и применять их как HMI-дисплей. Но обо всем по порядку.

2.4“ ST7789V с сенсором XPT2046 — 320х240 px.

Какой TFT-дисплей подойдет?

При разработке я протестировал 4 различных дисплея с разными драйверами и разрешением:

  • 2.0“ ST7789VW — 240х320 px.
  • 1.8“ ST7735S — 128х160 px.
  • 2.4“ ST7789V с сенсором XPT2046 — 320х240 px.
  • 2.8“ ILI9341 — 320х240 px.

Как вы могли заметить, все дисплеи отличаются не только размером, но и используемыми драйверами. В теории подойдут практически любые TFT-дисплеи с интерфейсом SPI от 0,9 до 4 дюймов.

 В теории подойдут практически любые TFT-дисплеи с интерфейсом SPI от 0,9 до 4 дюймов.

Совет: если возникнут сложности с дисплеем, создайте пост в группе, прикрепив фото дисплея, пример вывода изображения и настройки в программе Easy HMI.

Так как программу пришлось адаптировать под множество вариаций использования разных драйверов матриц и тачскринов, в программе появились дополнительные настройки. Не пугайтесь, ниже приведу пример, как ими пользоваться.

настройки в программе Easy HMI.

Настройка драйверов в программе Easy HMI.

Перед началом настройки важно понимать, что каждый дисплей разработан под свои задачи и рассчитан на определенное горизонтальное или вертикальное расположение, что влияет на настройки драйвера. Также дисплеи могут отличаться:

  • Цветовыми схемами (включая инвертированные цвета).
  • Наличием зеркального отображения изображения.

Я постарался учесть все эти особенности, и получился следующий интерфейс настроек драйвера в программе Easy HMI для моих дисплеев:

  • Дисплей 2.8“ ILI9341.Дисплей 2.8“ ILI9341.
  • Дисплей 2.4“ ST7789V с сенсором XPT2046.Дисплей 2.4“ ST7789V с сенсором XPT2046.
  • Дисплей 1.8“ ST7735S.Дисплей 1.8“ ST7735S.
  • Дисплей 2.0“ ST7789VW имеет нестандартную настройку: при горизонтальном расположении в настройках дисплея изображение отображается вертикально.Дисплей 2.0“ ST7789VW

Как видим, настройки для каждого дисплея имеют свои особенности. Для других дисплеев рекомендую использовать одну из вышеописанных настроек. Особенно если ваш дисплей на красной плате, попробуйте настройки для аналогичного дисплея.

Как загрузить прошивку для работы с Easy HMI на ESP32?

Как загрузить прошивку для работы с Easy HMI на ESP32?

Я улучшил свое ПО, добавив возможность загрузки прошивки прямо из приложения. Для этого выполните следующие шаги:

  1. Скачайте прошивку внизу статьи в разделе «Файлы для скачивания» для создания информатора или приобретите прошивку для создания проекта с сенсорным дисплеем на Boosty или у меня лично.
  2. Установите драйвер для вашей платы ESP32. Все доступные драйверы можно скачать внизу статьи в разделе «Файлы для скачивания». Пример установки драйвера CH340 подробно расписан здесь.
  3. Подключите вашу плату к компьютеру.
  4. В программе EasyHMI 0.1.1 TFT (или более поздней версии) зайдите в раздел «Настройки». В блоке настроек «Загрузить прошивку»:
    • Выберите COM-порт вашей платы ESP32.
    • Нажмите кнопку «Выбрать файл».
    • В открывшемся окне выберите файл прошивки, который вы скачали (он должен весить 4 Мб и иметь расширение .bin).В программе EasyHMI 0.1.1 TFT
    • Нажмите «Загрузить прошивку».Нажмите «Загрузить прошивку».
  5. Дождитесь завершения процесса загрузки.

Важно! Пока идет загрузка, не закрывайте программу и не отключайте ESP32 от компьютера, иначе вы можете повредить свою плату.

При удачной загрузке вы увидите надпись в консоли:

Leaving...
Hard resetting via RTS pin...
--- Process finished with exit code: 0 --- # Код 0 означает успешное завершение процесса

Код 0 означает успешное завершение процесса

Возможные ошибки при загрузке прошивки

  1. Ошибка:
    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 и пр.).Ваша плата ESP32 не подходит. Нужна плата на чипе ESP32 без дополнительных букв (S3, S2, C3, C6 и пр.).
  2. Ошибка:
    A fatal error occurred: Could not open COM10, the port doesn't exist
    --- Process finished with exit code: 2 --- # Код 2 также указывает на ошибку
        
    Причина: COM-порт занят другой программой (например, Arduino IDE). Закройте другие программы, использующие COM-порт.COM-порт занят другой программой (например, Arduino IDE). Закройте другие программы, использующие COM-порт.

Схема подключения TFT к ESP32.

Подключение дисплеев на красных платах всегда одинаково. Различие заключается только в наличии или отсутствии тачскрина. Схема подключения с тачскрином доступна в платной прошивке на Boosty или у меня в личных сообщениях.

Схема подключения TFT к ESP32.

Примечание: При подключении дисплея 1,8 дюйма с тусклой подсветкой уберите резистор и подключите питание подсветки напрямую к 3,3 В.

При подключении дисплея 1,8 дюйма с тусклой подсветкой уберите резистор и подключите питание подсветки напрямую к 3,3 В.


Важно! Easy HMI предназначена в первую очередь для дисплеев AT HMI, но также поддерживает и некоторые дисплеи сторонних производителей.

Как пользоваться данным устройством?

Теперь можно использовать это устройство как HMI-дисплей. Подключите внешний микроконтроллер к UART2 или управляйте GPIO (4, 23, 18), используя кнопки на дисплее.

Для создания проектов ознакомьтесь с уроками Easy HMI и проектами с использованием сенсорных дисплеев AT HMI. Несмотря на то, что они написаны для моего дисплея AT HMI, они также подойдут для устройства, собранного сегодня.

Вы также можете использовать блочное программирование для создания проектов в программе ArduBlock:

программе ArduBlock

Можно ли использовать свой код, написанный в Arduino IDE, после загрузки вашей прошивки на ESP32?

Да. Если вам нужно будет загрузить свой код на ESP32 после использования данной прошивки, это можно будет сделать без всяких ограничений. Более того, вы всегда можете вернуться к работе с моей программой Easy HMI, загрузив повторно прошивку, о которой говорится в данной статье.

Поддержка и развитие функционала.

Так как проект разработан на голом энтузиазме, я не могу много времени тратить, отвечая на все вопросы. Поэтому сделал отдельную группу ВК, где буду выкладывать ответы на вопросы. Вы также можете предложить свой вопрос, на все актуальные вопросы будет ответ в данной группе.

 Вы также можете предложить свой вопрос

И не забывайте читать новости и комментарии в данной группе. Кроме этого, планирую проводить 1 раз в неделю онлайн-ответы на вопросы. Но это будет зависеть от того, насколько проект будет популярен, и как вы будете поддерживать его на Boosty.

Поддержать развитие проекта вы можете на Boosty или в группе ВК (это основная группа проекта, и тут есть возможность подключить донаты).

Понравилась статья Прошивка ESP32-2432S028R для работы с Easy HMI? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!

Фотографии к статье

Файлы для скачивания

Прошивка для создания информера Прошивка для создания информера.bin4096 Kb 52 Скачать
Драйвера CH340 для Windows Драйвера CH340 для Windows.rar245 Kb 42 Скачать
Драйвер CP2102 universal v10.1.8 для Windows 10 Драйвер CP2102 universal v10.1.8 для Windows 10.zip878 Kb 43 Скачать
Драйвер CP2102 v6.7 для Windows 7, 8, XP (32 и 64 bit) Драйвер CP2102 v6.7 для Windows 7, 8, XP (32 и 64 bit).zip3748 Kb 37 Скачать
Драйвер CH9102X для Windows 10, 7, 8 Драйвер CH9102X для Windows 10, 7, 8.zip704 Kb 44 Скачать
EasyHMI 0.1.1 TFT EasyHMI 0.1.1 TFT.zip8117 Kb 85 Скачать

Комментарии

Ваше Имя*


Разработка проектов