Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Ответить

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Пн июн 07, 2021 16:42:33

Я обычно делаю так: При нажатии кнопки запускается таймер-счётчик, отсчитываем антидребезг, далее в зависимости от значения счетчика выбираем нужную функцию (переход на следующую функцию отмечается BEEP-ом или визуально), при отпускании опять отсчитываем антидребезг, обнуляем счётчик и выполняем выбранную функцию.

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Пн июн 07, 2021 17:39:09

На один тык кнопки 2 обработчика, так что ли?

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Пн июн 07, 2021 17:54:05

Я в принципе опрашиваю кнопки раз в 20-50мс. Антидребезг получается автоматически. И таки да - нажатие кнопки -> событие, отпускание кнопки -> событие.

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Пн июн 07, 2021 18:27:45

Как-то не хватало кнопок, пришлось использовать штатный компаратор контролера. (на 1пин повесил 5кнопок.)

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Пн июн 07, 2021 20:01:01

блин, я не понимаю одного: меня интересует удобство пользователя, а не техническая реализация! какая разница, сколько событий - удобно пользователю, если реакция на нажатие или на отпускание? - вот что меня интересует!

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Пн июн 07, 2021 23:33:51

ARV, так уже ж порешали.
Если короткое и длинное нажатия - разные действия, то короткое - по отпусканию, длинное - по превышению периода для длинного.
Если действие по длинному нажатию есть продолжение/развитие действия по короткому (как клик и даблклик в винде) - то можно короткое по нажатию отлавливать.

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Вт июн 08, 2021 07:57:00

GoldenAndy писал(а):так уже ж порешали
так и я, вроде как, об этом. но граждане продолжают рассказывать о том, как технически реализовывали свои проекты...

по отпусканию есть один нюансик: в часах сброс секунд в 0 по отпусканию - надо привыкать. имхо, инстинктивноинтуитивно это действие рассчитано на момент нажатия.

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Вт июн 08, 2021 09:00:24

нормально: пока держишь часы стоят на 0.000 сек, как отпустил - побежали миллисекунды набираться, и секунды за ними...

Добавлено after 43 seconds:
Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алгоритм
или я не о том?

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Вт июн 08, 2021 09:12:38

о том, о том :)

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Вт июн 08, 2021 09:36:35

в часах сброс секунд в 0 по отпусканию
Вот не знаю. Для меня сброс секунд по отпусканию - тоже неочевидное действие.
Я обычно в своих часах делаю отдельный режим установки времени и секунды обнуляю в момент нажатия "Ок" и сохранения установленных часов-минут в DS3231.
Даже с китайскими DS-ками это нужно очень редко....
И стараюсь интерфейс сделать без длинных нажатий. С точки зрения UI короткое/длинное нажатие - это менее очевидное решение, нежели две кнопки.
И стараюсь короткое+длинное применять только в случае, если конструктив/идеология/корпус требуют ограниченное число кнопок - тогда уже да.
Ну или штатно длинное нажатие можно применять только как защиту от случайного нажатия при входе в какой то супер-режим или включение/выключение (но тогда короткого не должно быть).
"Нажмите для входа в режим А. Нажмите и держите 2 секунды для входа в режим Б. Нажмите и держите 5 секунд для входа в режим В. В течении 2 секунд нажмите кнопку 4 раза - для входа в режим Г. Для самоуничтожения устройства нажмите кнопку 10 раз за три секунды."

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Вт июн 08, 2021 13:39:27

Вопрос,а что в часах на микрокроконтроллере нельзя реализовать элементарное управление,как в часах на логике.1-я кнопка - установка 0 в последнем разряде по отпусканию,для коррекции,2-я кнопка - счёт начиная со второго разряда по нажатию, и всё.Имхо,будильник -это лишнее,всё равно вряд ли будет использоваться,коррекция требуется редко и хитрые алгоритмы забываются

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Вт июн 08, 2021 14:07:57

Реализовать можно все, что угодно, вопрос лишь в удобстве.
Например, если вспомнить часы "7 мелодий", которые в конце 80-ых годов прошлого века были просто суперпопулярны, то управление там велось всего 3-я кнопками, причем алгоритм управления "вычислялся" методом тыка элементарно (то есть был очень прост, но логичен), а функций было просто куча: часы с 24 и 12 форматом и "вечным" календарем, будильник, секундомер, таймер обратного счета, выбор мелодий и ежечасного сигнала...
то есть если управление удобное, то количество функций не становится преградой даже без инструкции

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Вт июн 08, 2021 14:20:19

ARV, Если речь про "Монтану", то дааааа.... :)
Но там длинное нажатие вроде бы было только для запуска установки времени. Хотя я могу и ошибаться - более 30 лет прошло с того момента как я их в руках держал.
Ну и, соответственно - ответ на ваш изначальный вопрос :) Всё зависит от ожидаемого функционала. См. выше "Уже порешали" :)

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Вт июн 08, 2021 14:31:06

нет, у монтаны не было вечного календаря (день недели ставился отдельно), длинные нажатия не использовались вовсе (вроде использовалось только удержание для удерживания секунд на нуле при подстройке... но это не точно, а батарейку покупать и вставлять лень) зато использовались комбинации ALT+MODE=вкл/откл будильника, DATE+MODE=вкл/откл почасового пиканья.
и мелодий у неё 8 в старой версии и 16 в более новой.
но, так-да, управление интуитивно понятное.

Добавлено after 2 minutes 21 second:
Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алгоритм
т.ч. скорее всего речь про советские типа электроники...

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Вт июн 08, 2021 15:12:07

Вот и я про удобство,часы делаются,устанавливается время,а дальше на них типа время смотрят.Иногда производят коррекцию времени и всё.Все другие функции часов не востребованы,имхо,часы как бы не игровая приставка

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Вт июн 08, 2021 15:18:30

Ivanoff-iv, тема скатывается в ретровоспоминания :)
У меня Монтаны не было никогда, была простая Электроника-5. С одним тупым будильником, который пищит 30 сек. И с установкой дня недели вручную.
Потом была белорусская Электроника-53 с 3 мелодиями. Но там тоже день недели надо было выставлять руками.

Борисович, Речь не только про часы, а общий вопрос, как в интерфейсе с пользователем при наличии кнопок обрабатывать короткое и длинное нажатие.
К консенсусу пришли вроде. Заодно народ умных мыслей накидал, как опрашивать кнопки. Хотя речь изначально шла про UI.

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Вт июн 08, 2021 20:05:51

По-моему на вопрос ТС уже ответили и дискутирующие стороны пришли к консенсусу, и уже начались отклонения от темы. Продолжая эту линию, спросил себя зачем вообще нужно различать длинные/короткие/многократные/одновременные нажатия на кнопки и выбирать реакцию по нажатию или отпусканию? Могу представить пару сценариев, связанных с минимизацией числа кнопок в устройстве или реализации сложного интерфейса на ограниченном числе кнопок, или что-то подобное. Однако, усложнение кнопочного интерфейса приводит к нежелательным последствиям, таким как неестественность (большинство людей ожидают реакции устройства сразу по нажатию кнопок) или незнанием как пользоваться устройством без инструкции. Да и сам разработчик может легко забыть как пользоваться своим устройством, если какие-то функции используются редко. У меня такое происходит с незавидной периодичностью даже при общении с промышленными изделиями, а инструкции имеют свойство теряться или отсутствовать под рукой когда требуется.

В частности, касательно обсуждаемого здесь интерфейса установки времени в часах, я вообще не вижу смысла в кнопках в современных конструкциях. На сайте есть несколько примеров часов с автоматической установкой времени по WiFi, я в своих последних проектах часов (пример, и обкатываемый на монтажке прототип новых) использую Bluetooth и смартфон для этой цели. В обоих случаях время/дата устанавливается за 0-2 клика. Используя беспроводные настройки гораздо проще реализовать интуитивно понятный всем и несравненно более дружественный интерфейс по сравнению с кнопками на передней панели. Не понимаю почему этот подход до сих пор не стал массовым по крайней мере в любительских проектах часов.

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Вт июн 08, 2021 20:15:44

не быдет в этом консенцусоф ибо это нонсенс скока людей стока мнений
поэтому либо делайте ка вам кажется удобным или повторяйте китайский стандарт вввода

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Вт июн 08, 2021 20:32:20

Ser60 писал(а):Не понимаю почему этот подход до сих пор не стал массовым по крайней мере в любительских проектах часов.
чего ж тут непонятного?! есть вещи, которые от современных модных фишек становятся только хуже. это, кстати, объясняет, почему за малым не 80% аппаратных фич смартфонов никогда не задействуются большинством владельцев. аналогичная ситуация с компьютерами, телевизорами и т.п. это примерно как 45-я скорость на проигрывателях виниловых дисков: вроде круто, что есть, а дисков-то нет...

имхо, при наличии смартфона с WiFi/Bluetooth необходимость в отдельных часах следует аргументировать куда сильнее, чем наличие в часах WiFi/Bluetooth... лучше часов, чем уже есть в смартфоне, радиолюбитель не сделает никогда.

Re: Кнопки: короткое и долгое нажатие. Наиболее удобный алго

Вт июн 08, 2021 21:06:14

Находясь вне дома практически все носят сегодня с собой смартфон, который для многих уже заменил наручные часы. В этом я согласен. Однако, дома почти все наряду со смартфоном имеют и стационарные часы (и не одни), читать время на которых более удобно и оперативно. Не все-же носят смартфоны дома в кармане, скорее всего он лежит где-то на тумбочке (на зарядке) как обычный телефон и подходить к нему каждый раз посмотреть время неудобно. Но дело даже не в этом. Несмотря на смартфоны, любители и промышленность создают всё новые проекты часов, или повторяют старые, и это массово. Многие даже на Nixie делают и это полулярно, но лишь единицы отказываются от кнопок в часах. Про стационарные часы я и писал выше, и по-моему удобство синхронизации времени и даты на них с мобильником за 2 клика по экрану неоспоримо гораздо удобнее, чем с кнопок. Я уже писал здесь в статье про ночные часы с акселерометром, управляющим подсветкой экрана. Многим мешает постоянный свет от часов в спальне. Даже при наличии мобильника на прикроватной тумбочке стукнуть по ней ночью для чтения времени более удобно чем шарить рукой и искать на ней мобильник, нажимать его кнопку, и приподниматься или ориентировать мобильник экраном к себе. Там управление было кнопками, но после того как я показываю людям как устанавливать время мобильником, абсолютно все говорят "и я такую-жу хочу". После моего первого проекта таких часов, я получил уже массу заказов от знакомых и их знакомых, прямо хоть бизнес открывай, так что я здесь озвучил не только своё мнение.
Ответить