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

Пользовательские блоки не подходящее под другие разделы
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
Аватара пользователя
Dryundel
Полковник
Сообщения: 2430
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 30 раз

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

Сообщение Dryundel »

Butt-Menu
.
2020-11-25_193253.jpg
Butt-Menu_(Code_-_Basic).ubi
.
Блок для управления меню с помощью одной кнопки.
Подходит для одно и двух уровневых меню.
Обладает простым, не путанным алгоритмом управления. Самое сложное - вход в меню (три клика) :) Но он и не должен быть слишком простым.
Имеет дополнительные выходы для управления устройством вне меню.

Алгоритм:
- Тройной клик - вход/выход в меню
- Одиночный клик - переход по пунктам меню (вниз)
- Двойной клик - вход/выход в подменю (группу параметров)
- Удержание - увеличение параметра (инкремент)
- Клик+удержание уменьшение параметра (декремент)

Вне меню доступны:

- Одиночный клик
- Двойной клик
- Удержание - инкрементный сигнал (incr0)
- Клик+удержание - инкрементный сигнал (incr1)

При входе в меню выходы "внешнего" управления блокируются и наоборот при активных "внешних" выходах, меню не активно.

Параметры пользователя:

Bounce - таймаут для антидребезга (аналог штатного) Не используйте одновременно со штатным!
LongTime - Таймаут до удержания.
ClickTime - Таймаут между кликами
incrVal - шаг инкремента (время между инкрементными тиками)

Внимание!!! Блоку необходима обратная связь в виде boolean переменной с выхода AG блока меню.

Тестовый проект для испытания данного блока. (Потребуется одна кнопка и дисплей LCD 2004)
Описание проекта:
При запуске контроллера на дисплее рабочее окно (вне меню).
Здесь можно:
"Включить мотор" - одиночный клик,
"Выключить мотор" - двойной клик.
"Прибавить скорость" - удержание,
"Убавить скорость" - клик+удержание

Для входа в меню - тройной клик.
Для выхода из меню в любой момент - так же тройной клик.
С помощью одиночных кликов (с паузой в 1 сек) перемещаемся по пунктам меню вниз. (меню должно быть зациклено)
Для входа в подменю (группу параметров) - двойной клик.
Для выхода в главное меню - так же двойной клик
Для увеличения значения параметра - просто удерживаем кнопку
Для уменьшения значения параметра - один короткий клик + так же удерживаем кнопку.

Гораздо проще попробовать чем описывать. :)
.
2020-11-25_192409.jpg
Button-Menu_1.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Dryundel 25 ноя 2020, 23:27, всего редактировалось 1 раз.
Аватара пользователя
nalnik
Подполковник
Сообщения: 1320
Зарегистрирован: 14 май 2016, 17:12
Откуда: Кисловодск
Имя: Александр

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

Сообщение nalnik »

Dryundel писал(а): 25 ноя 2020, 20:54 Алгоритм:
- Тройной клик - вход/выход в меню
- Одиночный клик - переход по пунктам меню (вниз)
- Двойной клик - вход/выход в подменю (группу параметров)
- Удержание - увеличение параметра (инкремент)
- Клик+удержание уменьшение параметра (декремент)

Вне меню доступны:
- Одиночный клик
- Двойной клик
- Удержание - инкрементный сигнал (incr0)
- Клик+удержание - инкрементный сигнал (incr1)

При входе в меню выходы "внешнего" управления блокируются и наоборот при активных "внешних" выходах, меню не активно.
"Алгоритм" я точно не смогу запомнить, если не тыкать на КНОПКУ каждый день по пять раз в течении месяца.
Скажите как теперь это забыть - я спать до вечера пятницы не смогу, надо выпить. :shok:
Я хочу быть добрее, но люди сами нарываются.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2430
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 30 раз

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

Сообщение Dryundel »

nalnik писал(а): 25 ноя 2020, 21:41 "Алгоритм" я точно не смогу запомнить, если не тыкать на КНОПКУ каждый день по пять раз в течении месяца.
Скажите как теперь это забыть - я спать до вечера пятницы не смогу, надо выпить.
Точно надо выпить. Потом загрузить проект и тестирование пойдет на ура. :D
Аватара пользователя
nalnik
Подполковник
Сообщения: 1320
Зарегистрирован: 14 май 2016, 17:12
Откуда: Кисловодск
Имя: Александр

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

Сообщение nalnik »

Dryundel писал(а): 25 ноя 2020, 21:51 пойдет на ура.
Обычные контактные кнопки "гнать" начнут через пару месяцев, резиновые не подойдут.
Я использую всегда сенсорные - три кнопки (на один аналоговый вход через резисторы)
Я хочу быть добрее, но люди сами нарываются.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2430
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 30 раз

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

Сообщение Dryundel »

nalnik писал(а): 25 ноя 2020, 22:00 Я использую всегда сенсорные - три кнопки (на один аналоговый вход через резисторы)
Ну тады ой. Вы не попали в target group. Звиняйте. :smile44:
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

nalnik писал(а): 25 ноя 2020, 22:00 Я использую всегда сенсорные - три кнопки (на один аналоговый вход через резисторы)
На какой микрухе предпочитаете?
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
nalnik
Подполковник
Сообщения: 1320
Зарегистрирован: 14 май 2016, 17:12
Откуда: Кисловодск
Имя: Александр

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

Сообщение nalnik »

Ingwar писал(а): 25 ноя 2020, 22:11 На какой микрухе предпочитаете?
ttp223

Отправлено спустя 5 минут 10 секунд:
Dryundel писал(а): 25 ноя 2020, 22:06target group
Соблюдайте п. 4 правил форума :smile171:
Я хочу быть добрее, но люди сами нарываются.
Аватара пользователя
Larisa
Рядовой
Сообщения: 21
Зарегистрирован: 20 июл 2023, 20:59
Имя: Лариса
Благодарил (а): 1 раз
Поблагодарили: 5 раз

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

Сообщение Larisa »

nalnik писал(а): 25 ноя 2020, 22:00
Dryundel писал(а): 25 ноя 2020, 21:51 пойдет на ура.
Обычные контактные кнопки "гнать" начнут через пару месяцев, резиновые не подойдут.
Я использую всегда сенсорные - три кнопки (на один аналоговый вход через резисторы)
Поделитесь пожалуйста схемой подключения :smile198: Какого номинала резисторы и как реализовано в FLProg :smile427:
Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 487
Зарегистрирован: 18 сен 2015, 10:04
Откуда: Омск
Благодарил (а): 3 раза
Поблагодарили: 5 раз

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

Сообщение kulibinsvv »

Larisa писал(а): 15 янв 2024, 10:30 Какого номинала резисторы
ЦАП R-2R.png
Последовательный делитель.png
Параллельный делитель.png
Каждая схема имеет свои преимущества и недостатки. Какую использовать - зависит от конкретной реализации.
В архиве файлы моделирования в Multisim14 и ссылки на калькуляторы делителя напряжения и статью, поясняющую работу схем. Знание закона Ома приветствуется. :D
Обработка значений АЦП в FLProg достаточно проста. Не будет получаться - выкладывайте на форум результаты своего творчества. Вам подскажут, что делаете не так.

Отправлено спустя 2 часа 26 минут 45 секунд:
Larisa писал(а): 15 янв 2024, 10:30 и как реализовано в FLProg
Поиск по форуму всё ещё работает. :yes:

Прошу прощения. :smile44: В архиве была "битая" ссылка, перезалил.

Для тех, кому лень качать архив:
Кравченко Виктор, "Arduino: Подключение нескольких кнопок к одному аналоговому входу", 2016г.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
Ответить

Вернуться в «Другое»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей