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

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

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

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

Добавлено: 26.11.2016{, 15:34}
tolibbass
Схема в Протеусе

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

Добавлено: 26.11.2016{, 15:55}
WZV
Длинное и короткое нажатие, схема Сергея Глушенко

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

Добавлено: 26.11.2016{, 15:57}
tolibbass
Спасибо.Попробую

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

Добавлено: 26.11.2016{, 16:05}
Phazz
А если алгоритм немного изменить? Короткие нажатия переключают с 1 на 2 светодиода и обратно. А длинное выключает полностью.

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

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

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

Добавлено: 26.11.2016{, 16:34}
tolibbass
Пробовал менять подключение, на землю. тогда вообще не работает

Добавлено (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ый светодиод. Дальнейшие нажатия ничего не меняют

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

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

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

Добавлено: 26.11.2016{, 16:42}
Phazz
попробуй так

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

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

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

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

Добавлено: 26.11.2016{, 16:57}
WZV
Попробуйте ещё так ТТ тригер забыл удалить. Удалите.

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

Добавлено: 26.11.2016{, 17:12}
tolibbass
WZV писал(а):Попробуйте ещё так
Вообще на нажатия не реагирует(

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

Добавлено: 26.11.2016{, 17:14}
Dev1
А как будет реагировать если вы управляете 0, а не 1.

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

Добавлено: 26.11.2016{, 17:23}
WZV
Вам надо или в Протеусе кнопку подтянуть к плюсу, или в программе инвертировать кнопку.

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

Добавлено: 26.11.2016{, 17:39}
tolibbass
Пробовал и так и так. В одном случае вообще не реагирует, в другом после первого нажатия загорается 1 светодиод и ве потом не реагирует

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

Добавлено: 26.11.2016{, 17:42}
WZV
ТТ тригер удалили?

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

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

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

Добавлено: 26.11.2016{, 18:28}
tolibbass
Вот в протеусе

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

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

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

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

Добавлено: 26.11.2016{, 19:06}
Phazz
В протеусе работает, но первый светодиод зажигается при старте

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