Урок 4. Переход по страницам и управление GPIO.

В предыдущем уроке мы познакомились с созданием виджета «Кнопка» и добавили кнопки в проект. Кроме функций, которые были рассмотрены в прошлом уроке, у кнопок есть дополнительные функции, которые можно изменить и настроить при создании или редактировании проекта. В этом уроке мы настроим переходы между страницами интерфейса и управление выводами GPIO с помощью кнопок.

Дополнительные возможности кнопки в Easy HMI.

Дополнительные возможности кнопки в Easy HMI.

Давайте откроем предыдущий созданный проект. Выделим любую кнопку, и в свойствах увидим, что у кнопки есть такие параметры как:

  • С фиксацией/Переход стр.: Данный параметр помогает настроить фиксацию кнопки, что было рассмотрено в прошлом уроке, а также добавляет переход по страницам. В разделе «Проект» программы Easy HMI вверху страницы есть вкладки: Главная, Страница 1, Страница 2, Страница 3, Страница 4, Страница 5. На данных дополнительных страницах мы можем добавлять элементы интерфейса, создавая многостраничный интерфейс. И чтобы реализовать переход по страницам проекта, можно задать кнопке свойство перехода на нужную страницу. Подробнее рассмотрим ниже.С фиксацией/Переход стр.
  • GPIO: Позволяет указать, каким пином (выводом GPIO) можно управлять при нажатии на кнопку.GPIO: Позволяет указать, каким пином (выводом GPIO) можно управлять при нажатии на кнопку.
  • Состояние GPIO: Позволяет задать режим работы GPIO при нажатии кнопки: Вкл. — только включение, Выкл. — только выключение, Вкл./Выкл. — попеременное включение и выключение GPIO при каждом нажатии на текущую кнопку.Состояние GPIO

Как это всё работает, рассмотрим далее.

Как это всё работает, рассмотрим далее.

Подготовка проекта. Для перехода по страницам.

Подготовка проекта. Для перехода по страницам.

Давайте на главной странице добавим ещё 2 кнопки и зададим им надписи: «Страница 1» и «Страница 2». Аналогично на страницу 1 добавим кнопки « Главная» и «Страница 2». И на страницу 2 добавим кнопки « Главная» и «Страница 1».

Аналогично на страницу 1 добавим кнопки «Главная» и «Страница 2».

Чтобы задать возможность перехода на нужную страницу, в свойстве «С фиксацией/Переход стр.» выбираем:

  • для кнопки с надписью «Главная» — значение «Главная стр
  • для кнопки с надписью «Страница 1» — значение «Страница 1»
  • для кнопки с надписью «Страница 2» — значение «Страница 2»

Чтобы задать возможность перехода на нужную страницу, в свойстве «С фиксацией/Переход стр.»

При изменении свойств кнопки не забывайте нажимать кнопку «Обновить». Иначе изменения не будут применены. Данные настройки делаем для кнопкок на страницах 1 и 2.

При изменении свойств кнопки не забывайте нажимать кнопку «Обновить». Иначе изменения не будут применены. Данные настройки делаем для кнопкок на страницах 1 и 2.

Для того чтобы загрузить проект на дисплей, нужно по очереди для каждой страницы нажать «Синхронизировать». На дисплее будут появляться соответствующие страницы: Главная, Страница 1, Страница 2.

Для того чтобы загрузить проект на дисплей, нужно по очереди для каждой страницы нажать «Синхронизировать».

Внимание! Важно! Чтобы работать со всеми страницами, нужно нажать кнопку «Обновить на дисплее». Иначе при переходе на другие страницы они будут пустыми. Это сделано для экономии памяти и ускорения просмотра страниц при создании.

Внимание! Важно! Чтобы работать со всеми страницами, нужно нажать кнопку «Обновить на дисплее». Иначе при переходе на другие страницы они будут пустыми. Это сделано для экономии памяти и ускорения просмотра страниц при создании.

Проверка перехода по страницам.

При нажатии на соответствующую кнопку мы переходим на нужную страницу проекта. Так легко и просто можно сделать многостраничный интерфейс.

Подготовка проекта для управления GPIO в Easy HMI.

Подготовка проекта для управления GPIO в Easy HMI.

На страницах 1 и 2 у нас есть кнопки для перехода по страницам. Давайте добавим ещё 4 кнопки, как на главной странице. Для страницы 1 напишем аналогичные надписи на кнопках: «Вентилятор», «Вытяжка», «Свет», «Подогрев». Проект подготовлен, теперь можно настраивать управление GPIO.

Схема подключения светодиодов к GPIO: 4, 18, 23, 27.

Схема подключения светодиодов к GPIO: 4, 18, 23, 27.

Для тестирования давайте подключим светодиоды к соответствующим контактам платы дисплея. Кроме светодиодов, можно управлять реле, MOSFET-транзисторами и пр.

Кнопка с фиксацией. Включение и выключение GPIO при нажатии на кнопку.

Самая распространенная схема управления GPIO — это включение и выключение (например, светодиода) при нажатии на кнопку с фиксацией. Получаем своего рода выключатель. Для этого выберем кнопку « Вентилятор» и сделаем следующие настройки:

  • С фиксацией/Переход стр.: С фиксацией (Кнопка работает как переключатель с фиксацией)
  • GPIO: GPIO04 (Управляем выводом GPIO с номером 4)
  • Состояние GPIO: Вкл./Выкл. (Каждое нажатие меняет состояние GPIO (Вкл -> Выкл, Выкл -> Вкл))

Кнопка с фиксацией. Включение и выключение GPIO при нажатии на кнопку.

Аналогично делаем для других кнопок, меняя GPIO на 18, 23, 27 соответственно.

Аналогично делаем для других кнопок, меняя GPIO на 18, 23, 27 соответственно.

Всё готово, можно проверить работу. Как видим, при нажатии светодиод включается, а при повторном нажатии — выключается.

Кнопка без фиксации. Включение и выключение GPIO при нажатии на кнопку.

Кнопка без фиксации. Включение и выключение GPIO при нажатии на кнопку.

Этот режим работы GPIO (удержание) встречается реже, но может быть полезен, например, для управления движением в ЧПУ-станках или моделях, где действие выполняется только при удержании кнопки. Для этого выберем кнопку «Вентилятор» на странице 1 и сделаем следующие настройки:

  • С фиксацией/Переход стр.: Нет (Кнопка не фиксируется, работает только при нажатии)
  • GPIO: GPIO04 (Управляем выводом GPIO с номером 4)
  • Состояние GPIO: Вкл./Выкл. (GPIO включается при нажатии и выключается при отпускании)

Этот режим работы GPIO (удержание) встречается реже

Аналогично делаем для других кнопок, меняя GPIO на 18, 23, 27 соответственно.

Аналогично делаем для других кнопок, меняя GPIO на 18, 23, 27 соответственно.

Всё готово, можно тестировать. Как видим, светодиод светит, пока кнопка нажата. При отпускании светодиод гаснет.

Кнопка без фиксации. Включение GPIO при нажатии на одну кнопку и выключение при нажатии на другую кнопку.

Кнопка без фиксации. Включение GPIO при нажатии на одну кнопку и выключение при нажатии на другую кнопку.

Этот вариант управления GPIO встречается реже всего. Для данного варианта давайте создадим 4 кнопки на странице 2 и назовём их: «Вытяжка Вкл.», «Вытяжка Выкл.», «Свет Вкл.» и «Свет Выкл.».

Этот вариант управления GPIO встречается реже всего. Для данного варианта давайте создадим 4 кнопки на странице 2 и назовём их: «Вытяжка Вкл.», «Вытяжка Выкл.», «Свет Вкл.» и «Свет Выкл.».

Далее выбираем кнопку «Вытяжка Вкл.» и настраиваем:

  • С фиксацией/Переход стр.: Нет (Кнопка без фиксации)
  • GPIO: GPIO04 (Управляем выводом GPIO с номером 4)
  • Состояние GPIO: Вкл. (Только включает GPIO при нажатии)

Далее выбираем кнопку «Вытяжка Вкл.» и настраиваем

Для кнопки «Вытяжка Выкл.» настраиваем:

  • С фиксацией/Переход стр.: Нет (Кнопка без фиксации)
  • GPIO: GPIO04 (Управляем тем же выводом GPIO 4)
  • Состояние GPIO: Выкл. (Только выключает GPIO при нажатии)

Для кнопки «Вытяжка Выкл.» настраиваем

Аналогично сделаем для кнопок «Свет Вкл.» и «Свет Выкл.», изменив только GPIO на GPIO23.

На странице 2 мы настроили управление GPIO 4 и 23 так, что бы при нажатии на одну кнопку светодиод включается, а при нажатии на другую — выключается. Такое решение бывает нужно, когда требуется включить устройство на одной странице, а выключить — на другой.


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

Заключение.

Это основные функции, позволяющие работать с кнопками. Также можно работать с кнопками и страницами удалённо по UART, отправляя команды, как описано в статье «Описание UART протокола для Easy HMI 0.1.0». В следующем уроке поговорим о том, как можно с помощью Arduino отправлять команды для перехода по страницам, а также для блокировки и разблокировки кнопок на дисплее.


Понравился Урок Навигация по страницам и управление GPIO кнопками? Не забудь поделиться с друзьями в соц. сетях.

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

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

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

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

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

Проект урок 4 Проект урок 4.zip13 Kb 27 Скачать

Комментарии

Ваше Имя*


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