03.09.2015, 17:22 | #1 |
Member
Регистрация: 29.03.2013
Сообщений: 68
Вес репутации: 0 |
Кратковременное включение реле Arduino без delay()
Всем привет.
Прошу помощи в написании кода для ардуины. Мне надо на вход ПЛК подать кратковременный сигнал от релюшки, секунды 4-5 чтобы держался. Пытаюсь написать программу для ардуины так, чтобы без функции delay(). Поискав информацию в инете, понял, что надо использовать прерывание по таймеру. А вот как это сделать, какую библиотеку использовать - голову уже сломал, не могу разобраться... Может что посоветуете? Спасибо! Последний раз редактировалось electric; 03.09.2015 в 17:25. |
03.09.2015, 17:48 | #2 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Кратковременное включение реле Arduino без delay()
Если ардуина на ATmega328 то можно использовать библиотеку CyberLib
Можно и без прерываний обойтись Я думаю что этого примера будет достаточно , что бы написать код под себя Данный код выполняет Вашу функцию каждые 600 сек. Код:
uint32_t time=600000; void loop() { if( millis()-time > 600000) // задан интервал 600сек. { //здесь должен быть Ваш код или вызов функции time = millis(); } } |
04.09.2015, 10:23 | #3 | |
Member
Регистрация: 29.03.2013
Сообщений: 68
Вес репутации: 0 |
Re: Кратковременное включение реле Arduino без delay()
Цитата:
У меня ардуина MEGA2560 и таймер хочу запускать немного по-другому - в основной программе включаю реле и передаю управлению таймеру по прерыванию с указанием времени на отключение. Через заданный промежуток времени прерывание срабатывает и реле отключается, при этом таймер "встает", т.е. повторно не срабатывает, как то так что ли... |
|
04.09.2015, 19:42 | #4 |
Senior Member
Регистрация: 14.06.2015
Адрес: СССР
Сообщений: 122
Вес репутации: 0 |
Re: Кратковременное включение реле Arduino без delay()
а что будет делать мега2560 после того как отключит реле по таймеру?
|
07.09.2015, 10:59 | #5 |
Member
Регистрация: 29.03.2013
Сообщений: 68
Вес репутации: 0 |
Re: Кратковременное включение реле Arduino без delay()
Продолжать работу дальше по основному циклу.
Если по условиям программы надо будет еще щелкнуть реле - то опять включит, запустит таймер и через определенное время выключит... Блин, так и не разобрался с таймерами, сделал через милис костыль, но чувствую, так нельзя делать)))) |
29.01.2016, 08:41 | #6 | |
Member
Регистрация: 12.01.2016
Адрес: Кривой Рог
Сообщений: 36
Вес репутации: 0 |
Re: Кратковременное включение реле Arduino без delay()
Цитата:
Могу предложить пример скетча написанный под сигнализацию и там этот вопрос решён. |
|
29.01.2016, 15:55 | #7 |
Member
Регистрация: 07.08.2014
Сообщений: 37
Вес репутации: 0 |
Re: Кратковременное включение реле Arduino без delay()
anatoliylagutenko а можете выложить скетч для повышения образованности! заранее спасибо.
|
29.01.2016, 20:10 | #8 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Re: Кратковременное включение реле Arduino без delay()
PHP код:
__________________
istarik.ru Последний раз редактировалось stD; 29.01.2016 в 20:13. |
30.06.2017, 10:57 | #9 |
Senior Member
Регистрация: 21.06.2013
Адрес: Москва
Сообщений: 176
Вес репутации: 0 |
Таймер задержки отключения на НАНО
На основе примеров из интернета составил скетч.Вроде все работает,но чувствую что-то неправильно.Огромная просьба проверить код.
Логика такова:при появлении +5в на входе 2 включается выход АО и работает 2сек независимо есть ли на входе +5в или нету. Вот код: PHP код:
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|