Удерживать реле включенным после подачи сигнала по таймеру
- Войдите на сайт для отправки комментариев
Чт, 03/01/2019 - 22:09
Доброго времени )
Не получается у меня разобраться в простейшием ((
Нужно реализовать : после подачи сиграла (импульса скнопки,геркона и т.п) включить реле и удерживать его включеным в течении допустим минуты но если в этот период проидет еще один импульс по вводу то обнулить таймер и произвести отключение реле спустя минуту только после последнего сигнала на вводе (импульс с кнопки или геркона и т.п)
И в чем вопрос - неужели "как прописать в скетче"?
Что я тут не правильно делаю ?) Спасибо )
Доброго времени )
Не получается у меня разобраться в простейшием ((
Нужно реализовать : после подачи сиграла (импульса скнопки,геркона и т.п) включить реле и удерживать его включеным в течении допустим минуты но если в этот период проидет еще один импульс по вводу то обнулить таймер и произвести отключение реле спустя минуту только после последнего сигнала на вводе (импульс с кнопки или геркона и т.п)
Сумели бы Вы справиться с постевленной задачей?
Вот и напишите подробно, как именно Вы стали бы действовать в подобной ситуации.
Открою тайну - микроконтроллер должен действовать в точности так же.
Так что:
1. Напишите порядок своих действий по-русски, используя, кроме прочего, конструкцию "если ... то".
2. Переведите с русского на Си.
Что я тут не правильно делаю ?) Спасибо )
Строки 15 и 16 что по вашей задумке делают?
Строки 15 и 16 что по вашей задумке делают?
запускает счетчик на 60 секунд
А по условию задачи счетчик надо запускать когда? Подумайте, почему реле включаете в одном месте, а "счетчик запускаете" в совершенно другом.
И по поводу строки 16 неясно совершенно - как вы ее вообще придумали.
Не получается у меня разобраться в простейшием ((
Видать, не настолько и "простейшее", раз не можете. Нет?
Из условий задачи проистекает возможность игнорирования проблемы дребезга. Если это кнопка, конечно, а не свободно болтающийся контакт.
проблему дребизга опустим пока что . в настоящий момент пока собираю схему использую обычную кнопку с подтягивающим резистором на -
Позвольте пару наводящих вопросов:
- Реле должно "сработать" по нажитию или отпусканию?
- Реле должно "отпустить" через минуту после нажатия кнопки или через минуту после отпускания?
- Что должно происходить если мы кнопку нажали и не отпускаем?
Позвольте пару наводящих вопросов:
- Реле должно "сработать" по нажитию или отпусканию?
- Реле должно "отпустить" через минуту после нажатия кнопки или через минуту после отпускания?
- Что должно происходить если мы кнопку нажали и не отпускаем?
по нажатию . если нажать и держать отсчитывать от момента нажатия
Извиняюсь, что влезаю... Просто практикуюсь...
Но реле будет включено пока держат кнопку...
Но реле будет включено пока держат кнопку...
С чего Вы взяли? Отпускайте конпку на здоровье, а реле всё равно 10сек будет включено.
Что я тут не правильно делаю ?) Спасибо )
Может надо так!
На сколько я понимаю, сначала проверится первое условие и если кнопка нажата, то в переменную запишется текущее время, соответственно если скетч не будет тупить, то второе условие никогда не выполнится.
Или я не прав?
Или нажатие кнопки формирует импульс, а не постоянную единицу на входе?
На сколько я понимаю, сначала проверится первое условие и если кнопка нажата, то в переменную запишется текущее время, соответственно если скетч не будет тупить, то второе условие никогда не выполнится.
Или я не прав?
Или нажатие кнопки формирует импульс, а не постоянную единицу на входе?
Если держать кнопку то да Вы правы, а если нужен импульс то надо добавит еще одну переменную. Например так
Соглвсно ТЗ повторное нажатие должно сбрасывать таймер, а тут на кнопку вообще реагировать не будет пока время не истечет.
Соглвсно ТЗ повторное нажатие должно сбрасывать таймер, а тут на кнопку вообще реагировать не будет пока время не истечет.
Да Вы правы недоглядел. надо
Вот это если хотите посмотреть что происходит в монитор порте:
так у меня работает, а так должно у вас заработать:
Всем спасибо ) С этим я разобрался ))
Но появился вопрос правда немнго не потеме . Купил 5 плат у 2хразных продавцов у одного 2 у другого 3 .Написав скетч под платы купленые у первого и залив его на платы купленые у другого продавца он работать не стал (тоесть на 2 работате на 3 нет) .Брак или имеет место быть такое ?))
А я вчера на базаре купил кило картошки, дома только увидел что половина красная а вторая белая, не знаю что делать)))
))))) Но все таки я предпологал что есть некий стандарт но выходит что нет )
Я имел ввиду что за платы, что делают...
все ардуино уно которые брал у второго продавца отличаются тем что нужно было установить драйвер
CH340G , должно выполняться при нажатии на пульте 433мгц кнопки 1 кратковременно должна щелкнуть реле 1 для кнопки 2 щелкнуть реле 2 для кнопки 3 ВКЛ/ВЫКЛ реле 4 , при отсутствии сигнала (разрыв gnd и четвертого входа)на вход 4 включиться реле 3 и после пойвления сигнала через 90 сек выкл реле .
Все работает отлично на 2 платах , а на трех другого продавана сразу срабатывают все реле как написано в начале скетча и все )) исправить скетч не сложно но просто я думал платформы все в одной линейке одинаковы
Попробуйте посмотреть через Serial.print значение к примеру mySwitch.getReceivedValue() перед if. Вы каждый раз его поидеи считываите, присвойте его переменой а потом уже с этой переменой работайте. Отступлю от темы почему именно советую serial.print, т. к. мне очень это помогает чтобы помять как работают мои программы.
Попробую )
Что, опять китайцы свинью подложили? Так год такой грядет...
Кстати вспомнил к примеру: в одном моем устройстве был нюанс, оно скидывало за несколько секунд около 7000 значений в порт без задержки, так вот компьютер их все успевал принять и отобразить, а телефон при приёме афигивал, и переставал принимать сразу лишь когда передача заканчивалась он отображал штук 30 значений и то что в середине принимал, пришлось делать регулированию delay на 30 мили секунд после каждой передачи на телефон, только после этого он принимал все 7000 значений
Доброго времени суток..Мужики помогите..
Есть два реле ,датчик пламени,температурный датчик.
Задача такая ,при температуре меньше (22) и если реле2(разомкнуто)а датчик пламени (LOW).
то замыкаем реле1ждем (3000) и замыкаем реле2 ждем пока датчик пламени (HIGH)ждем (2000)выключаем реле1.
контролируем датчик пламени если (LOW) а реле2 замкнуто и температура не достигла (25) замыкаем реле 1 ждем датчик пламени(HIGH).
Реле2 остаеться включеным пока температура не будет равна (25).
ЗАРАНИЕ БЛАГОДАРЕН.. Все собрал подключил все работает но с языком проблемы только учусь....не получаеться собрать все условия в едино,то не включаеться,то не выключаеться...то на датчик пламени не реагирует....
Доброго времени суток..Мужики помогите..
чем помочь-то? в сообщении ни одного вопроса нет.
И сразу хочу предупредить - задавать вопросы без выкладывания СВОЕГО кода - скорее всего бессмысленно, никкой помощи не ждите, один глум.
Спасибо я понял....ну код на компе а я сейчас с планшетом...если теперь завтра....вопрос был как собрать все условия в едино.
lebrikon,почитай, разберись и сделай как там описано.
http://chipenable.ru/index.php/programming-avr/90-realizatsiya-konechnog...
Ооо спасибо ....
Спасибо еще раз..там массив...для меня вообще темный лес..как раз на ночь,постараюсь разобраца.хорошая статья...
Большое спасибо...
Обычный автомат. Задаешь состояния, что в каждом состоянии должно быть включено или отключено(у вас это реле и все) и условия переходов - состояние датчиков и время для дальнейшего перескока.