Долгой нажатие

Вопросы по подключению кнопок и клавиатур
tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Долгой нажатие

#1

Сообщение tolibbass » 26.11.2016{, 15:29}

Добый день профессионалам и не только. Есть схема управления освещением. Алгоритм такой: при первом нажатии включается 1ый светодиод, при втором  -  2ой, при третьем - оба выключаются. Также надо чтоб светодиоды выключались при долгом нажатии, даже если горит только один. Включение реализовано на счетчике. А долгое нажатие до ума не могу довести. При подаче питания сразу загорается 1ый светодиод. Переключения идут нормально, но при долгом нажатии ничего не происходит. Помогите советом
Вложения
0088947.png

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Долгой нажатие

#2

Сообщение tolibbass » 26.11.2016{, 15:34}

Схема в Протеусе
Вложения
8878709.png

WZV
Сержант
Сообщения: 216
Зарегистрирован: 06.09.2015{, 14:31}
Репутация: 24

Долгой нажатие

#3

Сообщение WZV » 26.11.2016{, 15:55}

Длинное и короткое нажатие, схема Сергея Глушенко
Вложения
2483378.jpg

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Долгой нажатие

#4

Сообщение tolibbass » 26.11.2016{, 15:57}

Спасибо.Попробую

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Долгой нажатие

#5

Сообщение Phazz » 26.11.2016{, 16:05}

А если алгоритм немного изменить? Короткие нажатия переключают с 1 на 2 светодиода и обратно. А длинное выключает полностью.

Аватара пользователя
Dev1
Майор
Сообщения: 1026
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 59
Откуда: Гондурас

Долгой нажатие

#6

Сообщение Dev1 » 26.11.2016{, 16:16}

Судя по схеме протеуса кнопка подключена на +5в и подтянута резистором на 0, т.е. на выходе 0, а при нажатии выдается 1. В FLProg же кнопка инвертирована, т.е. постоянно на выходе 1, а при нажатии 0. Для нормальной работы(логики) лучше либо в протеусе изменить кнопку на землю и резистор на +5в, либо в FLProg снять инвертирование на кнопке, чтоб не путаться. Тогда будет на выходе 0, а при нажатии 1, что требуется для работы блоков программы.
Win10-64 FLProg v7.5.2 Portable :fie:

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Долгой нажатие

#7

Сообщение tolibbass » 26.11.2016{, 16:34}

Пробовал менять подключение, на землю. тогда вообще не работает

Добавлено (26.11.2016, 16:27)
---------------------------------------------
Phazz писал(а):А если алгоритм немного изменить? Короткие нажатия переключают с 1 на 2 светодиода и обратно. А длинное выключает полностью. треть выключаются оба.
 Ну мне так и нужно.1 нажатие включается один. 2 нажатие включается второй. Длинное - выключаются оба, если включен один то он также выключается

Добавлено (26.11.2016, 16:29)
---------------------------------------------
WZV писал(а):Длинное и короткое нажатие, схема Сергея ГлушенкоПрикрепления: 2483378.jpg(32Kb)
 По этой схеме при подаче питания сразу загорается 1ый светодиод, переключений не происходит((

Добавлено (26.11.2016, 16:34)
---------------------------------------------
Dev1 писал(а):Для нормальной работы(логики) лучше либо в протеусе изменить кнопку на землю и резистор на +5в
Тогда при первом нажатии загорается 1ый светодиод. Дальнейшие нажатия ничего не меняют

WZV
Сержант
Сообщения: 216
Зарегистрирован: 06.09.2015{, 14:31}
Репутация: 24

Долгой нажатие

#8

Сообщение WZV » 26.11.2016{, 16:41}

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

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Долгой нажатие

#9

Сообщение Phazz » 26.11.2016{, 16:42}

попробуй так
Вложения
0247818.png

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Долгой нажатие

#10

Сообщение tolibbass » 26.11.2016{, 16:49}

WZV писал(а):Попробуйте на этой схеме инвертировать вход с кнопки.
Аналогично, после первого нажатия и включения 1го светодиода  дальше никакой реакции

Добавлено (26.11.2016, 16:49)
---------------------------------------------
Phazz писал(а):попробуй такПрикрепления: 0247818.png(45Kb)
Мне кажется так счетчик будет срабатывать при каждом нажатии, независимо от того короткое или длинное. А мне надо чтоб счетчик срабатывал от коротких, а обнулялся от длинного

WZV
Сержант
Сообщения: 216
Зарегистрирован: 06.09.2015{, 14:31}
Репутация: 24

Долгой нажатие

#11

Сообщение WZV » 26.11.2016{, 16:57}

Попробуйте ещё так ТТ тригер забыл удалить. Удалите.
Вложения
2350567.jpg
Последний раз редактировалось WZV 26.11.2016{, 16:58}, всего редактировалось 1 раз.

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Долгой нажатие

#12

Сообщение tolibbass » 26.11.2016{, 17:12}

WZV писал(а):Попробуйте ещё так
Вообще на нажатия не реагирует(

Аватара пользователя
Dev1
Майор
Сообщения: 1026
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 59
Откуда: Гондурас

Долгой нажатие

#13

Сообщение Dev1 » 26.11.2016{, 17:14}

А как будет реагировать если вы управляете 0, а не 1.
Win10-64 FLProg v7.5.2 Portable :fie:

WZV
Сержант
Сообщения: 216
Зарегистрирован: 06.09.2015{, 14:31}
Репутация: 24

Долгой нажатие

#14

Сообщение WZV » 26.11.2016{, 17:23}

Вам надо или в Протеусе кнопку подтянуть к плюсу, или в программе инвертировать кнопку.

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Долгой нажатие

#15

Сообщение tolibbass » 26.11.2016{, 17:39}

Пробовал и так и так. В одном случае вообще не реагирует, в другом после первого нажатия загорается 1 светодиод и ве потом не реагирует

WZV
Сержант
Сообщения: 216
Зарегистрирован: 06.09.2015{, 14:31}
Репутация: 24

Долгой нажатие

#16

Сообщение WZV » 26.11.2016{, 17:42}

ТТ тригер удалили?

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Долгой нажатие

#17

Сообщение Phazz » 26.11.2016{, 18:00}

Так работает. Переключение происходит только при отпускании кнопки. На кнопке включена подтяжка и защита от дребезга.
Вложения
5572651.png
Последний раз редактировалось Phazz 26.11.2016{, 18:08}, всего редактировалось 1 раз.

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Долгой нажатие

#18

Сообщение tolibbass » 26.11.2016{, 18:28}

Вот в протеусе
Вложения
7221897.png
Последний раз редактировалось tolibbass 26.11.2016{, 18:30}, всего редактировалось 1 раз.

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Долгой нажатие

#19

Сообщение tolibbass » 26.11.2016{, 18:36}

А вот программа. При подаче питания 1 проходит по стрелке, и соответственно счетчик уже не 0, 1 и загорается светодиод. Как этого избежать??

Добавлено (26.11.2016, 18:36)
---------------------------------------------
Phazz писал(а):Так работает. Переключение происходит только при отпускании кнопки. На кнопке включена подтяжка и защита от дребезга.
По вашей схеме при нажатии первый раз счетчик считывает 1, зажигает 1 диод. Если нажать долго во второй раз, счетчик тоже же считает единицу, но еще и через таймер сбросится. У кого приоритет? Иравные ли по времени эти действия? Может получится что таймер сбросит счетчик, а он только потом считает 1 от кнопки?
Вложения
8115628.png

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Долгой нажатие

#20

Сообщение Phazz » 26.11.2016{, 19:06}

В протеусе работает, но первый светодиод зажигается при старте

Добавлено (26.11.2016, 19:06)
---------------------------------------------
Приоритет у сброса, проверил.

Ответить

Вернуться в «Кнопки и клавиатуры»