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

IntButton - Интеллектуальная кнопка

Добавлено: 07 июл 2017, 21:03
Dryundel
Прошу испытать в железе т.к. пока нет возможности.
В Протеусе все работает на ура.
Комментарии и критика приветствуются.

  Betta версия
Создано по мотивам библиотеки OneButton.

Блок распознает разные типы нажатий и выдает короткий импульс (логическую 1) на соответствующие выходы One, Doubl, LongStart и LongStop.
На выходе DurLong подается логическая 1 с момента срабатывания режима DurLong и до прекращения подачи сигнала на вход (in).

Выходы:
One;  Выход одиночного нажатия.
Doubl;  Выход двойного нажатия.
LongStart;  Выход старт удержания.
LongStop;  Выход стоп удержания.
DurLong;  Выход во время удержания.

Отличительные особенности в сравнении с использованием OneButton:
- Малый размер
- Не требуются библиотеки
- Не привязан к физическим входам
- Есть возможность использовать с блоками типа: "несколько кнопок на одном пине"
- Можно настраивать длительность импульса на выходах
- Нет функции антидребезга (включить самостоятельно на входах)
- Не умеет автоматически распознавать подключение подтягивающего резистора (при использовании подтягивающего резистора необходимо инвертировать вход)

Скачать IntButton

Добавлено (07.07.2017, 21:03)
---------------------------------------------
Блок InButton_b протестирован. Выявлена не совсем корректная работа. Отладка пока не увенчалась успехом.

Поэтому создан упрощенный, но 100% рабочий блок InButtonV1

Скачать InButtonV1

Выходы:
One - Выход одиночного нажатия (короткий импульс).
Doubl - Выход двойного нажатия (короткий импульс).
DurLong - Выход "во время удержания" (длительный сигнал).

Настраиваемые парамеры:
Tout - Время задержки логической единицы на выходах One и Doubl (ms).
doub - Время ожидания двойного клика  (ms)
hold - Время ожидания удержания (ms)

IntButton - Интеллектуальная кнопка

Добавлено: 13 июл 2017, 19:03
Pratak
Работает да не очень. Если на пару секунд зажать кнопку, она включается есть 1 на долгом. Если снова зажать - 1 на долгом и 1 на двойном. Ну а дальше как карта ляжет. Если не передерживать кнопку то вроде нормально.

IntButton - Интеллектуальная кнопка

Добавлено: 13 июл 2017, 22:04
Dryundel
Pratak писал(а):Работает да не очень.
Про который из блоков идет речь?  Уточните пожалуйста.
InButtonV1 тестировал по всякому, вроде проблем не обнаружил.
Старт и стоп длинного нажатия не так уж часто надобится. Поэтому не знаю, стоит ли вообще их делать.

IntButton - Интеллектуальная кнопка

Добавлено: 14 июл 2017, 19:32
Pratak
InButtonV1 работает, но только надо строго следить за нажатиями. Если в процессе зажать кнопку на пару секунд или больше - то уже не управляется как надо. Беспорядочно моргает диодами при нажатиях хоть одинарных, хоть двойных.

IntButton - Интеллектуальная кнопка

Добавлено: 14 июл 2017, 20:19
Dryundel
Pratak писал(а):Если в процессе зажать кнопку на пару секунд или больше - то уже не управляется как надо.
Мне не удалось повторить данный глюк.
Не могли бы Вы выложить проект для тестирования?

IntButton - Интеллектуальная кнопка

Добавлено: 14 дек 2017, 21:41
Imran
Работает четко огромное спасибо автору

IntButton - Интеллектуальная кнопка

Добавлено: 17 янв 2018, 15:06
bester
Почему то у меня одиночные и двойные нажатия не срабатывают