Прошу испытать в железе т.к. пока нет возможности.
В Протеусе все работает на ура.
Комментарии и критика приветствуются.
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 - Интеллектуальная кнопка
- Dryundel
- Полковник
- Сообщения: 2405
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
IntButton - Интеллектуальная кнопка
Последний раз редактировалось Dryundel 07 июл 2017, 21:05, всего редактировалось 1 раз.
- Pratak
- Сержант
- Сообщения: 206
- Зарегистрирован: 08 фев 2016, 20:21
- Имя: Дмитрий
- Благодарил (а): 1 раз
IntButton - Интеллектуальная кнопка
Работает да не очень. Если на пару секунд зажать кнопку, она включается есть 1 на долгом. Если снова зажать - 1 на долгом и 1 на двойном. Ну а дальше как карта ляжет. Если не передерживать кнопку то вроде нормально.
Последний раз редактировалось Pratak 13 июл 2017, 19:27, всего редактировалось 1 раз.
- Dryundel
- Полковник
- Сообщения: 2405
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
IntButton - Интеллектуальная кнопка
Про который из блоков идет речь? Уточните пожалуйста.Pratak писал(а):Работает да не очень.
InButtonV1 тестировал по всякому, вроде проблем не обнаружил.
Старт и стоп длинного нажатия не так уж часто надобится. Поэтому не знаю, стоит ли вообще их делать.
- Pratak
- Сержант
- Сообщения: 206
- Зарегистрирован: 08 фев 2016, 20:21
- Имя: Дмитрий
- Благодарил (а): 1 раз
IntButton - Интеллектуальная кнопка
InButtonV1 работает, но только надо строго следить за нажатиями. Если в процессе зажать кнопку на пару секунд или больше - то уже не управляется как надо. Беспорядочно моргает диодами при нажатиях хоть одинарных, хоть двойных.
- Dryundel
- Полковник
- Сообщения: 2405
- Зарегистрирован: 22 май 2017, 23:15
- Откуда: Ярославль
- Имя: Андрей
- Поблагодарили: 15 раз
IntButton - Интеллектуальная кнопка
Мне не удалось повторить данный глюк.Pratak писал(а):Если в процессе зажать кнопку на пару секунд или больше - то уже не управляется как надо.
Не могли бы Вы выложить проект для тестирования?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей