Страница 1 из 1

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

Добавлено: 19 июн 2018, 12:54
Ingwar
Рабочий кусок проекта для управления меню с помощью энкодера. (не претендую на оптимальное решение)

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

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

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

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

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

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

Добавлено: 09 июл 2018, 22:50
Ingwar
Можно например привязаться к изменению значения на энкодере.
При вращении включается меню и выводятся его данные. При отсутствии вращения через заданное в таймере время выводятся другие данные (например показания с датчиков).
[spoiler]
меню.png
[/spoiler]

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

Добавлено: 10 июл 2018, 02:29
ViktorPetrov
Блок пригодится Интеллектуальная кнопка. Можно ,еще схему оптимизировать [spoiler]
энкодер оптимизация.flp
[/spoiler]

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

Добавлено: 02 дек 2018, 20:55
Утвш
Хочу вставить и свои 5 копеек. К сожалению не увидел вовремя сборку "энкодер оптимизация" от уважаемого ViktorPetrov, поэтому сочинил свою.
Управление_меню_от_энкодера_(FBD).ubi
При этом использовал блоки
Encoder (CODE).ubi
Интеллектуальная_кнопка_V1_(CODE).ubi
и
Направление_энкодера_(FBD).ubi
. Соединение блоков
Соединение блоков.jpg
Сборка позволяет полное управление сложным меню с переключением пунктов меню по кольцу. Сборка создана в версии программы 3.03. К сожалению в версии 4.2 сборка не компилируется из-за блока "Encoder" изменить который я, к сожалению, не могу.

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

Добавлено: 02 дек 2018, 21:44
ViktorPetrov
Оптимизировал свой проект ,блок энкодер и меню теперь по такой схеме выключаю [spoiler]
меню.png
[/spoiler]