Оповещение о необходимости полива на датчиках влажности. Умный дом: Автомат полива. Подключение ардуино – блока управления

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

Что для этого необходимо?

Как это собрать?

Калибровка

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

    Запишите показания на дисплее при воткнутом в сухой горшок сенсоре. Это - минимум влажности.

    Полейте цветок и дождитесь пока вода полностью впитается в землю и показания сенсора установятся на одном уровне. Запишите их. Это - максимум влажности.

    В скетче исправьте значения константы HUMIDY_MIN на значение минимальной влажности и HUMIDY_MAX на значение максимальной влажности. Заново прошейте Arduino Uno.

Масштабирование решения

Мы описали решение для одного растения. Но обычно требуется поливать несколько растений. Помимо очевидного решения - подключения к Arduino нескольких помп и датчиков влажности - существует более простое и дешёвое. Достаточно в трубке, которая идёт в комплекте с помпой проделать шилом дырочки на расстоянии около 30 см и воткнуть в эти дырочки куски стержней от обычных шариковых ручек. Выглядеть это будет так:

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

Исходный код

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

irrigator.ino // Подключаем библиотеку для работы с дисплеем #include "QuadDisplay2.h" // даём разумное для пина, к которому подключена помпа #define POMP_PIN 4 // даём разумное для пина, к которому подключён датчик влажности почвы #define HUMIDITY_PIN A0 // минимальный порог влажности почвы #define HUMIDITY_MIN 200 // максимальный порог влажности почвы #define HUMIDITY_MAX 700 // интервал между проверкой на полив растения #define INTERVAL 60000 * 3 // переменная для хранения показания влажности почвы unsigned int humidity = 0 ; // статическая переменная для хранения времени unsigned long waitTime = 0 ; // создаём объект класса QuadDisplay и передаём номер пина CS QuadDisplay qd(9 ) ; void setup(void ) { // начало работы с дисплеем qd.begin () ; // пин помпы в режим выхода pinMode(POMP_PIN, OUTPUT) ; // выводим 0 на дисплей qd.displayInt (0 ) ; } void loop(void ) { // считываем текущее показания датчика влажности почвы int humidityNow = analogRead(HUMIDITY_PIN) ; // если показания текущей влажности почвы // не равняется предыдущему запросу if (humidityNow ! = humidity) { // сохраняем текущие показания влажности humidity= humidityNow; // и выводим показания влажности на дисплей qd.displayInt (humidityNow) ; } // если прошёл заданный интервал времени // и значения датчика влажности меньше допустимой границы if ((waitTime == 0 || millis() - waitTime > INTERVAL) && humidity < HUMIDITY_MIN ) { // включаем помпу digitalWrite(POMP_PIN, HIGH) ; // ждём 2 секунды delay(2000 ) ; // выключаем помпу digitalWrite(POMP_PIN, LOW) ; // приравниваем переменной waitTime // значение текущего времени плюс 3 минуты waitTime = millis() ; } }

Демонстрация работы устройства

Что ещё можно сделать?

    Несмотря на золочение, контакты сенсора влажности со временем корродируют. Быстрее всего корродирование происходит при подключённом питании. Срок жизни сенсора можно значительно увеличить, если подключить питание к нему через силовой ключ. Когда надо получить данные - включаем питание сенсора, снимаем показания и тут же выключаем питание.

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

    Устройство, работающее от батареек, будет значительно безопасней питающегося от сети. Идеальным вариантом было бы питание ирригатора от батареек. Но Arduino Uno, как известно, даже в режиме сна потребляет более 10 мА. Выходом может являться использование Arduino Mini, способный в режиме сна снижать потребляемый ток до сотен мкА.

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

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

При помощи двух регуляторов можно настроить объём поливаемой за раз воды, а также период между поливами. Кому интересно - далее подробная инструкция, как сделать такое устройство. В основу мозга я применил Ардуино (Arduino Mega).
Для сборки поливалки вам понадобится некоторое количество компонентов и не более чем 30 минут свободного времени.

Используемые компоненты:

  • Arduino Mega (она просто была под рукой, но любая другая подойдёт)
  • Насос и силиконовая трубка (подойдёт насос омывателя автомобильных стёкол - можно купить в любых автозапчастях или можно купить маленький погружной насос на ebay)
  • Блок питания
  • Два переменных резистора для регулировки (любые)
  • Транзистор IRL3705N
  • Два резистора (100 Ом и 100 кОм)
  • Диод (любой)
  • Резервуар для воды (в моем случае пластиковая коробочка из Ikea)
  • Макетка

Собираем всё по такой схеме:

Или нагляднее:

Вот что получилось у меня:

Сначала протестим насос. Подадим на него 5В. Если он зажужжал, всё в порядке, двигаемся дальше.

Теперь подключим насос к Arduino. Сделаем для управления насоса с ардуино небольшую обвязку на макетке.

Попробуем поуправлять насосом с Ардуино. Зальём такой код

int pumpPin = 5 ; void setup() { pinMode(pumpPin, OUTPUT); digitalWrite(pumpPin, LOW); } void loop() { digitalWrite(pumpPin, HIGH); delay(1000 ); digitalWrite(pumpPin, LOW); delay(1000 ); }

Если он периодически жужжит, значит, снова всё в порядке.

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

Зальём такой код на Ардуино

int volumePin = A0; void setup() { pinMode(volumePin, INPUT); Serial.begin(9600 ); } void loop() { Serial.println(analogRead(volumePin)); delay(100 ); }

Зайдём в Serial Monitor и убедимся, что есть реакция на поворот регулятора. Он должен меняться примерно от 0 до 1024

Теперь осталось заставить заработать всё это вместе.

Вот непосредственно код поливалки:

// Первый регулятор управляет временем, которое будет литься вода (от 4 до 15 секунд) #define MAX_FLOWTIME 15 // seconds #define MIN_FLOWTIME 4 // seconds // Второй регулятор управляет частотой полива от раза в день до раза в неделю #define MAX_PERIOD 7 // days #define MIN_PERIOD 1 // days #define MAX 1015 #define MIN 0 int volumePin = A0; // Пин, к которому подцеплен регулятор, отвечающий за объём поливаемой воды int periodPin = A1; // Пин, к которому подцепелн регулятор, отвечающий за период между поливами int pumpPin = 5 ; // Пин, к которому подсоединено управление насосом int volume; int period; // Процедура, включающая насос на время, заданное в volume void water() { digitalWrite(pumpPin, HIGH); // включаем насос delay(volume); digitalWrite(pumpPin, LOW); // выключаем насос delay(period); } void setup() { pinMode(pumpPin, OUTPUT); digitalWrite(pumpPin, LOW); } void loop() { // Считываем значения регуляторов (переменных резисторов) и приводим их к заданным пределам volume = map (analogRead(volumePin), MIN, MAX, MIN_FLOWTIME, MAX_FLOWTIME) * 1000 ; period = map (analogRead(periodPin), MIN, MAX, MIN_PERIOD, MAX_PERIOD) * 1000 * 60 * 60 * 24 ; water(); }

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

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

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

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

Есть знатоки, утверждающие что таймеры полива для самотечных систем настолько хороши, что могут работать при давлении воды от 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. Фильтр очистки воды. Выполняет качественную очистку воды, значительно увеличивает время эксплуатации таймера.

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

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


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

Материалы и инструменты:
- Arduino Uno
- Растение в горшке с сухой землёй
- Водяной насос
- Датчик влажности почвы со шлейфом
- Силовой ключ (тройка) со шлейфом
- Клеммник нажимной
- Провод «папа-папа» ×1 шт
- Провод «мама-папа» ×1 шт
- Блок питания с разъёмом USB
- USB кабель

Сборка:
Дисплей подключается к контакту 3 тройка-шилда. При соединении всех проводов данного типа важно удостовериться, что с контактом GND соединялся чёрный провод.

У помпы на концах проводов отсутствуют контакты, поэтому используется клеммник. Если есть навык в пайке контактов, тогда правильнее припаивать к проводам «Штырьковые соединители».

Вот так выглядит подключённое питание:

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

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

1. При воткнутом в сухой горшок датчике записываются показания с дисплея. Это значение ничто иное как минимум влажности.

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

3. В файле прошивки изменяются значения констант HUMIDY_MIN устанавливается минимальная влажность, и HUMIDY_MAX соответственно максимальная влажность. Arduino Uno прошивается заново.

Масштабирование проекта
В данной статье описан способ полива всего для одного цветка. Но зачастую требуются поливать сразу несколько растений. Конечно, можно подключить к Arduino большее количество помп и датчиков влажности, но насколько это будет затратно. Автор в этом случае предлагает решение дешёвое и простое. В трубке, которая подсоединена к помпе проделываются дырочки шилом, расстояние между ними около 30 сантиметров, в эти отверстия втыкаются стержни из использованной шариковой ручки.

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