Управление меню на энкодере

Ответить
Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Управление меню на энкодере

#1

Сообщение Ingwar » 19.06.2018{, 12:54}

Рабочий кусок проекта для управления меню с помощью энкодера. (не претендую на оптимальное решение)

Подключение энкодера по схеме
Кнопка энкодера замыкается на (-).

Алгоритм:
Вращение - навигация по меню и/или подменю, изменение параметров
Кратковременное нажатие - вход в подменю или сохранение изменения параметра
Нажатие 1-2 секунды - переход в режим изменения параметра
Нажатие 3 и более секунд - возврат из подменю с сохранением измененных параметров

При вращении на 1 щелчек, энкодер выдает 4 импульса.
Но использование дисплеев на I2C обеспечивает "проглатывание" пачки и навигация по пунктам соразмерна (примерно) щелчкам.
Если же проект "легкий", можно добавить таймеры на отключение (100-500мс) в цепях после блоков сравнения ("вперед" "назад").
Пример_меню_энкод.flp
(342.26 КБ) 387 скачиваний
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
gerdog
Рядовой
Сообщения: 42
Зарегистрирован: 04.01.2018{, 07:46}
Репутация: 2

Управление меню на энкодере

#2

Сообщение gerdog » 09.07.2018{, 20:53}

Отлично, ещё бы при помощи энкодера включать/отключать меню, скажем при 5 секундном нажатии на его кнопку

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Управление меню на энкодере

#3

Сообщение Ingwar » 09.07.2018{, 22:50}

Можно например привязаться к изменению значения на энкодере.
При вращении включается меню и выводятся его данные. При отсутствии вращения через заданное в таймере время выводятся другие данные (например показания с датчиков).
СпойлерПоказать
меню.png
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
ViktorPetrov
Лейтенант
Сообщения: 678
Зарегистрирован: 09.04.2018{, 23:56}
Репутация: 49
Имя: Виктор

Управление меню на энкодере

#4

Сообщение ViktorPetrov » 10.07.2018{, 02:29}

Блок пригодится Интеллектуальная кнопка. Можно ,еще схему оптимизировать
СпойлерПоказать
энкодер оптимизация.flp
Исключил из расчета МК блоки И
(565.89 КБ) 174 скачивания

Утвш
Сержант
Сообщения: 129
Зарегистрирован: 02.12.2016{, 07:31}
Репутация: 1

Управление меню на энкодере

#5

Сообщение Утвш » 02.12.2018{, 20:55}

Хочу вставить и свои 5 копеек. К сожалению не увидел вовремя сборку "энкодер оптимизация" от уважаемого ViktorPetrov, поэтому сочинил свою.
Управление_меню_от_энкодера_(FBD).ubi
(161.77 КБ) 179 скачиваний
При этом использовал блоки
Encoder (CODE).ubi
Блок в версии 4.02 не компилируется.
(117.89 КБ) 159 скачиваний
и
Направление_энкодера_(FBD).ubi
(121.33 КБ) 139 скачиваний
. Соединение блоков
Соединение блоков.jpg
Сборка позволяет полное управление сложным меню с переключением пунктов меню по кольцу. Сборка создана в версии программы 3.03. К сожалению в версии 4.2 сборка не компилируется из-за блока "Encoder" изменить который я, к сожалению, не могу.

Аватара пользователя
ViktorPetrov
Лейтенант
Сообщения: 678
Зарегистрирован: 09.04.2018{, 23:56}
Репутация: 49
Имя: Виктор

Управление меню на энкодере

#6

Сообщение ViktorPetrov » 02.12.2018{, 21:44}

Оптимизировал свой проект ,блок энкодер и меню теперь по такой схеме выключаю
СпойлерПоказать
меню.png
Вложения
меню.flp
(294.83 КБ) 238 скачиваний

Ответить

Вернуться в «Проекты различных устройств на Arduino»