Остановить выполнение программы
- Войдите на сайт для отправки комментариев
Пт, 20/05/2016 - 21:07
Здравствуйте, ардуино выполняет программу: опрашивает датчик и при удовлетворении условия выполняет действие.
1) как организовать опрос датчика с интервалом =1час
2) после выполнения действия остановить программу = 1 сутки
Программу нельзя остановить. Можно выполнять или не выполнять какие-либо действия при определенных условиях (например условие - прошло ли достаточно времени).
как тогда реализовать такие длительные задержки?
Ну можно с помощью millis() время отсчитывать. Или модуль RTC использовать.
а на delay возможны такие большие торможения програмы? delay(10000000)?
Забудь за delay, и научись использовать millis.
http://arduino.ru/tutorials/BlinkWithoutDelay
http://robocraft.ru/blog/arduino/385.html
А можно и RTC прикрутить.
как тогда реализовать такие длительные задержки?
Завести прерывание по таймеру для пробуждения и перейти в режим power down. Контроллер будет "спать" и ничего не делать.
а на delay возможны такие большие торможения програмы? delay(10000000)?
Возможны почти до двух месяцев, но лучше делать, как я сказал выше, т.к. в режиме power down контроллер почти не ест электроэнергии, а при выполнении delay кушает по полной программе.
Правда, чтобы реально получить выгоду от этого режима, нужно питать контроллер не через стабилизатор, а напрямую, подавая 5 вольт на соответствующий пин. Иначе на линейном стабилизаторе всё равно будет дофига отжираться.
думаю прикручивать RTC для такой простой задачи не целесообразно.
не сказал сразу, по питанию не критично, по этом не думал о "засыпании"
спасибо ребят, попробую на millis
Есть такая библиотека TimerOne ( ищется легко)
На ней можно запустить процессы с требуемой периодичностью
имеются некоторые допущения и противопоказания, требует испытаний для конкретных применений.
зы. Я использую, меня ( в основном) устраивает, чего и Вам желаю.
Люди добрые, покритикуйте код (честно найденый на форуме и изменен)
алгоритм:
1)Раз в сутки включется датчик
2)Если датчик включен смотрим влажность почвы
3) Если почва сухая включаем насос на 2мин
Спасибо, прочитал у Джереми Блюм про использование этой библиотеке. Возьму на заметку.