Как отправить команду для переключения страницы на Smart Display по протоколу Modbus
Предисловие
Для комплексного управления смарт-дисплеем требуется системный интерфейс с протоколом связи, и в данной статье будет приведен демо-сценарий для управления переключением страниц в смарт-дисплее при помощи физической кнопки с применением платы Arduino.
Введение
В данном демо-сценарии мы применим стандартный TFT 3,5 дюйма. для отображения команд переключения страниц полученных от контроллера хоста. Хостом является плата Arduino mega 2560 с ModBus и физической кнопкой. Приложение разработано по указанной ниже схеме:
Схема блоков
Для демо нам потребуются следующие компоненты:
- Smart Display ModBus 3,5’’
- ARDUINO Mega 2560
- Modbus RS485 для ARDUINO Mega 2560
- Arduino IDE v2.0.4
- Modbus Dongle
- Физическая кнопка
- Программное обеспечение GUI-Builder v0.4.2 или выше.
- LED Светодиод
Демонстрация будет поделена на три этапа:
- Проектровка дизайна в GUI Builder.
- Сборка и загрузка проекта.
- Программирование хоста Arduino.
Проектировка дизайна в GUI Builder
Для начала нужно открыть GUI Builder, чтобы создать новый проект и ввести имя проекта. Затем выбрать модель подключаемого дисплея (Smart Display ModBus 3.5’’). Далее требуется выбрать протокол и ориентацию отображения (по-умолчанию ландшафтный). После чего выбрать «Blank» в шаблоне пользовательского интерфейса и, нажать иконку «Create», чтобы создать новый проект, как показано на рис. ниже:
После нажатия на «create» должен открыться интерфейс GUI Builder
Согласно демо-сценарию, требуется добавить еще одну страницу.
Для этого нажмите на «Page», а затем на «+» для создания 2 страницы.
Стиль фона можно изменить нажав на «Resource» в верхней части панели, и выбрав подраздел «Background», который находится слевой стороны.
Стиль фона также можно изменить в разделе «Page info».
Соберите и загрузите проект
По завершении вышеописанных процедур и создания двух разных страниц, пришло время собрать проект. В верхнем углу, справа, нажмите на иконку «Device» и выберите «Device Property». Затем проверьте правильность настроек в появившемся окне «Device Config Window». Далее выбираем правильный COM-порт, устанавливаем скорость передачи данных и нажимаем кнопку «ОК». После этого нажимаем на «Connect to Device», чтобы подключить SmartDisplay. Нажмите иконку «Загрузить», чтобы загрузить проект, как показано на рис. ниже:
По окончании процесса загрузки, нажмите кнопку «ОК»:
По завершении процесса загрузки должен появиться стартовый экран:
Далее после загрузки стартого экрана дисплей переключится на первую страницу, что будет означать удачную загрузку проекта.
Программирование хоста Arduino
Для протоколов связи Modbus используется библиотека ModbusMaster. Важно обратить внимание на адрес подключения хоста к SmartDisplay. Если вы хотите узнать больше о том, как происходит связь между хостом и смарт-дисплеем через RS485, Вы можете просмотреть журнал связи в программе GUI Builder, который откроется после после загрузки проекта и запуске на дисплее. В ней будут все необходимые адреса регистров, которые определяются в программе Arduino IDE, как показано на рис. ниже:
Далее нужно определить режим всех выводов и настроить внешнюю физическую кнопку и светодиод. Затем настроить скорость передачи данных для последовательной связи, как показано на рис. ниже:
Следующий рис. показывает, что когда хост Arduino считывает изменение значения физической кнопки, он отправляет значение на смарт-дисплей через протокол связи Modbus для смены страницы.
После успешной проверки и загрузки программы через Arduino IDE, можно будет перевернуть страницу путем нажатия на физическую кнопку. Когда на экране отображается первая страница, светодиод выключается, а при смене на вторую страницу по нажатию физической кнопки, светодиод включается, как показано на картинке ниже:
Чтобы скачать вышеуказанную программу и получить больше подробностей о данном демо-проекте, пожалуйста перейдите по ссылке на GitHub(https://bit.ly/3oT0o5M) .
Примечание: Для получения дополнительной информации о щите Modbus RS485, который использовался в этом демо-проекте, и просмотра фактической схемы настройки оборудования, Вы можете перейти по ссылке ниже:(https://media.digikey.com/pdf/Data%20Sheets/DFRobot%20PDFs/DFR0259_Web.pdf) .
Процесс создания демо-дизайна Smart Display 3,5 "с физической кнопкой и светодиодом завершен!
Заключение
Целью данной статьи является обучение программированию и симуляции отображения требуемой информации в программе GUI builder. Переключаясь между страницами, пользователь может научиться создавать свои собственные хост-контроллеры с помощью различных протоколов связи, и научить пользователя понять процесс приема и отправки команд через хост.