Про умные дома вы, наверное, слышали. Многие идеи в этом направлении весьма футуристичны, но это не должно останавливать.

Некоторые казались фантастикой всего 20 - 25 лет назад, а сейчас применяются повсеместно. В ближайшее время все дома сильно «поумнеют» или хотя бы начнут «умнеть». Направление это не только перспективное, но и интересное, так что не стоит оставаться в стороне.

Вообще, умный дом - это очень сложная система датчиков, механических и электронных компонентов, управляемая по заложенной программе. Эта система следит за расходом (и утечкой) воды, газа, электричества. Управляет освещением. Включает противопожарные элементы. Обеспечивает удаленное управление разными устройствами по телефону или СМС. Включает элементы защиты от краж и несанкционированного доступа. Содержит устройства бесперебойного питания жизненно важных для всей системы блоков.

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

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

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

Алгоритм работы автомата полива растений простой: высохла земля в горшке - поливаем, полили - ждем, пока высохнет. Вроде все просто на первый взгляд. Составляем список необходимых компонентов: микроконтроллерная плата, насос, силовой ключ управления двигателем насоса, датчик влажности почвы, емкость с водой (на самом деле хорошо бы подключиться к водопроводу, но лучше не будем:-) Чтобы система была полностью автономной, необходимо ее оснастить устройством оповещения о расходе воды, например, зеленый светодиод - воды достаточно, красный - воды осталось мало, надо долить. Значит, нужен еще датчик уровня воды.

Насос для автомата полива растений

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

Важно: прежде чем подключать насос к готовому устройству, проверьте его в работе. Автомобильный насос может выдать фонтан в несколько метров; дома такое «поливание» могут не понять и запретить на корню. Подберите опытным путем оптимальное напряжение. Автонасос рассчитан на питание от бортовой сети 12 В, на моем экземпляре достаточный напор появляется уже при напряжении 8…9 В. Насос от принтера напора в несколько метров не даст, но с ним другая проблема: в принтере он качал чернила, а они очень трудно отмываются, и такой насос аккуратнейшим образом необходимо будет промыть.

О датчиках

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

Датчик из гвоздей - самая простая конструкция. Для его изготовления нужен кусок пластика или резины, два гвоздя, провода и кембрик (изолента).

Датчик уровня жидкости можно сделать так же, как и датчик влажности почвы, а можно придумать конструкцию поплавкового типа. Второй вариант предпочтительнее. На рисунке 3 вариант такого датчика, где 1 - емкость с водой для полива и отметкой минимума, 4 - трубка из любого материала и стержень 3, который свободно ходит в трубке. Трубку и стержень можно взять от старой шариковой ручки. Внизу на стержень крепится поплавок 2 (кусок пенопласта). В верхней, надводной, части конструкции на трубке размещаем на пластиковой пластине контакты 5, это и будут контакты датчика. Сверху на стержень крепим токопроводящую пластину 6. Ход стержня в трубке 1…2 см. К контактам 5 припаиваем провода для подключения к Arduino. Трубка 4 неподвижно крепится внутри емкости.

Принцип работы датчика следующий. Когда воды много, поплавок 2 выталкивает стержень 3 до упора вверх, при этом пластина 6 не касается контактов 5. Когда уровень воды опускается ниже отметки МИН, поплавок опускается вместе с уровнем воды и опускает стержень с пластиной б, которая, в свою очередь, касается контактов 5 и замыкает их между собой. Контроллеру остается только считывать состояние контактов 5. Если лень возиться, можно купить похожие в автозапчастях, они там продаются как датчики уровня охлаждающей жидкости, цена самых простых 100 - 150 рублей.

Управление доверим Arduino

Для нее это тривиальная задача. Датчики одним контактом подключаем к пину Arduino и через высокоомный резистор подтягиваем к «земле», другим контактом - к +5 В питания Arduino. Для выбора способа подключения насоса нам нужно знать ток, который он потребляет в режиме работы, причем обязательно при перекачивании воды; на холостом ходу ток может быть меньше. Если ток меньше 3,5 А, то можно для подключения насоса применить транзисторную сборку uln2003.

Каждый выход uln2003 может управлять нагрузкой 0,5 А. Я подключил параллельно все семь входов и выходов для увеличения тока нагрузки: 7×0,5=3,5 А. Если ток насоса больше 3,5 А, то можно поставить полевой транзистор, например irf630 (но к нему нужны дополнительные элементы). Этот транзистор выдерживает ток до 9 А. Если вашему насосу требуется больший ток, то меняйте насос, а то у нас получится не поливалка, а брандспойт:-)

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

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

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

Код программы

// константы
const int dw = 12; // датчик уровня воды на 12 пин
const int dg = 11; // датчик влажности почвы на 11 пин
const int nasos = 2; // управление насосом на 2 пин
const int ledG = 3; // зеленый светодиод на 3 пин
const int ledR = 4; // красный светодиод на 4 пин
// переменные
int dwS = 0; // состояние датчика уровня воды
int dgS = 0; // состояние датчика уровня влажности почвы
//установки
void setup() {
// объявляем пины светодиодов и насоса как выходы:
pinMode(nasos, OUTPUT);
pinMode(ledG, OUTPUT);
pinMode(ledR, OUTPUT);
// объявляем пины датчиков и насоса как входы:
pinMode(dw, INPUT);
pinMode(dg, INPUT);
}
// рабочий цикл
void 1оор(){
// считываем состояния датчика уровня жидкости
dwS = digitalRead(dw);
// если воды много - включаем зеленый, иначе красный
if (dwS == LOW) {
digitalWrite(ledG, HIGH);
digitalWrite(ledR, LOW);
}
else {
digitalWrite(ledG, LOW);
digitalWrite(ledR, HIGH);
}
// считываем состояния датчика влажности почвы
dgS = digitalRead(dg);
// если почва сухая, включаем полив
if (dgS == LOW) {
digitalWrite(nasos, HIGH);
delay(2000);
digitalWrite(nasos, LOW);
delay(30000);
}
else {
digitalWrite(nasos, LOW);
}
}

Относительно кода хочу сказать следующее. Для его упрощения я поставил команды delay, на которые сам же ругался. Из-за delay в один момент наше устройство застывает на 30 секунд (а может, придется поставить и больше). Но в данном устройстве это не критично. Если в итоге устройство будет поливать 10 растений и произойдет совпадение, что все надо полить одновременно, думаю, 300 секунд, которые придется ждать последнему растению, не так уж важны.

А вот для источника питания такое решение сыграет положительную роль: оно не позволит устройству включить 10 насосов одновременно. Первый delay(2000) включает на 2 секунды насос, если у вас большое растение в большом горшке, то время надо увеличить, если насос очень производительный, то, наоборот, уменьшить. Второй delay(30000) дает почве 30 секунд пропитаться водой, об этом я писал ранее. Возможно, это время тоже нужно регулировать.

Конструктивно устройство состоит из двух частей - электронной и механической. Электронную часть и элементы питания желательно поместить в корпус, чтобы случайные брызги не вывели электронику из строя. Можно задействовать не всю Arduino, а микроконтроллер, кварц с конденсаторами и стабилизатор питания на 5 В. В этот же корпус помещаем микросхему uln2003, резисторы, выводим на лицевую панель светодиоды и устанавливаем разъем для подключения датчиков и насоса. Если насос мощный и uln греется, то в корпусе сверлим отверстия для вентиляции. Дополнительный индикатор включения устройства устанавливать не нужно, один из светодиодов уровня воды включен всегда, он и выполнит эту функцию.

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

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

Не допускайте перегрева!

Когда все отлажено, переходите к испытаниям практическим, взяв самое неприхотливое растение. Внимательно следите за состоянием растения, если что-то не так, останавливайте эксперимент до выяснения причин. Если все нормально, подключайте к Arduino еще один датчик и насос, дописывайте код и автоматизируйте полив еще одного растения. Без дополнительного расширения портов Arduino справится с десятком растений.

Приложение. Код без комментариев:
const int dw = 12;
const int dg = 11;
const int nasos = 2;
const int ledG = 3;
const int ledR = 4;
int dwS = 0;
int dgS = 0;
void setup() { pinMode(nasos, OUTPUT);
pinMode(ledG, OUTPUT);
pinMode(ledR, OUTPUT);
pinMode(dw, INPUT);
pinMode(dg, INPUT); }
void loop(){ dwS = digitalRead(dw);
if (dwS == LOW) { digitalWrite(ledG, HIGH);
digitalWrite(ledR, LOW); }
else { digitalWrite(ledG, LOW);
digitalWrite(ledR, HIGH); }
dgS = digitalRead(dg);
if (dgS == LOW) { digitalWrite(nasos, HIGH);
delay(2000);
digitalWrite(nasos, LOW);
delay(30000); }
else { digitalWrite(nasos, LOW); }}

Предыдущая статья: Следующая статья:

ArdСистема автополива автоматизирует работу по уходу за комнатным цветком. В тематических магазинах продают такую конструкцию по безбашенной цене. Однако вещь стоящая, так как машина самостоятельно регулирует «порции» влаги для растения.

В этой статье читателю предлагается создать собственный автополив на arduino. Микроконтроллер в данном случае выступает системой управления периферийных устройств.

Необходимые инструменты и периферия для реализации проекта «Автополив» на базе микроконтроллера Arduino

Ирригатор – устройство, контролирующее влажность почвы. Приспособление передает данные на датчик влажности, который укажет сконструированному автополиву на начало работы. Для составления программы используется язык программирования С++.

Таблица с требуемыми материалами:

Компонент Описание
Микроконтроллер Arduino Uno Платформа соединяет периферийные устройства и состоит из 2 частей: программная и аппаратная. Код для создания бытовых приборов программируется на бесплатной среде – Arduino IDE.

Чтобы составить и внедрить программу на микроконтроллер, необходимо приобрести usb-кабель. Для автономной работы следует купить блок питания на 10 В.

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

USB-кабель Обязателен в конструировании системы «автополив на ардуино» для переноски кода.
Плата для подключения сенсора – Troyka Shield С помощью платы подключается сенсорная периферия посредством обычных кабелей. По краям располагаются контакты по 3 пина - S + V + G.
Нажимной клеммник Служит фиксатором для пучковых проводов. Конструкция фиксируется с помощью кнопки на пружине.
Блок питания, оснащенный usb-входом

Анализатор влажности почвы

Идеальное средство для подключения платформ. В конструкции предусмотрен фонарик, который говорит о начале работы.

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

● MAX глубины для погружения в землю – 4 см;

● MAX потребление электроэнергии – 50 мА;

● Напряжения для питания – до 4 В.

Помпа с трубкой для погружения в воду Управление осуществляется с помощью коммутатора. Длина кабеля достигает 2 метров.
Силовой ключ Создан для замыкания и размыкания электрической цепи. Если использовать приспособление при конструировании автополива ардуино, не потребуется дополнительных спаек. Подключение к основной панели осуществляется также 3 проводами.
Соединительный провод – «отец-отец» Несколько проводов соединяют периферийные устройства.
Соединительный провод – «мать-отец» Проводки также соединяют устройства периферии.
Комнатный цветок Система пригодна для разного типа комнатных растений.

Схема подключения и алгоритм работы в проекте «Автополив» на базе мк Arduino

Ниже представлен алгоритм и схема подключения проекта на платформе arduino. Автополив строится следующим образом:

  1. Помещаем плату для сенсора на микроконтроллер.
  2. Подключаем анализатор влажности с помощью платы, описанной выше, к аналогичному пину – А0.
  3. Присоединяем сенсор к микроконтроллеру:
    1. Контакт CS подключается к пину № 9 на плате.
    2. Дисплейные контакты SPI соединяются с соответствующим разъемом на той же плате.
  4. Силовой ключ вставляем в пин №4.
  5. Коммутатор подводим к силовому ключу в разъемы, обозначаются буквами p+, p-.
  6. Теперь подключаем водяную помпу с трубкой с помощью клеммника в контакты с буквами l+ и l-. Постепенно перед конструирующим человеком построится схема.
  7. Втыкаем сенсорную панель, анализирующую влажность, в горшок с цветком.
  8. Конец трубки вставляем с водой в почву. В случае, если растение вместе с горшком по весу не превышает 2 кг, закрепляем шланг отдельно. Иначе водяная капель может опрокинуть цветок.
  9. Опускаем водяную помпу в бутылку, наполненную водой.
  10. Подключаем конструкцию к электрическому питанию.

Ниже предлагаем вам две альтернативные схемы для нашего устройства:

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

  1. Записываем сведения, выведенные на дисплей. При этом сенсор воткнут в сухой горшок. Это обозначается, как min влажности.
  2. Поливаем землю с растением. Ждем, когда вода до конца пропитает почву. Тогда показания на сенсорном экране покажут один уровень. Необходимо записать полученные сведения. Это значит max влажности.
  3. В записном блокноте фиксируем константы HUM_MIN и HUM_MAX тем значением, которое было получено в результате калибровки. Прописываем значения в программе, которую переносим затем на микроконтроллер.

Выше описано конструирование автополива для одного цветка. Однако у любителей комнатных растений дом обставлен горшками с цветами. С одной стороны такой вопрос кажется сложным: необходимо подключить несколько помп и анализаторов увлажнения почвы. Но существует более дешевое и простое решение по конструированию автополива.

В шланге от помпы проделываются 25 сантиметровые отверстия с помощью шила. В полученные дырочки втыкаются кусочки стержней ручек шарикового формата. В итоге получается:

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

Пользователь самостоятельно выбирает время для полива, но только для одного цветка. Нередко цветки по массе и размерам одинаковы. Следовательно, почва в горшках сохнет за одинаковое время. Для этого придуман метод комбинации: количество горшков делится по группам равного веса и размера.

Пример кода для Arduino для проекта «Автополив»

Переходим к программированию кода:

//Скачиваем библиотеку для работы дисплея и подключаем к программе #include "QuadDisplay2.h"; //Создаем константу, обозначающую контакт, к которому подключена водяная //помпа #define VODPOMPA_PIN 4; // Создаем константу, обозначающую контакт, к которому подключили //анализатор влаги земли #define HUM_PIN A0; //Min по влажности #define HUM_MIN 200; // Max по влажности #define HUM_MAX 700; //Время между проверками полива #define INTER 60000 * 3; //Объявляем переменную, в которой будет храниться значение влажности unsigned int hum = 0; //В этой переменной будем хранить временной промежуток unsigned long Time = 0; // Объявляем объект из класса QuadDisplay, затем передаем номерной знак //контакта CS QuadDisplay dis(9); //Создаем метод, отвечающий за работу дисплея void setup(void) { //Запуск метода begin(); // Объявляем функцию, которая будет отвечать за выход водяной помпы из //контакта pinMode(VODPOMPA_PIN, OUTPUT); //На дисплее загорается число - 0 dis.displayInt(0); } //Создаем метод, отвечающий за показатель влажности на данный момент void loop(void) { //Рассчитываем показатель увлажнения на данный момент int humNow = analogRead(HUM_PIN); // Если значение показателя не равно предыдущему, то... if(humNow != hum) { //Сохраняем полученные сейчас значение hum= humNow; //Вывод значения на экран displayInt(humNow); } //Задаем условия: если прошел заданный пользователь промежуток времени и //статус влаги в почве меньше необходимого, то... if ((Time == 0 || millis() - Time > INTER) && hum < HUM_MIN) { // Даем сигнал о начале работы водяной помпы digitalWrite(VODPOMPA_PIN, HIGH); //Объявляем потом, длящийся 2 секунды delay(2000); // Завершаем работу помпы digitalWrite(POMP_PIN, LOW); // Ставим в значение переменной Time текущее время и добавляем 3 минуты Time = millis(); } }

Дополнительно вы можете посмотреть пару интересных видео от наших коллег.

Сегодня для облечения ухода за растениями используются различные системы полива, они дают возможность контролировать количество воды для каждого вида растений, применять капельный полив или разбрызгиватели. Экономится вода, для растений создаются наиболее благоприятные условия развития. Единственный недостаток таких систем – необходимость постоянного контроля, включение/выключение производится вручную. Это довольно неприятное занятие, длительность полива в зависимости от вида растений, климатических условий и конкретной системы может достигать двух часов. Для того чтобы решить и эту проблему, следует устанавливать таймер полива для самотечных систем.

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

Автоматические системы полива огорода — схема

Есть знатоки, утверждающие что таймеры полива для самотечных систем настолько хороши, что могут работать при давлении воды от 0 до 6 атмосфер. Работать-то они при нулевом давлении будут, только поливаться ничего не будет. Самотек – понятие не физическое, а чисто бытовое. И означает не отсутствие давление, а отсутствие постоянно действующих водяных насосов. В самотечных системах насос подает воду лишь в накопитель, который находится на некотором расстоянии от земли. За счет перепада высот между верхним уровнем воды и местом ее выхода создается давление, именно оно заставляет двигаться водяной поток.

Почему таймеры используются в большинстве случаев для самотечных систем? Потому что они не могут работать при больших давлениях, слишком непрочные у них закрывающие клапаны и слабенький механизм их привода. Для большинства приборов максимальное давление воды не может превышать 0,5 атм., для такого давления емкость с водой должна находиться на расстоянии пяти метров от поверхности земли. У абсолютного большинства систем полива накопительные емкости располагаются значительно ниже.

Виды таймеров

В настоящее время можно приобрести три вида таймеров:

  • механические. Самые простые, относятся к полуавтоматическим системам управления. Включение выполняется вручную, выключаются автоматически через заданный период времени (до 120 минут). Не требуют источников питания, закрывающий клапан приводится в действие за счет пружины. Преимущества – низкая стоимость и высокая надежность. Недостатки – без присутствия людей во время включения не обойтись;

  • электронные с механическим управлением. Режимы полива полностью автоматизированы, график полива может регулироваться на семидневный период, длительность полива до 120 минут. Преимущества – относительно низкая стоимость, легкость создания программ и управления. Недостатки – невозможность подключения дополнительного оборудования;

  • электронные с программным управлением. Самые современные приборы, имеют возможность установки до 16 специальных функций. Недостатки – высокая стоимость. Кроме этого, неподготовленным пользователям бывает сложно устанавливать программы.

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

Таймер для полива на 2 линии, механический «Expert Garden»

  1. Электромагнитный клапан. В определенное время на электромагнитную катушку подается питание, под действием электромагнитного поля сердечник втягивается в соленоид и перекрывает водный поток. Если питание прекращается, то сердечник пружиной выталкивается вверх и просвет трубы открывается. В таймерах принцип работы может быть обратным – без напряжения клапан пружиной зарывается, а при возникновении сильного магнитного поля открывается. За счет такого принципа действия экономится заряд батареек. Отличить работу соленоидного клапана можно по характерному щелчку во время открытия/закрытия.
  2. Шаровой кран. Открытие/закрытие выполняет редуктор, который приводится в действие электрическим двигателем. Для экономии заряда также постоянно находится в закрытом положении, открывается только на период включения системы для полива. Во время срабатывания таймера с шаровым краном слышен непродолжительный шум работы электрического двигателя и редуктора.

Важно. Как только возникают риски появления заморозков, таймер нужно отключать. Почему? Во время пуска в обмотках статора появляются большие по значению токи, как только ротор начинает вращаться, сила тока падает до рабочих режимов. Во время заморозков шаровой клапан может немного примерзать, мощности электрического двигателя недостаточно для его отрыва. Это значит, что пусковые токи будут длительное время протекать по обмоткам, что неизбежно приведет к их перегреву и короткому замыканию. Да и сам редуктор не рассчитан на значительные усилия, могут выйти из строя шестерни привода. Такие неисправности требуют выполнения сложного ремонта или полной замены устройства.

Электронные таймеры с механическим управлением (тумблерного типа)

Очень простые в управлении, надежные и долговечные устройства. Для выбора режимов работы системы полива нужно выполнить следующие действия:

  • открутить верхнюю прозрачную пластиковую крышку. Работать нужно осторожно, не потерять прокладку герметизации, она может выпадать;
  • левым тумблером задать периодичность включения системы, максимальный период составляет 72 часа;
  • правым тумблером задать конкретную длительность полива, максимум 120 минут.

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

Производители в комплекте с таймером реализуют полный набор фитингов для подключения пластиковых труб или гибких шлангов различного диаметра. Питание таймера от двух пальчиковых батареек типа ААА 1,5 В.

Таймер полива — фото

Электронные таймеры с программным управлением

Более современные устройства, имеют значительно расширенные функции. В комплект поставок входят переходники для подключения трубопроводов и гибких шлангов различных диаметров. Настройка программного управления выполняется следующим образом:

  • снимите пластиковую крышку. Она довольно плотно закручивается на заводе-изготовителе, придется приложить значительные усилия;
  • нажмите кнопку включения Time, на электронном табло появятся параметры установки программы. Установите текущее время и день недели, действие нужно подтверждать нажатием кнопки Set;
  • по очереди переходите на каждый день недели, выбирайте время и продолжительность включения электронного таймера. Данные параметры будут сохраняться весь период пользования;
  • при желании на приборе можно настроить до 16 различных программ. Для этого нужно нажать кнопку Prog и после этого настраивать нужное количество программ. Все введенные данные должны подтверждаться нажатием кнопки Set.

Внутри устройства установлен довольно емкий конденсатор. Он предназначен для подачи сигнала о критическом разряде батареек и перехода таймера в режим автономного питания. При понижении заряда батареек на дисплее появится предупредительный сигнал. Со времени его появления батарейки еще могут работать 2–3 дня в зависимости от частоты и длительности включения системы полива.

В полностью автономном режиме конденсатор может обеспечивать функционирование таймера 3–4 дня. Если в течение этого времени батарейки не заменить, то таймер отключится. После этого все ранее установленные режимы полива с памяти сотрутся, придется повторять действия по установке с самого начала.

В дежурном режиме таймер потребляет не более 1,2 мА, во время срабатывания потребление тока увеличивается до 350 мА. Это очень небольшие значения, позволяющие устройству работать от одних батареек не менее сезона. Производители специально выходили из этого времени, в период ежегодного регламентного осмотра системы полива перед запуском рекомендуется устанавливать новые батарейки.

Есть модели таймеров, предназначенных для работы на больших и сложных системах полива. Они имеют несколько клапанов, что позволяет контролировать режимы поливки нескольких отдельных зон, для каждой из них устанавливаются свои параметры. Многоклапанные устройства могут подключаться к напряжению 220 В или иметь до восьми батареек ААА 1,5 В.

Какие данные следует принимать во внимание во время настройки датчиков

От правильности настройки программы таймера во многом зависят условия выращивания растений. Что нужно принимать во внимание?

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

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

Анализ трассировки прокладки систем полива. Большой перепад по высоте отдельных поливных линий может оказывать существенное влияние на их производительность. Во время настройки следует иметь в виду не только время полива, но и количество воды, которое за это время подается растениям.

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

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

Дополнительные возможности таймеров

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

  1. Датчик дождя. Такое оборудование применяется во время монтажа полива на открытых участках. Датчик дождя подает сигнал на электронное устройство о наличии естественных осадков. Таймер реагирует на эти сигналы и пропускает один полив, совпадающий с периодом дождя. Датчик настраивается в диапазоне осадков от 3 мм до 25 мм. Такой широкий диапазон позволяет более точно регулировать нормы полива с учетом погодных условий. Наличие функции ускоренного отзыва позволяет в минимальные сроки прекращать полив после начала дождя, устройства не требуют дополнительного обслуживания. В зависимости от регулировок вентиляционного кольца устанавливается отсрочка возврата дачка в режим ожидания. Время возврата в исходное положение имеет прямую зависимость от влажности и температуры окружающего воздуха. Это позволяет добиваться значительной экономии воды.
  2. Мембранный насос. Может монтироваться в совместном с таймером или отдельном корпусе, следит за уровнем воды в накопительных емкостях. При уменьшении количества воды ниже критического уровня автоматически включается насос для пополнения запасов. После наполнения баков насос отключается.
  3. Радиоканальный датчик влажности почвы. Самый современный прибор, значительно облегчает уход за растениями. Устанавливается в нескольких местах на грядках, блокирует команду таймера на полив в случае высокой влажности почвы. Самые современные устройства, повышают урожайность сельскохозяйственных культур минимум на 10%.
  4. Фильтр очистки воды. Выполняет качественную очистку воды, значительно увеличивает время эксплуатации таймера.

Дополнительные устройства контроля и управления могут приобретаться в комплекте с таймером полива или по отдельности.

Видео – Таймеры полива для самотечных систем

Хорошо известная пословица «Ничто не ново под луной» в случае применения автоматического полива растений работает на все сто. Ну чем не автомат марлевый жгут, который непрерывно «поливает» растение, если один конец в банке с водой, а другой закопан в грунт? Или совсем суперполив с помощью системы с хорошей электронной начинкой также охотно выполнит автоматический полив растений – она все может, все сделает, но… Нет же, находятся критиканы - жгут малоэффективный, электроника ценой кусается - дорого, да и не может электронный блок перенастраиваться – для каждого нового применения нужен свой. А здесь желательно что-то такое-эдакое...


Из чего состоит автомат полива?


Вот это «такое-эдакое» мы и попытаемся сделать. Оно будет дешевым, легко перенастраиваться и эффективным – дальше некуда. Логика его работы (говорят, алгоритм) следующая: если земля сухая – автомат поливает, если почва увлажнилась – полив прекращается до высыхания грунта. А сколько ждать? Да вопрос так даже не стоит. Правильным критерием будет «высыхание» грунта. Как только высохло, так и поливаем – в любое время дня и ночи...
А теперь разложим по полочкам наш автоматический полив растений с точки зрения разработчика «умной» поливалки:

  • окружающая среда – условия квартиры, наполненный грунтом цветочный горшок, который и нужно поливать;
  • блок управления – микроконтроллерная плата, в качестве которой считается наиболее приемлемым подключение ардуино;
  • объект управления – банка с водой, исполнительный механизм - насос для перекачки воды;
  • дополнительные элементы системы автоматического полива растений:
    • ее «глаза» - датчики высыхания грунта и уровня воды в банке;
    • «руки» - насос, который будет качать воду в зону полива;
    • чистая техника - ключ коммутации, фактически выключатель насоса и два светодиода, зеленый и красный, для индикации «вода есть» и «воды мало».
Вот и вся система, которую называют автоматический полив растений, способная освободить от рутины ежедневных забот.
Казалось бы, что вместо банки с водой нужно просто подключиться к водопроводной трубе, но шлангочки-трубочки по квартире – не очень украшают помещение, так что задача автоматического полива растений решается с использованием автономной емкости, которую надо ручками «заправлять» водичкой. А чтоб банка с водой не раздражала эстетические вкусы ее можно замаскировать декоративным рисунком, чтоб казалось, что так и надо.


Насос, выполняющий автоматический полив растений


Водяной насос

Насос для перекачки воды – покупной. Его можно взять от стеклоомывателя, принтера или аквариумный. Любой из них легко справится с задачей, но проще применить от автомобиля. Все просто – пришел, увидел, купил, но перед применением нужно опытным путем подобрать напряжение питания, чтоб его струя меньше напоминала самодельный домашний гейзер. Спокойная водяная струя образуется при напряжении от 8 В до 9 В.
Более сложный вопрос - рабочий ток двигателя насоса. У разных образцов это может быть 2-3 и больше ампер, а допустимая токовая нагрузка по выходу контроллера значительно меньше – 10 - 20 мА. Поэтому необходимо увеличить коммутационную способность блока управления. Для этого к его выходу подключают мощный транзистор, который, благодаря подключению ардуино и обеспечивает включение насоса. Применим сборку транзисторов uln2003 (см. схему), каждый из которых может коммутировать ток 0,5 А. Если входы и выходы объединить параллельно, то допустимый нагрузочный ток будет равняться суммарному, т.е. 0,5 * N. Так и сделаем.


Подключение ардуино – блока управления


Принципиальная схема устройства автоматического полива растений

Блок управления – одноплатный микропроцессорный контроллер Arduino, который и предназначен для таких простеньких задач. Техника работы с ним простая – отлаживают программу на компьютере и после подключения ардуино «переганяют» ее в процессор. Если что-то нужно изменить, то программу переделывают на компьютере и переустанавливают в контроллер. И при этом ничего не нужно перепаивать, переделывать. Это как раз и есть то, что называют «возможностью перенастройки».
Следующим этапом подключения ардуино к устройству, которое непосредственно выполняет функции автоматического полива растений, заключается в соединение проводов датчиков и силового провода питания насоса с самим контроллером. В данном случае лучше всего для блока питания использовать аккумулятор – полив работает очень короткое время – буквально несколько секунд, и постоянное «дежурство» сетевого блока питания нецелесообразно.


Датчики – «глаза» автомата


Датчик влажности из гвоздей

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

Поплавковый датчик уровня воды

Датчик уровня воды легко реализуется таким же «гвоздиковым», как выше, но мы сделаем другой – поплавковый (см. рисунок). Его легко собрать из трубки 4, которая фиксируется на банке, а стержень 3 по ней легко перемещается. В нижней части стержня крепится поплавок 2, а в верхней его части находится перемычка 6. На верхнем конце трубки расположена диэлектрическая пластина с двумя контактами 5 провода от которых идут на подключение ардуино.
Принцип датчика прост, как мир: если воды много поплавок 2 поднимает стержень 3, замыкающая пластина поднимается вверх и контакты 5 размыкаются. При снижении уровня воды до метки и ниже, поплавок опускается, и пластина 6 замыкает контакты 5.


Алгоритм устройства управления


Алгоритм управления

Самое важное при конструировании блоков управления на микропроцессорах – правильно построить алгоритм работы. Ведь подробное описание работы на специальном языке программ всех узлов, имеющих подключенный ардуино, определяет порядок опроса и анализа входных сигналов. Кроме того, для выполнения тех или иных действий заданных разработчиком (а это как раз мы с вами), контроллер должен учитывать отрезки времени работы исполнительных механизмов. И вот, что у нас получилось (см. рисунок). Рассмотрим по шагам.
После подключения ардуино в работу, он опрашивает состояние датчика уровня воды и отражает его светодиодами – это сигнализация для нас. Следующий датчик – влажности – может сказать «а почва-то влажная» и тогда блоку управления следует возвратиться в начало – его цикл работы завершился и так далее – без устали по циклу. Как только почва высохла контроллер, благодаря датчику, об этом узнает и начнет отрабатывать свою прямую задачу – полив.
Сначала будет включен насос, например, на 2 сек. А почему не на три-четыре-пять? Да потому, что эти 2 секунды мы определили экспериментально (а вполне могло быть и другое число – все зависит от насоса). Критерием служит количество перекачанной воды. Ее должно быть достаточно для полива в течение некоторого промежутка времени – час-два, может сутки. На смачивание грунта после полива отводится 30 сек (на ваш вкус). Только после отработки этого отрезка времени контроллер продолжит работу дальше, т.е. начнется новый цикл.
Новый цикл – это опять опрос датчика через подключение ардуино, анализ информации и т.д.
Алгоритм работы можно усложнять. Например, понадобится поливать не один горшок, а несколько – не ставить же контроллер на каждый. Для этого нужно использовать и его свободные входы/выходы куда и подсоединить датчики и насосы от каждого горшка, а в алгоритме предусмотреть дополнительные блоки их опроса.
После составления алгоритма работы устройства, на его основе пишут программу и моделируют на компьютере работу программы при помощи специальных отладчиков, которые всегда есть для конкретного контроллера – в нашем случае это ардуино. Отлаженная программа записывается в процессор ардуино, для этого там уже все есть, надо только включить с компьютера соответствующий блок отладчика.
Вариант такой программы приведен ниже (Вы можете скачать текст программы внизу статьи, вместе с чертежами устройства).


Код программы:


// константы
const int dw = 12; // датчик уровня воды на 12 пин
const int dg = 11; // датчик влажности почвы на 11 пин
const int nasos = 2; // управление насосом на 2 пин
const int ledG = 3; // зеленый светодиод на 3 пин
const int ledR = 4; // красный светодиод на 4 пин
// переменные
int dwS = 0; // состояние датчика уровня воды
int dgS = 0; // состояние датчика уровня влажности почвы
//установки void setup() {
// объявляем пины светодиодов и насоса как выходы: pinMode(nasos, OUTPUT); pinMode(ledG, OUTPUT); pinMode(ledR, OUTPUT);
// объявляем пины датчиков и насоса как входы: pinMode(dw, INPUT); pinMode(dg, INPUT);
}
// рабочий цикл void 1оор(){
// считываем состояния датчика уровня жидкости dwS = digitalRead(dw);
// если воды много - включаем зеленый, иначе красный if (dwS == LOW) { digitalWrite(ledG, HIGH); digitalWrite(ledR, LOW);
}
else {
digitalWrite(ledG, LOW); digitalWrite(ledR, HIGH);
}
// считываем состояния датчика влажности почвы dgS = digitalRead(dg);
// если почва сухая, включаем полив if (dgS == LOW) { digitalWrite(nasos, HIGH); delay(2000);
digitalWrite(nasos, LOW); delay(30000);
}
else {
digitalWrite(nasos, LOW);
}
}


Конструкция автомата полива


А теперь займемся размещением узлов нашего автомата. Датчик влажности располагается в грунте горшка на углублении 2-5 см (подбирается экспериментально). Трубка, подающая воду, находится рядом с одним из его электродов. Самый простой вариант емкости – стеклянная банка, а датчик воды с насосом крепятся на ее пластиковой крышке, причем насос можно разместить внутри банки.
Электронику, выполняющую автоматический полив растений – контроллер, блок питания, микросхему ключей uln2003 и резисторы прячем в стандартный корпус, которых сейчас в продаже можно подобрать - на любой вкус. На передней панели устанавливаем светодиоды и разъем, через который осуществляется подключение ардуино с насосом и датчиками.
Вот так в нашем доме может появиться еще один умный помощник, выполняющий автоматический полив растений, который будет следить за увлажнением грунта наших цветов и не скажет «да, знаешь, как то замотался в текучке, забыл». И если все так и случилось, то настоящий «самоделкин» посмотрит вокруг пристально, как будто с вопросом, «что бы еще сделать такое-эдакое?».

Хотели бы вы, чтобы ваши растения сообщали о том, что их надо полить? Или просто держали вас в курсе уровня влажности почвы?

В этой статье мы рассмотрим проект автоматизированного полива с использованием датчика уровня влажности почвы:

Обзор датчика уровня влажности почвы

Подобные датчики подключаются достаточно просто. Два из трех коннекторов - это питание (VCC) и земля (GND). При использовании датчик желательно периодически отключать от источника питания, чтобы избежать возможного окисления. Третий выход - сигнал (sig), с которого мы и будем снимать показания. Два контакта датчика работают по принципу переменного резистора - чем больше влаги в почве, тем лучше контакты проводят электричество, падает сопротивление, сигнал на контакте SIG растет. Аналоговые значения могут отличаться в зависимости от напряжения питания и разрешающей способности ваших аналоговых пинов микроконтроллера.

Для подключения датчика можно использовать несколько вариантов. Коннектор, приведенный на рисунке ниже:

Второй вариант более гибкий:

Ну и конечно можно напрямую запаять контакты на датчик.

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

Датчик уровня влажности почвы с нанесенным защитным покрытием на контактах и изолированными проводниками для подключения:

Проблема недолговечности датчика уровня влажности почвы

Один из недостатков датчиков подобного типа - недолговечность их чувствительных элементов. К примеру, компания Sparkfun решает эту проблему, используя дополнительное покрытие (Electroless Nickel Immersion Gold). Второй вариант продления срока действия сенсора - подавать на него питание непосредственно при снятии показаний. При использовании Arduino, все ограничивается подачей сигнала HIGH на пин, к которому подключен датчик. Если вы хотите запитать датчик большим напряжением чем предоставляет Arduino, всегда можно использовать дополнительный транзистор.

Контроль уровня влажности почвы - пример проекта

В приведенном ниже проекте использованы датчик уровня влажности, аналог платы Arduino - RedBoard и LCD дисплей, на котором выводятся данные про уровень влажности почвы.

Датчик уровня влажности почвы компании SparkFun:

Красный проводник (VCC) подключается к 5 В на Arduino, черный - к земле (GND), зеленый - сигнал - к аналоговому пину 0 (A0). Если вы используете другой аналоговый пин на Arduino, не забудьте внести соответствующие изменения в скетч для микроконтроллера, представленный ниже.

LCD дисплей подключен к 5 В, земле и цифровому пину 2 (также можно изменить и внести изменения в код) для обмена данными с микроконтроллером по серийному протоколу связи.

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

Программа для Arduino

Скетч достаточно простой. Для передачи данных на LCD дисплей вам необходимо подключить библиотеку Software Serial library. Если у вас в ее нет, скачать можно здесь: Arduino GitHub

Дополнительные пояснения приведены в комментариях к коду:

// Пример использования датчика уровня влажности почвы с LCD дисплеем.

SoftwareSerial mySerial(3,2); // pin 2 = TX, pin 3 = RX (не используется)

int thresholdUp = 400;

int thresholdDown = 250;

int sensorPin = A0;

String DisplayWords;

int sensorValue;

mySerial.write(254);

mySerial.write(128);

// очистка дисплея:

mySerial.write(" ");

mySerial.write(" ");

// перемещение курсора к началу первой строки LCD дисплея:

mySerial.write(254);

mySerial.write(128);

// "Dry, Water it!"

mySerial.write(254);

mySerial.write(192);

mySerial.print(DisplayWords);

} else if (sensorValue >= thresholdUp){

// перемещение курсора к началу второй строки дисплея:

mySerial.write(254);

mySerial.write(192);

mySerial.print(DisplayWords);

// перемещение курсора к началу второй строки дисплея:

mySerial.write(254);

mySerial.write(192);

mySerial.print(DisplayWords);

В программе использованы различные минимальное и максимальное значения. В результате среднее значение может характеризовать влажность в зависимости от того, почва увлажняется или сушится. Если вы не хотите использовать это среднее значение, максимальное и минимальное значения можно принимать одинаковыми. Однако эксперименты показывают, что предложенный подход позволяет более точно характеризовать процессы, которые происходят в почве. Определенного точного среднего значения в реальных условиях не существует. Так что с выборкой диапазона можно поиграться. Если вас интересуют процессы, которые происходят в почве при взаимодействии с водой, почитайте тут, например: Wiki . Процессы достаточно сложные и интересные.

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

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

Датчик уровня влажности в составе автоматической системы полива на основании 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;

pinMode(motorPin, OUTPUT); // устанавливаем пин, к которому подключен двигатель в качестве выхода

mySerial.begin(9600); // устанавливаем скорость обмена данными на 9600 baud

delay(500); // ждем пока дисплей прогрузится

// Здесь мы объявляем строку, в которой хранятся данные для отображения

// на жидкокристаллическом дисплее. Значения будут изменяться

// в зависимости от уровня влажности почвы

String DisplayWords;

// В переменной sensorValue хранится аналоговое значение датчика с пина А0

int sensorValue;

sensorValue = analogRead(sensorPin);

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!"

// перемещение курсора к началу второй строки дисплея:

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):

// перемещение курсора к началу второй строки дисплея:

mySerial.write(254);

mySerial.write(192);

mySerial.print(DisplayWords);

delay(500); //Задержка в пол секунды между считываниями

Удачи вам в реализации автоматического полива ваших растений!