Какую систему автополива комнатных растений купить
Купить можно разные конструкции и варианты, у каждой свои особенности.
Птичка
Работает по принципу конуса, но ее минус заключается в небольшом объеме жидкости, который заливается в резервуар в форме птички. Плюс системы, что она позволяет сократить пробелы в регулярном поливе капризных растений, привлекает и оригинальный дизайн. Стоимость такого приспособления от 200 руб.
Easygrow
Easygrow — автоматическая система полива для комнатных растений, работающая от сети 220 Вт или от 4 батареек. Предназначена для капельного полива до 15 горшков с цветами. На таймере можно задать периодичность включения полива. Не зависит от центрального водоснабжения, надевается с помощью кронштейна на емкость с водой. Прибор выпускает Китай. Такая цена существенно влияет на выбор системы автополива для растений и является единственным ее минусом.
Как работает система автоматического полива комнатных растений Easygrow:
Ардуино
Ардуино или arduino – система автоматического полива, которую нужно собирать из частей: блока питания, насоса, датчика, влажности, емкости для воды, шланга, проводков, микросхемы. Такой прибор позволяет обработать максимальное количество горшков, все зависит от его мощности и количества купленных шлангов. Минус такой конструкции в том, что ее нужно собирать по определенной схеме и человеку, не знающему азов электронике, будет очень сложно. Также для нее нужно прописывать код программы. Существенный минус — стоимость от 3000 руб. и более.
Пластиковый или керамический конус с трубочкой, OBI
Принцип действия у системы полива оби как у капельниц. Конус заглубляется в грунт, пластиковая трубочка в емкость с водой. Продается со специальной резьбой, благодаря которой можно накручивать на бутылку и устанавливать в горшок с растением.
Кашпо с автополивом
Представлены несколькими моделями разных фирм, они предназначены и для повседневного использования:
- coubi;
- lechuza;
- green Apple.
Собраны по похожей конструкции в виде больших горшков. Снизу находится резервуар с водой. К краю кашпо присоединен датчик уровня воды. Плюс таких кашпо в том, что не требуется пересадки растений в другую емкость. Горшок с цветком устанавливается в кашпо, где происходит автоматическая подача воды. Плюс конструкции в производстве кашпо из экологичных материалов, удобстве и во времени постепенного орошения субстрата (до 4-х месяцев). Минус устройства в количестве опущенных в его емкость горшков с цветами (1-2 шт)., и высокой стоимости.
olGGol
Умное устройство полива, работает по капельному принципу, но при этом требует пересадки цветов в отдельный горшок. На дно выкладывают слой с питательным минеральным дренажом. Дальнейшие действия:
- В горшок опускается по типу «шприца» прибор
- Сверху высаживается растение с земляным комом.
- Когда вода начинает испаряться, то под давлением поднимается по крышке емкости с водой и снова опускается в прикорневой слой, увлажняя его.
Плюс в качественной конструкции для орошения и рыхления грунта в области корней. В комплект входит система, дренаж, горшок разного диаметра. Минус — высокая стоимость и применение к одному из растений. Чтобы все цветы оставить с таким устройством, придется приобрести его по количеству горшков с цветами.
Производитель — российская компания, товар сертифицирован и запатентован, его стоимость на одно изделие — от 300 руб.
Автоматический полив
После организации считывания данных с датчика уровня влажности и их отображения, проект можно развить дальше, организовав систему автоматического полива.
Датчик уровня влажности в составе автоматической системы полива на основании Arduino:
Для автоматизации полива нам понадобятся дополнительные детали: возможно, шкивы, зубчатые шестерни, двигатель, муфта, транзисторы, резисторы. Список зависит от вашего проекта. Ну все, что может попасться под руку в быту. Более детально один из примеров показан ниже:
Это один из множества вариантов установки двигателя для системы автоматического полива. Колесо можно установить непосредственно в воде. В таком случае при его быстром вращении, вода будет подаваться к растению. В общем, можете проявить фантазию.
Схема подключения двигателя постоянного тока (статья с более подробным примером подключения двигателя к Arduino) на примере копии Arduino от SparkFun приведена ниже:
Ниже приведен скетч для Arduino (по сути он такой же как и приведенный выше с небольшим дополнением для управления двигателем):
// В скетче считываются данные с датчика и отображается уровень влажности почвы
// если почва сухая, начинает работать двигатель
// Для работы с дисплеем используется библиотека softwareserial library
#include <SoftwareSerial.h>
// Подключите пин для обмена данными с использованием LCD дисплея по серийному протоколу RX к цифровому пину 2 Arduino
SoftwareSerial mySerial(3,2); // pin 2 = TX, pin 3 = RX (unused)
// Управляем двигателем с помощью пина 9.
// Этот пин должен обязательно поддерживать ШИМ-модуляцию.
const int motorPin = 9;
// Тут мы настраиваем некоторые константы.
// Настройка констант зависит от условий внешней среды, в которой используется датчик
int thresholdUp = 400;
int thresholdDown = 250;
// Настраиваем пин A0 на Arduino для работы с датчиком:
int sensorPin = A0;
void setup(){
pinMode(motorPin, OUTPUT); // устанавливаем пин, к которому подключен двигатель в качестве выхода
mySerial.begin(9600); // устанавливаем скорость обмена данными на 9600 baud
delay(500); // ждем пока дисплей прогрузится
}
void loop(){
// Здесь мы объявляем строку, в которой хранятся данные для отображения
// на жидкокристаллическом дисплее. Значения будут изменяться
// в зависимости от уровня влажности почвы
String DisplayWords;
// В переменной sensorValue хранится аналоговое значение датчика с пина А0
int sensorValue;
sensorValue = analogRead(sensorPin);
// перемещение курсора к началу первой строки LCD дисплея: mySerial.write(254);
mySerial.write(128);
// очистка дисплея:
mySerial.write(» «);
mySerial.write(» «);
// перемещение курсора к началу первой строки LCD дисплея: mySerial.write(254);
mySerial.write(128);
// запись необходимой информации на дисплей:
mySerial.write(«Water Level: «);
mySerial.print(sensorValue); //Использование.print вместо .write для значений
// Теперь мы проведем проверку уровня влажности по сравнению с заданными нами предварительно числовыми константами.
// Если значение меньше thresholdDown, отображаем слова:
// «Dry, Water it!»
if (sensorValue
// перемещение курсора к началу второй строки дисплея:
mySerial.write(254);
mySerial.write(192);
DisplayWords = «Dry, Water it!»;
mySerial.print(DisplayWords);
// запуск двигателя на небольших оборотах (0 – остановка, 255 – максимальная скорость):
analogWrite(motorPin, 75);
// Если значение не ниже thresholdDown надо провести проверку, не будет
// ли оно больше нашего thresholdUp и, если, больше,
// отобразить надпись «Wet, Leave it!»:
} else if (sensorValue >= thresholdUp){
// перемещение курсора к началу второй строки дисплея:
mySerial.write(254);
mySerial.write(192);
DisplayWords = «Wet, Leave it!»;
mySerial.print(DisplayWords);
// выключение двигателя (0 – остановка, 255 – максимальная скорость):
analogWrite(motorPin, 0);
// Если полученное значение в диапазоне между минимальным и максимальным
// и почва была раньше влажной, а теперь сохнет,
// отображаем надпись «Dry, Water it!» (то есть, когда мы
// приближаемся к thresholdDown). Если почва была сухой, а теперь
//быстро увлажняется, отображаем слова «Wet, Leave it!» (то есть, когда мы
// приближаемся к thresholdUp):
} else {
// перемещение курсора к началу второй строки дисплея:
mySerial.write(254);
mySerial.write(192);
mySerial.print(DisplayWords);
}
delay(500); //Задержка в пол секунды между считываниями
}
Удачи вам в реализации автоматического полива ваших растений!
Проведение калибровки
На датчике будут отображаться значения, которые напрямую связаны с кислотностью земли. Соответственно, перед запуском автополивщика необходимо выполнить простую калибровку. Она проводится таким образом:
- Сначала записываются цифры, полученные после того, как датчик воткнут с сухую почву. Это минимальная влажность.
- Затем нужно полить растение и подождать момента, когда вода впитается в землю. Показатели должны оставаться на стабильном уровне, зачастую это в районе 60%, но все растения разные, поэтому предварительно узнайте, насколько ваш зеленый друг требователен к этому параметру. Их также следует сохранить, поскольку это максимальная влажность.
- С готовыми результатами следует отредактировать наш скетч (код в среде Arduino IDE), изменяем значение минимальной влажности, в нашем коде это — MIN _HUM и MAX_HUM на параметр нормальной влажности.
- Остается перепрошить Arduino Uno, для этого подключает через кабель к пк, выбираем порт, плату, жмем в правом углу кнопку загрузить.
- Расширение функциональности автополивщика
Выше была предложена система для одного горшка. На практике, автополив на Адруино эффективнее применять для нескольких растений. Для этого к Адруино можно подключить дополнительные насосы и сенсоры влажности. Однако можно поступить намного проще. В поставляемом с насосом шланге можно сделать дырочки с учетом расстояния, на котором расположены растения. В полученные отверстия можно воткнуть стержни простых ручек. Результат получится примерно такого вида:
Часто в помещениях растения в горшках располагают на подоконнике одним рядом. Это облегчает задачу, поскольку трубка крепится к горшкам таким образом, чтобы распределить выводы с водой по одному на растение. Единственное — с таким решением, настройка автоматического полива выполняется с учетом одного растения. Если горшки более-менее одинаковые по габаритам, скорость высыхания в них почвы должна быть равной. Как вариант, можно совместить оба способа масштабирования, что позволит поделить всю растительность на примерно одинаковые по габаритам горшки.
УПРАВЛЕНИЕ
Версия 1.*Система управляет количеством помп PUPM_AMOUNT, подключенных подряд в пины платы, начиная с пина START_PIN. На каждую помпу заводится таймер, который включает помпу на заданное время через заданные промежутки времени. Промежутки времени (период работы) может быть в часах или минутах (настройка PERIOD). Время работы помпы может быть в минутах или секундах (настройка PUMPING). Включение производится сигналом уровня SWITCH_LEVEL. 0 – для реле низкого уровня (0 Вольт, все семейные модули реле), 1 – высокого уровня (5 Вольт, редкие модули реле, все мосфеты).Примечание: катушка реле кушает около 60 мА, несколько включенных вместе катушек создадут лишнюю нагрузку на линию питания. Также несколько включенных одновременно помп сделают то же самое. Для устранения этого эффекта есть настройка PARALLEL. При её отключении помпы будут “вставать в очередь”, совместное включение будет исключено.Управление:
- Нажатие на ручку энкодера – переключение выбора помпы/периода/времени работы
- Поворот ручки энкодера – изменение значения
- Кнопка энкодера удерживается при включении системы – сброс настроек
Версия 2.*ПЕРЕД ПРОШИВКОЙ ВТОРОЙ ВЕРСИИ ЗАМЕНИТЕ ВСЕ БИБЛИОТЕКИ НОВЫМИ (ИДУТ В АРХИВЕ ПРОЕКТА, В ПАПКЕ НОВАЯ ВЕРСИЯ)!!!!Поворачивая рукоятку энкодера мы перемещаем стрелочку выбора по экрану
Обратите внимание на то, что настройка времени работы помпы находится правее «за экраном», нужно пролистать стрелочку направо чтобы её активировать. Чтобы изменить выбранный стрелочкой параметр, нужно повернуть рукоятку энкодера, удерживая её нажатой
Таким образом можно настроить время периода и работы помпы в формате ЧЧ:ММ:СС. Логика работы настроек PUPM_AMOUNT, START_PIN, SWITCH_LEVEL и PARALLEL такая же как для версии 1.*
Шкаф управления системой
На следующем рисунке приведена структурно-функциональная схема шкафа управления.
Центром системы является контроллер Arduino Mega.
Контроллер управляет модемом SIM900 с помощью AT-команд, передаваемых через COM-порт.
Таким образом осуществляется обмен данными с сервером.
Возникают случаи, когда модем может попасть в «сложную ситуацию». Иногда для того, чтобы восстановить его нормальную работу требуется аппаратная перезагрузка. Для этого в систему добавлен модуль перезагрузки модема, представляющий собой электромагнитное реле, через которое скоммутировано питание модема.
Сигналы от датчиков уровня воды в резервуаре принимает модуль ввода дискретных сигналов. Датчики имеют выход типа «сухой контакт». Подробнее о них можно почитать тут. Для того чтобы завести дискретные сигналы от датчиков в контроллер, пропитываем их напряжением 24 В от блока питания. Модуль ввода представляет собой дискретные входы с опторазвязкой, преобразующие входной уровень напряжения в 24 В в уровень 5В, понятный контроллеру.
Для измерения температуры на улице к контроллеру подключен датчик DS18B20. Контроллер производит с ним обмен по интерфейсу OneWire.
В данной статье мы не будем приводить электрическую схему шкафа управления, код программы Arduino и подробно рассказывать о работе веб-сервера, т.к. это тема для отдельного разговора. Для тех, кто хочет углубиться в эту тему мы подготовили серию уроков.
Программное обеспечение
Чтобы заставить скетч заработать, потребуется предварительно загрузить и установить библиотеку QuadDisplay2, позволяющую работать с экраном. Она доступна на ресурсе Github по адресу: https://github.com/amperka/QuadDisplay2.
Исходный код программы ирригатора выглядит следующим образом:
// Добавление библиотеки дисплея #include «QuadDisplay2.h» // переопределяем пина насоса #define PIN_NASOS 4 // пин с подключенным датчиком #define PIN_HUM A1 // мин влажность, измеренная на этапе калибровки (указываются в аналоговом значении до 1023) #define MIN_HUM 211 // оптимальная влажность #define MAX _HUM 715 // периодичность полива 180 секунд #define TIME_PERIOD 60000 * 3 // переменная для хранения показаний влажности почвы unsigned int hum = 0; // предыдущее время полива unsigned long previousTime = 0; // передаем CS пин QuadDisplay disp(9); void setup(void) { // запуск дисплея disp.begin(); // пин насоса в режим выхода pinMode(PIN _POMP , OUTPUT); // отображаем на дисплее 0 disp.displayInt(0); } void loop(void) { // снимаем текущее показание датчика влажности int humCurrent= analogRead(PIN _HUM); // сверяем показания влажности с предыдущим значением if(humCurrent != hum) { // сохраняем текущие показания влажности hum= humCurrent; // отображаем измеренное значение на дисплее disp.displayInt(humCurrent); } // если пришло вермя полива и влажность ниже оптимальной, то запускаем насос if ((previousTime == 0 || millis() — previousTime > TIME_INTERVAL) && humidity < MIN_HUMIDITY ) { // включение насоса на 2 секунды digitalWrite(PIN_NASOS, HIGH); delay(2000); // выключаем помпу digitalWrite(PIN_NASOS, LOW); // запоминаем предыдущее время проверки полива previousTime = millis(); } }
Масштабирование решения
Мы описали решение для одного растения. Но обычно требуется поливать несколько растений. Помимо очевидного решения — подключения к Arduino нескольких помп и датчиков влажности — существует более простое и дешёвое. Достаточно в трубке, которая идёт в комплекте с помпой проделать шилом дырочки на расстоянии около 30 см и воткнуть в эти дырочки куски стержней от обычных шариковых ручек. Выглядеть это будет так:
Горшки с цветами дома часто стоят в ряд на подоконнике. Вам достаточно просто положить трубку на горшки так, чтобы отверстия в ней приходились по одному на горшок. Теперь наше устройство может поливать сразу несколько горшков. Однако в таком случае принимать решение о необходимости полива можно только по одному горшку. Однако обычно горшки примерно одинаковые по размерам и, соответственно, сохнут с примерно равной скоростью. Можно так же комбинировать два решения, разделяя все горшки на группы примерно равных по размерам.
Что ещё можно сделать?
- Несмотря на золочение, контакты сенсора влажности со временем корродируют. Быстрее всего корродирование происходит при подключённом питании. Срок жизни сенсора можно значительно увеличить, если подключить питание к нему через силовой ключ. Когда надо получить данные — включаем питание сенсора, снимаем показания и тут же выключаем питание.
- Если оставить наш ирригатор работающим на длительный срок без присмотра, вода в резервуаре может закончиться. При работе без воды помпа быстро выходит из строя. Решением проблемы может быть автоматическое определение опустошения резервуара. Сенсор подбирается исходя из типа резервуара. Если он не глубок, то подойдёт ещё один датчик влажности. Когда же высоты его не хватает, можно воспользоваться УЗ-дальномером, сделать поплавок с датчиком наклона или просто опустить на дно два провода.
- Устройство, работающее от батареек, будет значительно безопасней питающегося от сети. Идеальным вариантом было бы питание ирригатора от батареек. Но Arduino Uno, как известно, даже в режиме сна потребляет более 10 мА. Выходом может являться использование Arduino Mini, способный в режиме сна снижать потребляемый ток до сотен мкА.
- Существует много правил полива домашних растений, как, например: не стоит поливать зимой вечером. Можно добавить сенсоров света или часы реального времени и скорректировать программу так, чтобы она старалась поливать в нужное время.
А ещё можно собрать автополив на Slot Shield — инструкция по сборке и прошивка.
Компоненты и их описания
Arduino Uno
Arduino взаимодействует через датчики с окружающей средой и обрабатывает поступившую информацию в соответствии с заложенной в неё программой. Подробнее с платой Ардуино Уно можно ознакомиться здесь.
Ардуино Уно
Датчик влажности почвы
Измерение влажности почвы на базе Arduino производится с помощью датчика влажности. Датчик имеет два контакта. Через эти контакты при погружении их в грунт протекает ток. Величина тока зависит от сопротивления грунта. Поскольку вода является хорошим проводником тока, наличие влаги в почве сильно влияет на показатель сопротивления. Это значит, чем больше влажность почвы, тем меньше она оказывает сопротивление току.
Датчик влажности почвы
Этот датчик может выполнять свою работу в цифровом и аналоговом режимах. В нашем проекте используется датчик в цифровом режиме.
На модуле датчика есть потенциометр. С помощью этого потенциометра устанавливается пороговое значение. Также на модуле установлен компаратор. Компаратор сравнивает данные выхода датчика с пороговым значением и после этого даёт нам выходной сигнал через цифровой вывод. Когда значение датчика больше чем пороговое, цифровой выход передаёт 5 вольт (HIGH), земля сухая. В противном случае, когда данные датчика будут меньше чем пороговые, на цифровой вывод передаётся 0 вольт (LOW), земля влажная.
Этим потенциометром необходимо отрегулировать степень сухости почвы, когда как вы считаете нужно начать полив.
Фоторезистор
Фоторезистор (LDR) — это светочувствительное устройство, которое используются для определения интенсивности освещения. Значение сопротивления LDR зависит от освещённости. Чем больше света, тем меньше сопротивление. Совместно с резистором, фоторезистор образует делитель напряжения. Резистор в нашем случае взяли 10кОм.
Делитель напряжения
Подключив выход делителя Uin к аналоговому входу Ардуино, мы сможем считывать напряжения на выходе делителя. Напряжение на выходе будет меняться в зависимости от сопротивления фоторезистора. Минимальное напряжение соответствует темноте, максимальное – максимальной освещённости.
В этом проекте полив начинается в соответствии с пороговым значением напряжения. В утренние часы, когда считается целесообразным начать полив, напряжение на выходе делителя равно 400. Примем это значение как пороговое. Так если напряжения на делителе меньше или равно 400, это означает, что сейчас ночь и насос должен быть выключен.
Меняя пороговое значение можно настроить период работы автополива.
Релейный модуль
Реле представляет собой переключатель с электромеханическим или электрическим приводом.
Релейный модуль
Привод реле приводится в действие небольшим напряжением, например, 5 вольт от микроконтроллера, при этом замыкается или размыкается цепь высокого напряжения.
Схема реле
В этом проекте используется 12 вольтовый водяной насос. Arduino Uno не может управлять напрямую насосом, поскольку максимальное напряжение на выводах Ардуино 5 вольт. Здесь нам приходит на помощь релейный модуль.
Релейный модуль имеет два типа контактов: нормально замкнутые и нормально разомкнутые контакты. Нормально замкнутые без управляющего напряжения замкнуты, при подаче напряжения размыкаются. Соответственно нормально разомкнутые без напряжения разомкнуты, при подаче управляющего напряжения замыкаются. В проекте используются нормально разомкнутые контакты.
Водяной насос
В проекте используем 12-и вольтовый погружной насос с 18-ваттным двигателем. Он может поднимать воду до 1,7 метра.
Водяной насос
Этот насос можно эксплуатировать только тогда, когда он полностью погружен в воду. Это налагает некие обязательства по контролю уровня воды в ёмкости. Если водяной насос будет работать без воды, он просто-напросто сгорит.
Макетная плата
Макетная плата представляет собой соединительную плату, используемую для создания прототипов проектов электроники, без пайки.
Капиллярные маты
Капиллярные маты — это гигроскопичные коврики, которые одним углом погружаются в резервуар жидким раствором для удобрения или с водой. Она быстро распространяется по всему мату, поэтому горшки с большими дренажными отверстиями хорошо увлажняются. В продаже есть маты с дополнительными поддонами, в которые они укладываются, поливаются водой. Влагу держат до 2-х недель.
Ранее место капиллярных матов занимали большие тазы с водой, в которые погружали горшки. От размера дренажных отверстий зависело количество попавшей воды в грунт, что не всегда спасало растение от засухи, а, наоборот, часто перенасыщало водой грунт, от чего начинали гнить корни.
Автополив — что это такое, плюсы и минусы
Автополив – это система, чаще выполненная по капельному принципу беспрерывного увлажнения грунта в горшках с комнатными цветами. Хотя принцип действия устройств может быть разный, но, как и любое устройство, она имеет свои преимущества и недостатки:
Преимущества:
- Возможность увлажнять грунт в горшках при длительных командировках.
- Сокращение времени полива и экономия воды.
- Улучшение роста цветов.
- Автоматизация ручного полива.
- Отсутствие грязи на подоконниках после полива.
- Не надо просить посторонних людей пойти полить цветы.
Недостатки:
- Автоматические системы могут сломаться.
- Не все системы работают без вмешательства человека, поэтому могут произойти сбои в подаче воды.
- Системы из подручных средств не всегда эффективны.
- Некоторые системы работают от электричества и водопровода, поэтому при отсутствии одного из составляющих процесса происходит сбой.
- Автоматизированные автополивочные агрегаты требует весомых финансовых затрат.
Каждая система имеет свои достоинства и недостатки, поэтому стоит рассмотреть несколько вариантов и выбрать с наиболее подходящим режимом.
Что такое автополив на «Ардуино»
Автополив — автоматизированный процесс увлажнения растений, в котором требуется минимальное участие человека. Если организовывать его на плате «Ардуино», то от пользователя потребуется только периодически:
- менять воду для полива;
- осматривать конструкцию на наличие неисправностей.
Такую систему удобно использовать тем, кто не бывает дома, но должен ухаживать за цветами, чтобы они не засохли. Кроме того, свой огород или дача — места, для которых подходит автоматизированное орошение. Автоматический полив можно обеспечить как для больших грядок, так и для маленьких комнатных горшков или клумб в саду. Изменения коснутся помпы для подкачки воды и трубок, по которым жидкость будет поступать к растениям.
WEB приложение для управления поливом через интернет
Через веб-приложение пользователь:
Главный экран управления и мониторинга состояния системы
На этом же экране пользователь может вручную включить или выключить любую из линий полива.
В нижней части экрана отображаются последние события, произошедшие на станции.
Экран управления расписанием полива в автоматическом режиме
На данном экране пользователь может создать расписание для работы системы в автоматическом режиме, чтобы сервер включал и выключал полив на станции без участия пользователя.
Журнал событий
В журнал заносятся важные события на станции: включение/выключение линий полива, обрыв связи со станцией, восстановление связи со станцией, температура на улице ниже заданного уровня, резервуар пуст, резервуар почти пуст.
Оповещение пользователя
В настройках станции пользователь может назначить некоторые события как «предупредительные» или «аварийные». При возникновении этих событий сервер будет оповещать пользователя по электронной почте и (или) СМС. Это могут быть события обрыва связи со станцией, низкий уровень воды в резервуаре или низкая температура на улице.
Нижний предел температуры и время таймаута, после которого система регистрирует обрыв связи, — задаются в настройках.
График уличной температуры
На этом экране отображается график изменения температуры в течение заданного промежутка времени (10 мин., 30 мин., час, 12 часов, сутки, неделя, месяц).