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

Кратковременное и долгое нажатие кнопки.

Добавлено: 26 янв 2016, 18:54
Noname
Добрый вечер. Вот ломаю голову и не могу понять кое что. Допустим есть кнопка, к примеру, на пин 1. При кратковременном нажатии выполняется действие #1, а при долгом (2сек) выполняется действие #2, при этом действие #1 не должно выполняться. Сигнал после удержания реализовал таймером с задержкой включения(TON). Не могу понять как запретить действие #1 при удержании..

Кратковременное и долгое нажатие кнопки.

Добавлено: 26 янв 2016, 19:17
Vitez
Элементам "И" С кнопки  подаем статус на вход 1, вход 2 инвертируем. К входу 2 подключаем выход с таймера. На выходе будет статус кнопки (ON/OFF) - если не сработал таймер.

Кратковременное и долгое нажатие кнопки.

Добавлено: 26 янв 2016, 20:35
Noname
По Вашей схеме при удержании кнопки импульс пойдёт и на действие #1. Так как таймер с задержкой.

Кратковременное и долгое нажатие кнопки.

Добавлено: 26 янв 2016, 20:49
DerAlex
Нужно чтобы программа отслеживала нажатие и отпускание клавиши.По нажатию запускается счетчик, по отпусканию останавливается.Компаратор на выходе определяет команду - №1 или № 2.

Кратковременное и долгое нажатие кнопки.

Добавлено: 26 янв 2016, 21:01
Vitez
Как только сработает таймер, выход с элемента "и" прервется. Попробуйте. Главное, не забутьте инвертироварь вход 2.

Кратковременное и долгое нажатие кнопки.

Добавлено: 26 янв 2016, 21:03
Сергей
Noname, Вот блок обработки джойстика. В нем я реализовал функцию удержания нажатия кнопки. На фото обведено. Сигнал с кнопки подается на эту схему. Так же в блоке реализовано разрешение этой функции.
2 выхода. 1) - кратковременное нажатие (единица на нем появляется после отпускания кнопки, если длит. ее нажатия не превысила значения таймера TON. А если удержание превысило ТОН, то единица появляется на втором выходе, а первый блокируется)
2) удержание кнопки


Кратковременное и долгое нажатие кнопки.

Добавлено: 26 янв 2016, 21:06
Сергей
DerAlex писал(а):По нажатию запускается счетчик, по отпусканию останавливается.Компаратор на выходе определяет команду - №1 или № 2.
не прокатит. Так удержание кнопки не сработает до тех пор пока не отпустишь кнопку. А надо при удержании белее чем ...сек, что бы появлялся сигнал об удержании кнопки. И ее можно так и дальше удерживать.

Кратковременное и долгое нажатие кнопки.

Добавлено: 26 янв 2016, 21:44
DerAlex

Кратковременное и долгое нажатие кнопки.

Добавлено: 27 янв 2016, 00:32
vlad
.при коротком нажатии и отпускании выполняется действие 1 , если нажать и держать то действие 2 и действие 1 не выполняется.

Кратковременное и долгое нажатие кнопки.

Добавлено: 27 янв 2016, 05:58
DerAlex
Ну если работает четко, то более предпочтительно более короткая программа , места в памяти занимает меньше

Кратковременное и долгое нажатие кнопки.

Добавлено: 27 янв 2016, 06:46
vlaks
В своё время дела так. У меня всё работает.

Кратковременное и долгое нажатие кнопки.

Добавлено: 27 янв 2016, 21:33
Noname
Vitez писал(а):Как только сработает таймер
 в том то и дело, что он сработает после..

Добавлено (27.01.2016, 21:33)
---------------------------------------------
Всем спасибо, проблему решил) Тоже смотрел в сторону компараторов, но нутром чуял, что можно сделать проще. В моей программе хватило просто добавить перед кнопкой Rtrig с инвертированным входом, как советовали Сергей и vlad.

Потел, потел;но, наконец, устал,
От Ларчика отстал
И, как открыть его, никак не догадался:
А Ларчик просто открывался. ©