Система автополива комнатных растений на Arduino

Поділитися
Вставка
  • Опубліковано 25 сер 2024
  • Автоматическая система капельного полива домашних растений на базе Arduino.
    - Полив включается только при заданном уровне влажности (сухости) почвы.
    - Орошение производится с нескольких точек.
    - Автоматическое отключение устройства и световая индикация при недостаточном уровне жидкости в ёмкости.
    - Масштабируемая зона орошения (для разных горшков, лотков или боксов)
    - Стоимость всех необходимых для сборки устройства компонентов менее 500 рублей.
    Присоединяйтесь ВКонтакте: im_pub
    Компоненты на Aliexpress:
    Arduino Nano: ali.pub/399he5
    Датчик влажности грунта: ali.pub/399g5m
    Микропомпа (насос): ali.pub/399hjz
    Датчик уровня жидкости: ali.pub/399hnh
    Светодиоды: ali.pub/399htb
    Резисторы: ali.pub/399hw1
    Скетч поливалки: yadi.sk/d/nytS...
    #arduino #ардуино #уроки #робот #robot #uno #уно #nano #esp8266 #nodemcu #lua #обзор #esp-01 #реле #relay #часы

КОМЕНТАРІ • 99

  • @alesandryabov6478
    @alesandryabov6478 7 років тому

    Спасибо!!!Отлично.Все кратко и понятно.

  • @roninsh4341
    @roninsh4341 6 років тому

    надо бы привязать к крайним значениям влажности почвы состояние аналогового входа,что даст возможность регулировать обьём поливаемой воды без лишнего кодинга

  • @user-ns1gx7jw9g
    @user-ns1gx7jw9g 5 років тому +1

    Работает. Спасибо.
    Как подправить скетч, чтобы ещё и дисплей OLED LCD 128x64 0.96'' прикрутить к этому проекту?

  • @user-fv8ch9qx7f
    @user-fv8ch9qx7f 7 років тому

    Огромное спасибо!

  • @ViGvo
    @ViGvo 7 років тому +1

    А почему не пойти дальше и не сделать автоматическое наполнение банки из водопровода?

    • @alx8439
      @alx8439 2 роки тому

      Есть риск залить квартиру, если сдохнет датчик влажности и будет показывать "ой, сухо, надо срочно поливать". Или тараканы прогрызут дырку в шланге с водой. Ограничение возможного вреда

  • @user-io4dr2uy3z
    @user-io4dr2uy3z 7 років тому

    Всё нашёл спасибо.

  • @user-si3np3vk5j
    @user-si3np3vk5j 6 років тому +1

    Сама конструкция очень симпатичная, но рассчитана только для одного цветка, так как если её бросить допустим на три горшка с цветами, то одни будет заливать или недоливать

    • @RusNovgorod
      @RusNovgorod 5 років тому

      ТЕХ-ОРБИТА
      Я даже в варианте для одного растения не совсем понял. Вроде с одной стороны как и предусмотрена задержка но... в том ли смысле она.
      Имею ввиду, что после первого срабатывания датчика почвы, включилась помпа, скажем на пять секунд, выключилась, через минуту скажем вновь замерить влажность и уже исходя из второго значения, либо вновь запускать цикл и так до тех пор пока влажность не станет необходимой или уходить так сказать в спящий режим.

    • @user-uu3mx3rp5t
      @user-uu3mx3rp5t 5 років тому

      @@RusNovgorod Сразу скажу, опыта по ардуинке у меня нет. Просто один молодой меня взял на слабо, что когда тебе за 40 или, к примеру за 50, то браться за изучение ардуинки - гиблый номер. Я не претендую на на создание чего-то нового, но пару полезных проектов надеюсь осилить. Так вот, я тут на досуге воспроизвел данный проект на макетке. Скетч взял из проекта без изменения. Вместо помпы пока подключил релейный модуль. Вместо горшка с землей, взял стакан с водой. Получил такой алгоритм работы. Скажу сразу, время считал без секундомера, приблизительно. При включении 3 раза моргает светодиод. Пауза около 20 сек. Идет запрос датчика уровня в емкости с водой. Если используется датчик уровня на герконе то, наличии достаточного кол-ва воды, геркон должен быть разомкнут. При разомкнутом герконе PIN D6 церез резистор 10К подтягивается на землю. Если воды в емкости не достаточно, то геркон замыкается и с PIN D5 на PIN D6 поступает высокий уровень. Отсчет прекращается и горит красный светодиод (это, если никаких других ветодтодов не ставили). Система на паузе, пока не нальете воды к емкость. Если уровень воды в емкости нормальный, то светодиод гаснет программа продолжает работу. На 25 сек подается питание на модуль влажности и, если датчик сухой, включается помпа на 25 сек. Потом пауза 25 сек и новое измерение. Если, при подаче питания на датчик влажности, он мокрый, помпа (в моем случае реле) не включается. Опять пауза и до следующего измерения. По скетчу после 6 измерений должна быть пауза 1800000 = 0,5 часа. только у меня этой паузы нет. Опрос датчика влажности происходит каждые 25 сек. Думаю, что функция delay(watering_period) пауза между измерениями влажности почвы отрабатывает не так, как надо. С этим пока не разобрался.

    • @RusNovgorod
      @RusNovgorod 5 років тому

      @@user-uu3mx3rp5t Насколько понимаю, delay она вообще полностью вешает всю систему и работает только на себя. Но с ардуиной, я вообще на вы)

    • @user-uu3mx3rp5t
      @user-uu3mx3rp5t 5 років тому

      @@RusNovgorod Здесь, однозначно надо скетч дорабатывать. Есть мысль для нескольких вазонов использовать такой алгоритм. На каждый вазон датчик влажности и маленькая помпа на цифровом выходе. Ардуинка периодически опрашивает каждый датчик влажности, т.е. подает питание на датчик влажности каждые 3 часа на 10 сек. Земля сухая - помпа включилась на 10 сек. если мокрая, то не включилась. И так до следующего измерения. Как-то так.

    • @RusNovgorod
      @RusNovgorod 5 років тому

      @@user-uu3mx3rp5t примерно так думаю и надо делать, но только и после этих 10 секунд, через какое то время перепроверять. Я правда не о горшках говорю а скажем о теплице. Но и настройка должна быть раздельной, что в теплице что в горшках. Растения могут оказаться разными, разный объём почвы, да и на один уже светило солнышко и почву подсушило а второй в тени оказался.

  • @uskevich
    @uskevich 3 роки тому

    Подскажите, почему при работе такой помпы происходит зависание ардуино - даже если питание на ардуино и помпу подается от разных источников питания?

  • @user-ht9wq6zj7v
    @user-ht9wq6zj7v 6 років тому

    Вроде оба Насоса подгружные У продавцов написано что погружные как у тебя насос работал норм?

  • @user-eo4dq2yd8d
    @user-eo4dq2yd8d 4 роки тому +1

    А реле тут обязательно или нет? Ответьте, пожалуйста, очень надо! С меня подписка, если вы неравнодушны к вопросам)

    • @iomoio3897
      @iomoio3897  4 роки тому +2

      Если, например, насос от 220 работает, то реле необходимо. Микроконтроллер переключает реле, реле включает насос.

  • @Petrovihch
    @Petrovihch 7 років тому +1

    Александр класс!!! программа хороша, сделаю себе полив зацепило, вопрос такой , вместо датчика влажности почвы поставить терма датчик, вместо помпы серво привод для форточек чтоб не сразу закрывал, открывал, а замерил если нужно открыл но на половину , через пол часа к примеру замерил и открыл полностью если нужно, два концевика на открытие и закрытие форточек, серво привод стеклоподъемник от УАЗа, как полярность менять на сервоприводе, в программе, я пока не шипко разбираюсь, ( 0) читаю, древний я, вот бы такую же программу на форточки было бы супер.

    • @iomoio3897
      @iomoio3897  7 років тому

      :D Подать питание на двигатель стеклоподъемника с цифровых пинов arduino не получится. Arduino выдает 5V. Также у автомобильных аккумуляторов большая сила тока на выходе. Т.е. если даже запитать двигатель стеклоподъемника от сетевого адаптера питания, то он не будет работать должным образом, если силы тока будет не достаточно. Также не понятно как с помощью двигателя постоянного тока можно отслеживать угол открытия окна. Угол можно отслеживать сервоприводами, но скорее всего двигатель с подходящей мощностью (чтобы мог управлять полощением тяжелого объекта) будет стоить очень дорого. Вам, вероятно, подойдет шаговый двигатель. Но для него нужно придумывать редуктор, дабы повысить мощность.

    • @Petrovihch
      @Petrovihch 7 років тому

      Через реле включать блок питания мощный на стеклоподъемники, как на контролере заводском включаю тепловой каларифер, блок у меня есть, промежуточное открытие ( закрытие ) форточек определить в секундах по месту это не критично, чуть больше - меньше, а концевик когда упрется, привод должен отключится, полярность поменять , и ждать когда температура упадет до нужного порога, сработать в обратном направлении , вот как то так.

    • @iomoio3897
      @iomoio3897  7 років тому

      Да, через реле можно. Например через такое ali.pub/ehazf или двойное ali.pub/6vmpt Но тогда и на Arduino нужно не плюс с минусом на пинах менять, а какую-то схему на реле с переполюсовкой придумывать. Если есть схема, то по вопросу: на Arduino с питанием на выводах очень просто играть. Если значение на термометре высокое, то digitalWrite(pin1,LOW);, digitalWrite(pin2,HIGH);. LOW - земля, HIGH - плюс. Если низкое, то наоборот: digitalWrite(pin1,HIGH);, digitalWrite(pin2,LOW);

    • @Petrovihch
      @Petrovihch 7 років тому

      Александр спасибо! понятно, буду думать дальше, да реле надо, чтоб менять полярность.

    • @Petrovihch
      @Petrovihch 7 років тому

      Александр , если 2 реле, 1 реле + 2- на в паре , контроллер включает сразу оба, концевика коснулось , питание отключилось ( реле)
      Принцип как я думаю такой: датчик считал что порог превысил к примеру +25 включилась первая пара реле привод поехал, уперся в концевик, контакт замкнул команда пошла на отключение реле, но тут надо прописать команда на включение должка пойти снова когда порог превышен +25 и выше, и даже когда замкнется контакт реле когда привод сработает на закрывание, команды не должно быть.
      На 2й паре полярность меняю, и +20 и ниже команда на включение, для меня пока такое писать сложно,
      А концевик прописать как кнопка, button, и на концевик резистор пишут надо ставить от помех.
      Датчик выписал такой ru.aliexpress.com/item/1pcs-New-Digital-Temperature-Temp-Sensor-Probe-DS18B20-For-Thermometer-1m-Waterproof/1297739612.html?spm=2114.13010608.0.0.1MsegR
      а реле двойное.

  • @user-io4dr2uy3z
    @user-io4dr2uy3z 7 років тому

    А где раздел? Что-то я не нашел.

  • @NegativeYee
    @NegativeYee 7 років тому

    Здравствуйте!
    Тут уже задавали вопрос насчет того можно ли обойтись без резисторов. Ответ был нет. Можно поинтересоваться новичку в электронике почему нельзя? Ведь тот же светодиод можно подключить через вывод ШИМ, который может выдавать любое напряжение от 0 до 5 В. А подтягивающий резистор нужен чтобы гарантировать сигнал LOW или HIGH на логическом входе т.е. по большому счету для подстраховки, коей можно и пренебречь на мой взгляд, потому как я сам этим пренебрегаю и все работает без сбоев. Или может быть есть еще какие-либо моменты, которые новичку непонятны?

    • @iomoio3897
      @iomoio3897  7 років тому +2

      Если у Вас все работает, то, вероятно, мои ответы Вам не будут интересны так же как и необходимы. Не все светодиоды выдерживают силу тока выхода контроллера без резистора. На ШИМ выводе можно регулировать не напряжение, а ширину импульсов. Т.е. напряжение на нем меняется субъективно. Стягивающий резистор убирает наводки. Его отсутствие сильно снижает стабильность работы сборки в части работы датчика уровня жидкости.

    • @NegativeYee
      @NegativeYee 7 років тому

      Почему же не будут интересны? Будут.
      Ну так вроде шириной импульсов и регулируют величину тока и напряжения. По крайней мере замеры мультиметром, как тока так и напряжения, все четко подтверждают, т.е. если на ШИМ вывод я даю команду (от 0 до 255), например analogWrite (№пина, 127), то и получаю на выходе половину от напряжения и половину от тока в сравнении с тем, если бы задал величину 255.
      Ну и я понимаю что по хорошему, по правильному можно поставить подтягивающий резистор и ,честно говоря, ожидал увидеть какие-либо сбои когда его не поставил (специально, чтобы лично с этим столкнуться), но никаких сбоев не возникает, как бы сильно мне этого не хотелось)) Это я к тому, что без резисторов обойтись вполне можно, не то чтобы я питаю к ним какую-то неприязнь)), но мой небольшой практический опыт применительно к этому случаю показывает что они действительно не нужны. Хотя по правилам хорошего тона можно и поставить.

    • @Pe4enkq
      @Pe4enkq Рік тому

      @@iomoio3897 здравствуйте, скажите пожалуйста, можно ли собрать такую же схему, но на arduino uno, хочу собрать систему автополива, на датчика влажности, но мало в этом разбираюсь

  • @mosttop3045
    @mosttop3045 6 років тому

    У меня не работает собрал и просто ничего не происходит помоги плз

  • @volodymyr8715
    @volodymyr8715 6 років тому

    Не подскажете каким образом прикрутить к данной сборке экран с отображением текущей влажности почвы и возможно датчик DHT-11/22 также с отображением влажности/температуры на экран?

    • @ARIMF
      @ARIMF 6 років тому +1

      Мы с товарищем уже несколько дней переделываем этот код под отображение на дисплее. Его нужно переписать практически полностью, иначе ничего он не будет выводить, потому что написан ждать полива в в зависшем состоянии часами.

    • @volodymyr8715
      @volodymyr8715 6 років тому +1

      Если получится в итоге что то рабочее, поделитесь пожалуйста

  • @pinochetaugusto3019
    @pinochetaugusto3019 7 років тому +1

    я новичек ВСЮ БОШКУ ПЕРЕЛОМАЛ ЧТО ЗА ДОП ПЛАТА НА СХЕМЕ О КОТОРОЙ НИ СЛОВА ДАТЧИК УРОВНЯ ВЛАЖНОСТИ ПОЧВЫ FC-28-G arduino 5V
    поподробней можно ли без нее? или как обойти эту плату!

    • @iomoio3897
      @iomoio3897  7 років тому

      Плата - АЦП. Она преобразует данные о токе между электродами (сопротивлении) в цифровой сигнал.

    • @illyagt8080
      @illyagt8080 7 років тому

      можете подсказать как сразу подключить 2-3 датчика уровня влажности почвы

  • @andrejspotapovs4046
    @andrejspotapovs4046 7 років тому +1

    Nu pompu tam podkljuchat na premuju k mikrokontrolleru tochno ne stoit, pompa mozhet potrbitj do 300mA, a vihod mikrokontrollera dannom sluchae vidaet 40mA (a skorei vsego i togo menjshe), i vihod tupo zgorit.

    • @iomoio3897
      @iomoio3897  7 років тому +1

      Не уловил мысль. Выход сгорит от того что он не может отдать силу тока необходимую нагрузке? Это что-то новое...

    • @asscuber
      @asscuber 7 років тому

      Если рабочий (или стартовый) ток двигателя превышает 30-40 мА, его нужно подключать посредством транзистора или сборки Дарлингтона, в зависимости от величины тока! Иначе порт сгорит (см. даташит: DC Current per I/O Pin: 40.0mA)

    • @roninsh4341
      @roninsh4341 7 років тому

      ты просто не понял философии,парень;)

  • @prdrsd6303
    @prdrsd6303 5 років тому

    Привіт, а за допомогою якої програми Ви зробили графічний макет на 5:40 ?

  • @dmitriykrep5698
    @dmitriykrep5698 6 років тому

    не могу открыть скетч

  • @alexeynaumov4079
    @alexeynaumov4079 7 років тому

    Добрый день!
    Сделал систему автополива по вашей инструкции один в один. При заливе скетча на ардуино выдает ошибку:
    warning: overflow in implicit constant conversion [-Woverflow]
    int watering_period = 1800000;
    пока не смог отследить влияет ли это на работоспособность системы. Подскажите, есть ли смысл пытаться избавиться от ошибки ?

    • @iomoio3897
      @iomoio3897  7 років тому +1

      Для UNO максимальное значение переменной типа int 32767. Два нуля уберите и все будет OK.

    • @dmitriytig
      @dmitriytig 7 років тому +1

      Получается, что датчик будет включатся каждые 32 секунды. А как сделать чтобы датчик включался хотя бы 1 раз в час или больше? У меня ардуино нано на меге328, такая же проблема.

  • @n0lor
    @n0lor 7 років тому

    а можно ли к одной ардуинке подключить 4 мотора и соответсвенное 4 сенсора? для полива в разных горшках

    • @iomoio3897
      @iomoio3897  7 років тому +1

      Да можно. Но в этом случае лучше подсоединять моторы к Arduino через драйверы двигателей. Например для 4-х моторов можно использовать 2 вот таких драйвера: goo.gl/FCbWNX Иначе могут быть проблемы с ЭДС-помехами.

    • @user-ek8ic9pz7n
      @user-ek8ic9pz7n 7 років тому

      А если растений 10 или больше? Неужели ЭДС-помехи нельзя победить диодами? А чтобы не покупать 5 драйверов по 100 рублей, сделать простенький цикл обмена по прерываниям в той же Flprog?

    • @iomoio3897
      @iomoio3897  7 років тому +1

      Я всего лишь предупредил о возможной проблеме и привел один из примеров для ее избежания. Безусловно каждый для себя выбирает подходящий вариант. =)

  • @nikitapapakin9070
    @nikitapapakin9070 4 роки тому

    Нужна помощь !!!! Есть датчик влажности почвы и реле для запуска насоса , когда подключен насос и он не опущен в воду , работает как надо( реле срабатывает 5 раз на определенное количество времени что вода впитывалась и датчик делал замеры )но когда насос опускаешь в воду то реле один раз включается и не отшелкует его обратно . Насос 12v

  • @kcvents
    @kcvents 7 років тому

    скажите , а без датчика уровня жидкости схема будет работать?

  • @sergeyboldyrev1149
    @sergeyboldyrev1149 5 років тому

    Повторил Ваш проект! Спасибо! У меня происходит включение, далее светодиод который A1 A2 мигает 3 раза. Полива не происходит. Поясните пожалуйста. Спасибо!

    • @iomoio3897
      @iomoio3897  5 років тому

      Надо посмотреть какое значение возвращает датчик влажности. Можно на монитор серийного порта его вывести.

    • @sergeyboldyrev1149
      @sergeyboldyrev1149 5 років тому

      в loop вставить Serial.print(dry_value); ?

    • @iomoio3897
      @iomoio3897  5 років тому

      В начало блока setup вставить Serial.begin(9600);
      В блок loop, перед if (moisture_value > dry_value), вставить Serial.println(moisture_value);
      В общем полив не включается, если показания с датчика меньше значения dry_value. Поэтому надо посмотреть что возвращает датчик.

    • @sergeyboldyrev1149
      @sergeyboldyrev1149 5 років тому

      Добавил. Показания колебались в мониторе порта moisture_value 1023 -913

    • @iomoio3897
      @iomoio3897  5 років тому

      1. Попробовать отключить датчик уровня воды от платы. Если заработает, то дело в нём.
      2. Если первое не помогло, то проверить подаётся ли питание на помпу. Для этого можно вместо помпы попробовать подключить, например, светодиод (длинная нога в 4-й пин контроллера (pump_pwr), короткая в GND). Помпу перед этим надо отключить от платы. Если светодиод загорается, дело в помпе (перепутана полярность подключения, не хватает питания или помпа неисправна).

  • @user-mr1nj1dj5k
    @user-mr1nj1dj5k 7 років тому

    здравствуйте а можно обойтись без резисторов

    • @iomoio3897
      @iomoio3897  7 років тому

      Нет

    • @alx8439
      @alx8439 2 роки тому

      На самом деле да. Резистор на светодиод, который автор называет "стабилизирующим" (?) нужен для уменьшения вольтажа на светодиод. Т.к. 5В для них все-таки многовато, и они просто помирают раньше (но горят ярче!).
      Подтягивающий резистор можно заменить внутренней подтяжкой пина при указании режима работы пина (INPUT_PULLUP)

  • @g992_r
    @g992_r 7 років тому

    Привет, с тобой можно как то связатся? есть пара вопросов, а в комменты картинки никак не прикрепить)

    • @iomoio3897
      @iomoio3897  7 років тому

      В разделе "О канале" есть адрес для коммерческих запросов.

  • @nikitapapakin9070
    @nikitapapakin9070 4 роки тому

    где можно нарисовать схему для моего проекта ?

  • @user-si8kn3dt7g
    @user-si8kn3dt7g 5 років тому

    помогите пожалуйста выдает ошибку при компиляции. warning: overflow in implicit constant conversion [-Woverflow]
    int watering_period = 43200000;

    • @iomoio3897
      @iomoio3897  5 років тому

      Число слишком большое. Уберите один или несколько нулей.

    • @user-si8kn3dt7g
      @user-si8kn3dt7g 5 років тому

      @@iomoio3897 все равно выдаёт ошибку

    • @iomoio3897
      @iomoio3897  5 років тому

      Посмотрите в Интернет максимальное значение для int в arduino и задайте его для watering_period. Навскидку не помню, к сожалению.

    • @iomoio3897
      @iomoio3897  5 років тому

      Замените int watering_period = 43200000; на long watering_period = 43200000;

    • @user-si8kn3dt7g
      @user-si8kn3dt7g 5 років тому

      @@iomoio3897 спс

  • @halkern
    @halkern 7 років тому

    от помпы порт не сгорит ?

    • @iomoio3897
      @iomoio3897  7 років тому +1

      Люди пишут, что может сгореть порт. У меня все норм. Можно мосфет поставить на пин подключения помпы для успокоения, а саму от источника запитать. Будет лучше воду качать.

    • @halkern
      @halkern 7 років тому

      а на 6 цветков хватит одной помпы?

    • @iomoio3897
      @iomoio3897  7 років тому

      Зависит от конструкции капилярной трубки. И лучше тогда на помпу большее питание и ток подавать, включая ее с помощью реле или мосфета. К тому же встает вопрос о замере влажности почвы во всех горшках, а не в одном, т.к. в зависимости от цветка, объема и состава грунта высыхать будут в разное время.

  • @iSergius
    @iSergius 7 років тому

    а почему бы не подключить светодиод в цифровой выход и ШИМом не дать ему нужный ток? и резистор не нужен будет.

  • @PIEIgorEfremenko
    @PIEIgorEfremenko 2 місяці тому

    мотор на прямую на ногу контроллера - это полный бред!!!
    ТАК ДЕЛАТЬ НЕЛЬЗЯ!!!
    Нога контроллера максимум 20 мА может выдать!
    НЕ ДЕЛАЙТЕ ТАК - РИСКУЕТЕ ИСПОРТИТЬ КОНТРОЛЛЕР !!!

  • @user-io4dr2uy3z
    @user-io4dr2uy3z 7 років тому

    Как с вами можно связаться?

    • @iomoio3897
      @iomoio3897  7 років тому

      В разделе "О канале" есть адрес для коммерческих запросов.

  • @qwertyk07
    @qwertyk07 3 роки тому

    Короче тупо не работает мотор при подаче на D4 напряжения... Вот никак не работает, вынимают провод из D4 прикладываю к 5V работает... назад не работает.
    Датчик хорошо, датчик работает.

    • @iomoio3897
      @iomoio3897  3 роки тому

      Тока не хватает. Попробуйте через транзисторный ключ, например.

    • @qwertyk07
      @qwertyk07 3 роки тому

      @@iomoio3897 Естественно с такими данными всё понятно... но я нифига не смыслю в элементной базе, чтобы понять что надо купить, чтобы что-то спаять чтобы заработало...

    • @qwertyk07
      @qwertyk07 3 роки тому

      Пока нашел это роботехника18.рф/%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BC%D0%BE%D1%82%D0%BE%D1%80%D0%B0-%D0%B0%D1%80%D0%B4%D1%83%D0%B8%D0%BD%D0%BE/ но какой транзистор и какое сопротивление подойдет я хз.

    • @iomoio3897
      @iomoio3897  3 роки тому

      @@qwertyk07 Как вариант: 30,87 руб. 10%OFF | 0-24 В верхняя кнопка Mosfet IRF520 драйвер MOS модуль MCU ARM
      a.aliexpress.com/_Ads3Zv