Полив на ардуино своими руками

Добавил пользователь Владимир З.
Обновлено: 05.10.2024

Всем добрый вечер, не так давно увлекся Ардуино и первая мысль которая пришла мне в голову, это сделать автополив для цветка. Хоть он в моем доме и один, но мы с женой регулярно забываем его поливать.
Итак, после того, как я определился с темой моей "научной работы", я затарился у наших друзей китайцев необходимыми комплектующими, а именно:
1. Arduino Nano CH340/ATmega328P ~ 260 р.
2. Поплавковый датчик горизонтального типа ~ 100 р.
3. Помпа на 12v ~ 280 р.
4. Датчик влажности почвы ~ 30 р.
5. Блоки питания на 12v 2A и 5v 0.5А ~ 370 р.
6. Пьезопищалка, провода, разъемы ~ 100 р.
7. Реле ~ 80 р.
Итого: 1170 р.
Кто-то скажет что за эти деньги будет поливать этот грёбаный цветок сам в течение всего года, а я скажу что мне проще было соединить все компоненты и написать код чтобы оно работало.
Как итог, автополив умеет определять когда необходимо полить землю с помощью датчика влажности почвы. Датчик поплавкового типа необходим для того, чтобы определить отсутствие воды в ёмкости, в данном случае это 5л. баклаха. Если воды нет, от Ардуино издает звуковой сигнал. Так же если вода отсутствует, а датчик влажности почвы говорит что земля высохла и надо бы её полить, то Ардуино не включит помпу, пока баклашка не будет заполнена водой.
Летом жена обещала подарить 3D принтер, так что буду заморачиваться над корпусом для этого всего.
Всем спасибо, если нужен код программы, то пишите, выложу его на диск и кину ссылку в комментарии .

Автополив цветка на основе Ардуино Arduino, Поливалка, Цветы, Видео, Длиннопост

Автополив цветка на основе Ардуино Arduino, Поливалка, Цветы, Видео, Длиннопост

Помпа и поплавковый датчик сделаны с разъёмами чтобы можно было наливать воду в баклашку из-под крана.

Автополив

  • менять воду для полива;
  • осматривать конструкцию на наличие неисправностей.

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

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

Что понадобится для работы

Для сборки конструкции потребуются следующие элементы:

  1. Плата Arduino (например, модель UNO или Мега).
  2. Датчик уровня влажности почвы.
  3. Насос для воды.
  4. Шланг для прокачки жидкости (подводится напрямую в горшок или на грядку).
  5. Емкость для забора воды.
  6. Контактные кабели.
  7. Блок питания электронных компонентов.

Плата Arduino

Система не будет напрямую подключаться к водопроводу, а будет забирать воду из резервной емкости, которую требуется наполнять самостоятельно. Это повысит надежность конструкции, т.к. поможет избежать непредвиденных ситуаций, связанных с неисправной работой водопровода.

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

Основные параметры и схема подключения

Датчик влажности состоит из щупа и компаратора. Сигнал может измеряться как в аналоговой форме (0 — максимум влажности, 1023 — минимум), так и в цифровой (0 — влажно, 1 — сухо). Для повышения точности лучше использовать аналоговую форму. Оптимально выбрать следующие параметры: 200 — нормальная влажность, 600 — предельная сухость. Эти показатели можно изменить в загружаемой в плату прошивке.

Схема подключения

Вода из резервуара в систему будет подаваться при помощи насоса. Достаточно устройства на 12 В. Помпа должна работать в соответствии с выбранным типом полива растений. Оптимальный вариант — капельный.

Схема насосной станции состоит из:

Мотор 1 выводом подключается к драйверу, а другим — к собственному источнику питания в виде аккумулятора или батареи. Работающим двигателем подкачивается вода в трубки.

Система автополива функционирует по принципу опроса платой датчика влажности земли. Каждую секунду (этот промежуток настраивается программой) датчик отправляет информацию о состоянии почвы микроконтроллеру.

Если принятое значение превышает 550, а помпа не работала более 15 минут, то активируется автополив. Время увлажнения прописывается в программе (в скетче за это отвечает переменная pomp_work).

Принцип работы автополива

15-минутный перерыв в процессе орошения требуется, чтобы влага успела впитаться в почву, и растения получили ровно столько жидкости, сколько нужно.

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

Дополнить автополив можно системой индикации, если параллельно основным сигналам подключить светодиоды. Тогда сразу будет виден путь прохождения сигнала, а также место возникновения неисправности.

Пошаговая инструкция сборки

Элементы собираются в следующем порядке:

Подключение и настройка системы производится при полностью отключенном питании и отсутствии воды в конструкции.

Элементы питания нужно расположить максимально далеко от резервуара и трубок с жидкостью.


  1. Relay shield на 4 реле – 1 шт;
  2. Вентилятор 12В – 1 шт;
  3. Мембранный насос 12В – 1 шт;
  4. Лампа освещения – 1 шт;
  5. Кнопка – 3 шт;
  6. Резистор 10 кОм – 3 шт.

01-membrannyj-vakuumnyj-nasos-dlya-arduno

Рисунок 1. Мембранный вакуумный насос
Необходимо поменять шланг требуемой длины (рисунок 2, 3).

02-zamena-shlanga-membrannogo-vakuumnogo-nasosa-v-umnoj-teplitse

03-zamena-shlanga-membrannogo-vakuumnogo-nasosa

Рисунок 2, 3. Замена шланга мембранного вакуумного насоса

При высоких температурах воздуха будем производить обдув цветка с помощью вентилятора. Вентилятор можно взять любой, я вытащил из старого системного блока, который работает от 12В (рисунок 4).

04-obduv-tsvetka-s-pomoshhyu-ventilyatora

Рисунок 4. Вентилятор

Искусственный свет для эффективного выращивания растений должен излучать спектр электромагнитного излечения аналогичный тому, который получают растения в естественной среде. Если полной аналогии достичь сложно, то освещение должно удовлетворять хотя бы минимальные потребности. Для обеспечения наиболее комфортных условий для развития подбираются специальные лампы, имеющие различное влияние. Рекомендуется использовать следующие лампы:

  • светодиодные фитолампы;
  • энергосберегающие лампы дневного спектра;
  • люминисцентные.

Насос, вентилятор, лампу подключать напрямую к Arduino нельзя! Будем управлять ими через реле. Будем использовать Relay shield (рисунок 5), который содержит 4 реле с необходимой обвязкой.

05-relay-shield-arduino

Рисунок 5. Relay shield
Теперь соберем на макетной плате схему, представленную на рисунке 6 (схема из предыдущей части с добавлением кнопок и реле).

shema-soedineniya-dlya-monitoringa-parametrov-i-ruchnogo-upravleniya-proekta

Приступим к дописанию кода скетча. Создаем переменные типа Boolean (true – включено, false – выключено) для состояния трех реле:

В цикле loop() отслеживаем нажатие кнопок с проверяем на дребезг (процедура debounce()) и в случае нажатия кнопки изменяем статус соответствующей переменной и отправляем команду для изменения статуса соответствующего реле на противоположное:
включение/выключение насоса (полив почвы);
включение/выключение освещения;
включить/выключение вентилятора.

Создадим в Arduino IDE новый скетч, занесем в него код из листинга 1 и загрузим скетч на на плату Arduino. Напоминаем, что в настройках Arduino IDE необходимо выбрать тип платы (Arduino UNO) и порт подключения платы.

07-vyvod-dannyh-v-posledovatelnyj-port-skrinshot

После загрузки скетча на плату мы можем управлять включением/выключением насоса, лампы, вентилятора с помощью кнопок. В последовательный порт выводим показания датчиков и состояние реле — полив, вентиляция, освещение, (рисунок 7), которое мы устанавливаем с помощью кнопок. На дисплее – показания датчиков.

Рисунок 7. Вывод данных в последовательный порт.

proekt-domashnij-tsvetok-urok-3

А вот и наш выращиваемый цветок (рисунок 8).

proekt-umnoj-teplitsy-na-arduino-domashnij-tsvetok

Далее модернизируем систему, в следующем уроке мы будем осуществлять функции мониторинга и управления с телефона или планшете с операционной системой Android.


Некоторое время назад я прикинул, что было бы неплохо автоматизировать полив на даче. Обзоры некоторых пользователей муськи также сыграли не последнюю роль в принятии этого решения. Но поскольку электроника — это не мой профиль, решено было делать аппаратную часть проекта максимально упрощенной, и по возможности обойтись без ЛУТ, травления плат и прочих сложностей. Короче, хотелось реализовать свою систему как некий конструктор, собранный из стандартных компонентов, а получилось это или нет — решать вам.

UPD: добавлен скетч для Ардуино.

2. Закупка необходимых компонентов
Привожу список компонентов системы, купленных в Китае (большинство приобрел на aliexpress, но пару лотов взял на Ebay — там было дешевле). Два лота уже сняты с продаж, поэтому вместо ссылок на них будут снапшоты — чтобы заинтересованные люди знали что искать.
1 датчик расхода воды, цена 6,36$ (лот у другого продавца, т.к. мой продавец снял этот датчик с продаж)
1 понижающий преобразователь на LM2596, цена 0,74$
1 часы реального времени I2C ds1307, цена 0,63$
1 набор прототипов печатных плат, цена 1,16$
1 джойстик, цена 0,56$
1 плата Arduino nano, цена 1,79$
1 водонепроницаемый датчик температуры DS18b20, цена 1,1$
1 I2C модуль для дисплея (снапшот), цена 0,66$
1 выключатель, цена 0,5$
1 экран 1602, цена 1,35$
1 реле 4-канальное, цена 3,56$
1 реле 1-канальное, цена 0,84$
3 датчика температуры DHT11, цена 0,99$ за штуку, всего 2,97$
4 поворотных садовых разбрызгивателя, цена 5,59$ за штуку, всего 22,36$
4 электромагнитных клапана (снапшот), цена 3,62$ за штуку, всего 14,48$. Аналоги легко ищутся здесь
4 кнопки со встроенным светодиодом (снапшот), цена 0,95$ за пару, всего 1,9$
Итоговые затраты в интернетах — 60,96$

В местном строительном магазине были куплены следующие вещи:
2 бухты поливочного шланга 5/8 (по 30м) — 540000 бел.рублей, или примерно 28$
8 муфт 1/2 — 112000 бел.рублей, или примерно 5,8$
3 тройника 1/2 — 60000 бел.рублей, или примерно 3$
8 штуцеров 15*16 — 92000 бел.рублей, или примерно 4,8$
Итоговые затраты в оффлайне — 804000 бел.рублей, или 41,2$

Также стоит упомянуть то, что не вошло в этот список — некоторые вещи из этого списка достались мне условно-бесплатно (старая рухлядь), на какие-то вещи я просто запамятовал цены. Это:
40 метров 4-жильного сигнального кабеля для подключения температурных датчиков;
40 метров самого дешевого 2-жильного медного кабеля для передачи 12 вольт на электромагнитные клапаны;
2 разветвителя RJ-11, которые были использованы в качестве выходов для подключения датчиков температуры и влажности, и 4 коннектора для кабелей с датчиками;
2 разветвителя RJ-45, для связи блока управления, находящегося в доме, с блоком реле и датчиков почвы, находящимся на улице рядом с насосом, и 4 коннектора для кабелей;
старый кабель (витая пара) — метров 30-40, для соединения ардуины с релюшками;
коннектор для подключения дисковода, выпаянный со старой материнской платы, и шлейф от дисковода;
старый блок питания на 24 вольта;
обрезки мебельного щита толщиной 12-16 мм для изготовления коробок для системы.


Фотки разветвителей до применения не сделал, выглядят примерно так:

3. Изготовление того, что не было куплено
Некоторые вещи по тем или иным причинам пришлось делать самостоятельно из подручных материалов. Постараюсь здесь описать, что и как было сделано, и почему именно так а не иначе.

3.1 Датчик влажности почвы (надеюсь, долгоживущий)
Как вы можете заметить, в списке покупок отсутствует датчик влажности почвы, хотя в проекте он заявлен. Дело в том, что сама идея закапывать в землю кусок текстолита с тоненькими полосками металла мне показалась достаточно бредовой, поэтому я решил найти способ получше. Пошарившись по интернету, я нашел вот эту тему на тематическом форуме, там есть хорошие советы и примеры. В общем, решил сделать так же, как там и написано: 2 проводника, резисторы и 3-жильный провод. В качестве катода и анода была использована одна велосипедная спица, безжалостно покусанная на части. Вот для сравнения куски донора и целая спица

Паяем провода, резисторы и куски спицы — в общем, делаем все так, как написано на форуме

Потом временно фиксируем анод и катод на пластилин, чтобы заделать наше рукоделие термоклеем

Далее в качестве формочки был взят маленький стаканчик от детского йогурта, в нем я сделал отверстие для провода, аккуратно установил конструкцию внутрь и залил анкерным составом Ceresit СХ-5



Форумчане рекомендуют гипс, но под рукой его не оказалось, думаю что быстросхватывающийся цемент будет не хуже.
Высохло — вскрываем



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

Для использования этого мегадевайса требуется предварительная калибровка. Делается это элементарно: берем сухую почву, в нее тыкаем самодельный датчик, проверяем и записываем полученное значение влажности. Затем льем туда столько воды, чтобы получилось небольшое болотце, и снова снимаем значение с датчика.
По-быстрому откалибровался вот этим скетчем с форума:

В моем случае, значение на датчике было чуть больше 200 в сухой почве, и чуть меньше 840 во влажной.
Теперь у нас есть минимальный и максимальный уровни влажности конкретно взятой почвы, их нужно будет внести в соответствующие константы в основном скетче. Вот и все!


3.2 Блок питания для клапанов
Можно было, конечно, купить в Китае обычный блок питания на 12 вольт, выдающий хотя бы 1 ампер, но в закромах Родины куче старого барахла нашелся зарядник от дохлого шуруповерта, выдающий полампера при напряжении 24 вольта. Поэтому был куплен понижающий преобразователь на LM2596, и затем успешно встроен в старый блок. Отдельных фоток процесса я не делал, бо не об этом обзор… Вот модифицированный блок вместе с клапаном, сойдет за пример

В корпусе блока было сделано отверстие, удобной регулировки напряжения. Теперь с помощью отвертки и мультиметра можно выставить любое напряжение от 5 до 24 вольт. Получилось довольно неплохо, как мне кажется. К сожалению, я прощёлкал этот обзор Aloha_ про понижающие преобразователи… Но в моем случае все вроде бы нормально, перегрева не замечено.

3.3 Держатели для разбрызгивателей
Вот эту штуку в магазине купить точно не получится! Потому что сделана она в количестве 4 единиц по спецзаказу:) Хотя здесь все просто: полудюймовая труба высотой один метр, снизу сделан изгиб под 90 градусов и приварен уголок длиной 30-40 см, чтобы держатель можно было воткнуть в землю в нужной части участка. Вверху резьба должна быть внутренняя на полдюйма (в моем случае там просто наварена муфта), внизу — кому как удобнее. В моем случае там наружная полдюймовая резьба, но как показала практика — лучше бы была внутренняя, тогда не пришлось бы навинчивать сначала муфту, потом в нее штуцер или клапан… В общем, не продумал заранее, поэтому получил дополнительные расходы на муфты:(
Наглядные фото держателя — вот:


И еще чуть дальше будет фотка держателя в процессе эксплуатации.














Далее разветвители (телефонные и под витую пару) вскрываем, паяем к ним провода и садим на термоклей. Здесь видно более подробно



Экранчик и часы реального времени были объединены в одно целое вот таким способом

И далее эта конструкция была торжественно закреплена саморезами в коробке. Так же был прикручен джойстик. Теперь внешне блок управления выглядит так:

Осталось закинуть в коробку мозги — и блок управления готов.
Теперь внимание. Эстетам, детям и беременным женщинам настоятельно не рекомендуется открывать следующий спойлер… Потому что красивых плат, которые умеют делать Yurok, ksiman и прочие известные здесь личности, вы не увидите. Зато вы увидите монтаж платы в лучших традициях КитайПодвалПрома: проводки вместо дорожек, и термоклей, чтобы это все не развалилось. Поэтому еще раз предупреждаю: не надо открывать спойлер! Поверьте на слово, эта плата работает, но лучше ее не видеть:)

Вот зачем вы открыли, а? Ну и ладно, любуйтесь… Помидорами не кидать!




5. Собираем поливатор
Здесь я сделаю небольшое отступление и приведу технические характеристики водонапорных компонентов.
Насос JY1000 польской фирмы Omnigena, согласно утверждениям производителя, имеет такие характеристики:
Производительность: 60 л/мин;
Максимальная высота подъема: 50 м;
Потребляемая мощность: 1100 Вт;
Максимальная глубина самовсасывания: 8 м.


вот

Ну и конечно, не стоит забывать, что производительность очень сильно зависит от глубины скважины и забитости фильтров.

Вот здесь — смотрим температуру и влажность



Вот так собственно выглядит колхозинг датчиков в дачных условиях. Крыльцо

Приямок

Теплица

Эти датчики пока ничего не говорят, почему — объяснял выше


И, наконец… Семь бед — один ресет:

А теперь — видео, куда ж без него.
1. Мини-экскурсия — что есть в меню поливатора. Датчики были не подключены, поэтому все показывают по нулям.


5. Тестовый полив с кнопки — включение и выключение. Работу разбрызгивателя не показываю, но чесслово — все работает

7. Сравнение с рыночными предложениями
Доступный вариант на российском рынке — системы Gardena, продается в OBI. Можно взять блок управления Gardena modular за 13590 рублей и еще 4 клапана по 3990 рублей, итоговая цена будет всего-то 29550. Здорово, конечно, и выглядит красиво. Но отдавать почти 500 американских денег… И насколько я понимаю — здесь в комплекте нет разбрызгивателей, соединителей и шлангов! Ладно, смотрим дальше.
Опять Gardena в том же магазине, но здесь уже система на 6 линий. Состоит из таймера подачи воды Gardena MasterControl за 11190 рублей и распределителя воды за 6990 рублей — итого 18180, или почти 300 бакинских… Шланги и разбрызгиватели, как и в предыдущем случае, нужно покупать отдельно.
Ebay сходу предложил блок управления вместе с клапанами Melnor Aquatimer примерно за 60 долларов, плюс ~35$ стоит доставка — в итоге почти сотня. Как вариант, доступны контроллеры (без клапанов) Rain Bird ESP-RZX Series 4 и Hunter XC 400i по ценам не ниже 75 баксов, не считая доставки. Клапаны отдельно; для хантера, например, они идут от 22 баксов за штуку, оптом дешевле.

И вместо послесловия. Имело ли смысл мне заморачиваться изобретением велосипеда, если он уже есть на рынке? Думаю, что да. Что лично я от этого получил? Во-первых, существенную экономию, во-вторых, возможность реализовать систему так, как это нужно именно мне, в-третьих — мне это просто было интересно. Реализуйте свои проекты и не бойтесь делать ошибки. Не ошибается только тот, кто ничего не делает!

Читайте также: