автополив на ардуине
- Войдите на сайт для отправки комментариев
Ср, 04/07/2018 - 18:15
добрый день. есть ардуина, есть часы реального времени и релюха. хочу сделать автополив цикличный раз в день, два, три (как выбиру). можно было бы запилить какой-нибудь delay или millis, но это не спасет меня от выключения искричества. для этого и приобрел часы 1307. вот, собственно и сам вопрос скорее по логике, нежели чем по коду: как увязать цикл полива в определенное время (через сутки, например) и текущую дату и, в случае отключения тока, не столкнуться с выполнением цикла заново? пока только пришел к подсчету дней с начала года и вычисления сл. дня полива. но это не элегантно, кажется. помогите
выберу, конечно же
а поиском не ищется?
полив в нужные дни недели в нужное время на нужное количество минут:
спасибо. с циклами в каждый день я разобрался, но, может быть, вы подскажите. как ссорудить цикл через поределенное количество суток?
спасибо. с циклами в каждый день я разобрался, но, может быть, вы подскажите. как ссорудить цикл через поределенное количество суток?
ну например хранить в переменной количество суток и каждый millis() деленный на количество миллисекунд в сутки уменьшать эту переменную - как будет равно нулем - значит прошло нужное количество дней.
вот пример подсчет часов и потом дней
ну это не решает вопрос с отключением света на, скажем, 12 часов. тогда ведь это время прибавится к заданному интервалу
ну это не решает вопрос с отключением света на, скажем, 12 часов. тогда ведь это время прибавится к заданному интервалу
все решаемо, например если есть RTC то в EEPROM сохранить время включения полива и когда до не го дойдет счетчик - полить, или сохранять каждый час счетчик в EEPROM и лет через несколько МК выкинуть.
у меня в деревне свет часто отключают, но +- сутки ничего не рашает для полива домашнего растения (согласно установленного женой ТЗ), потому сохраняю в EEPROM только счетчик суток.
можно и без RTC - соорудить ардуине простейшее аварийное питание из батарейки 2032 и диода и она будет сохранять свой счетчик не хуже RTC
вот и мне хотелось бы без насилия над eeprom. вот только как это изобразить я ума ни приложу
есть у меня 18650 ворох (правда без защиты и контроллера) и, как вариант это решение. только тут зависимость от самой батарейки - рано или поздно она помрет, а я и знать не знаю.
все зависит от задачи/желания/стоимости,
я тут прикинул - минимум 5 лет проживет EEPROM при записи каждый час, вы хорошо с электроникой дружите? нужно оно вам паять дополнительную электронику?
мне например лишняя деталь - уже проблема, со школы толком ничего не паял, проще программно решить вопрос.
сдохнет attiny85 - проще другую поставить, чем городить огород с батарейкой/аккумулятором/RTC
паяю норм, с этим проблем нет, а вот с программированием хуже) я именно по этому и не хочу городить аккум, тк думаю что есть более элегантное решение, прост не могу продумать логику.
100 000 циклов это 11 лет.
паяю норм, с этим проблем нет, а вот с программированием хуже) я именно по этому и не хочу городить аккум, тк думаю что есть более элегантное решение, прост не могу продумать логику.
100 000 циклов это 11 лет.
я предполагаю худший вариант китайского чипа - 50 % ресурса, + еще можно логику придумать равномерной записи по всей EEPROM, тогда ресурс в разы увеличивается - быстрее насос умрет, или как у меня недавно в молнию на БП конденсатор взорвался, благо остальное все живо осталось.
Подтверждаю - циклическая запись в EEPROM дает просто адский ресурс. Однако, думаю, что топикстартеру проще взять FRAM и писать туда хоть каждую минуту, если ему паяльник ближе математики.
с кодом я разбирусь, верен заветам Ильича (учиться учиться и еще раз учиться)
прост меня пнуть нужно в правильную сторону)
элегантное решение может быть не в цикле, а в произвольном выборе дней недели для полива, тк часы возвращают их как цифру. сравниваем и поливаем.
элегантное решение может быть не в цикле, а в произвольном выборе дней недели для полива, тк часы возвращают их как цифру. сравниваем и поливаем.
элегентное оно только на бумаге. Цветы ничего не знают про дни недели, их нужно поливать каждые 2-3 дня, так что циклом задавать проще.
элегантное решение может быть не в цикле, а в произвольном выборе дней недели для полива, тк часы возвращают их как цифру. сравниваем и поливаем.
угу, произвольно выберется понедельник 22:00 и вторник 07:00 потом через воскресенье 21:00 и получится за две недели цветок засохнет.
повторюсь - все зависит от задачи, под нее уже и решение придумывается.
в идеале мне нужно поливать кустик раз в два- пять дней не опасаясь выключения света и как можно меньше лазия к зеленому другу. есть уно, мини, нано, часики 1307, релюхи-помпы все дела)
это и понятно, что нужно циклом делать, только как учесть вероятные отключения искричества?
это и понятно, что нужно циклом делать, только как учесть вероятные отключения искричества?
э....так выше же уже обмусолили тему и варианты - нет?
вот полный код (выше кусок) поливалки каждые несколько суток с ежесуточным сохранением в EEPROM, и RTC нафиг не надо.