цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Good Enough Menu – функциональная библиотека создания многоуровневого меню для Arduino


Good Enough Menu – функциональная библиотека создания многоуровневого меню для Arduino

Автор: Mike(admin) от 27-06-2022, 19:55

Недавно энтузиаст под ником Spirik написал библиотеку для создания графического меню для Arduino. Она называется Good Enough Menu (GEM). Это библиотека Arduino для создания графического многоуровневого меню с редактируемыми элементами, такими как переменные (поддерживает типы данных int, byte, float, double, boolean, char) и выбор опций.


Good Enough Menu – функциональная библиотека создания многоуровневого меню для Arduino

Она поддерживает кнопки, которые могут вызывать определяемые пользователем действия и создавать контекст для конкретных действий, который может иметь собственные обратные вызовы входа (настройки) и выхода, а также функцию цикла. Она также поддерживает графические библиотеки AltSerialGraphicLCD, U8g2 и Adafruit GFX.


Библиотека (https://github.com/Spirik/GEM) снабжена всей необходимой документацией и аннотированными примерами, а также разделом Wiki на GitHub, в котором есть дополнительные руководства для предоставленных примеров и инструкций.


Возникает вопрос – когда ее использовать? Ее можно использовать, если вы хотите оснастить свой проект графическим ЖК-дисплеем и позволить пользователю выбирать различные параметры и настройки для изменения его работы. Будь то панель управления умным домом или простая настраиваемая светодиодная лента, GEM предоставит все необходимые элементы управления для редактирования переменных и навигации по подменю, а также запуска пользовательских функций.


Меню, созданное с помощью библиотеки GEM, состоит из трех базовых элементов:


  • пункт меню (класс GEMItem) – представляет ассоциированную переменную, кнопку или ссылку на следующий уровень меню (страницу меню)
  • страница меню (класс GEMPage) – состоит из списка пунктов меню и представляет собой уровень меню
  • сам объект меню (GEM, или GEM_u8g2, или класс GEM_adafruit_gfx) – может иметь несколько страниц меню (связанных друг с другом) с несколькими пунктами меню в каждой.

Good Enough Menu – функциональная библиотека создания многоуровневого меню для Arduino

Давайте рассмотрим один из примеров, Example 03: Party Hard!, который поставляется с библиотекой. Формат библиотеки совместим с Arduino IDE 1.5.x+. Установить библиотеку можно двумя способами. Первый – загрузите ZIP-архив прямо из раздела «Releases» репозитория GitHub и распакуйте его в папку GEM внутри папки вашей библиотеки. Второй – используя диспетчер библиотек (начиная с Arduino IDE 1.6.2): перейдите в Sketch - Include Library - Manage Libraries внутри Arduino IDE и найдите библиотеку GEM, затем нажмите «Install».


Тестовый стенд для версии библиотеки U8g2 состоит из графического ЖК-экрана 128x64 (с добавлением одного потенциометра для управления контрастностью экрана) и 6 кнопок (переключателей мгновенного действия), используемых для навигации по меню: четыре кнопки выбора направлений, отмена и Ок. Схема подключения следующая:


Good Enough Menu – функциональная библиотека создания многоуровневого меню для Arduino

Вот как это может выглядеть на макетной плате:


Good Enough Menu – функциональная библиотека создания многоуровневого меню для Arduino

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


Good Enough Menu – функциональная библиотека создания многоуровневого меню для Arduino



© digitrode.ru


Теги: Arduino




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

Комментарии:

Оставить комментарий