Сигнализатор полива растений своими руками
Добавил пользователь Евгений Кузнецов Обновлено: 06.10.2024
Эта схема сигнализирует, когда растение нуждается в воде. Светодиод светит максимальной яркости, когда земля в цветочном горшке слишком сухая.
С увеличением влажности в горшке яркость светодиода постепенно уменьшается, и он полностью гаснет, когда уровень влажности почвы достигает желаемого уровня, который регулируется резистором R3.
На элементе DD1 собран генератор прямоугольных импульсов. С входа DD1 сигнал поступает на электрод Р1 и через инвертор DD2 на электрод P2. Элементы DD3 и DD4 управляют светодиодом. Импульсы прямоугольной формы предназначены для предотвращения окисления электродов. В качестве электродов можно использовать длинные гвозди.
Избавится от необходимости поливать цветы можно поручить автомату, схема которого показана на рис.1.
Вместо звукового генератора включено электронное реле. При подсыхании почвы срабатывает электромагнитное реле Р (РЭС-10, паспорт РСТ,524.308) и его контакты включают питание микродвигателя М (МЭД-40), который через понижающий редуктор вращает диск-черпалку из оргстекла или гетинакса толщиной 10 мм. В диске высверлены наклонные углубления, как показано на рисунке. Диск погружен в плоский сосуд с запасом воды. При вращении диска нижние углубления зачерпывают воду, как ковшики, и, поднимаясь, выливают в лоток, соединенный с цветочным горшком. Мотор будет работать до тех пор, пока вода не увлажнит достаточно почву и транзисторы Т1 и Т2 закроются. Электроды датчика влажности должны быть за изолированы лаком или поливинилхлоридной трубкой по всей длине, исключая нижние концы длиной 10-15 мм. Такие датчики будут реагировать на влажность почвы у самого дна цветочного горшка.
Для сборки данного устройства, представленного на рис.2, нужен старый сотовый телефон с гарнитурой, несколько деталей, и автомобильное реле с насосом стеклоомывателя.
С телефонного капсюля гарнитуры сигнал подается на диодный детектор. Далее – транзисторный ключ с реле на выходе. А реле управляет питанием насоса.
Чтобы полить цветы нужно позвонить на сотовый телефон. Сигнал вызова выпрямится детектором VD 1- VD 2 в постоянное напряжение, которое откроет ключ VT 1- VT 2. Реле включит насос, и тот станет накачивать поливочную жидкость в горшки. Продолжительность накачки равна времени, пока будет держаться вызов. Затем вызов сбрасывается и полив отключается.
Для надежной работы, конструкция питается напряжением 12В на ток не ниже 1А.
Автоматический полив на садовом участке
Далеко не каждый садовод постоянно находится на своем садовом участке. Но летом, особенно в жаркие и сухие времена растениям требуется регулярный полив. Обеспечить регулярный полив без участия садовода поможет несложная автоматика.
Большинство растений обычно поливают утром. Для этого можна приспособить фотодатчик, который будет включать полив с восходом солнца. Но ведь бывает и так, что ночью прошел хороший дождь, и в поливе не только нет необходимости, но он даже может оказаться вредным. На этот случай автомат нужно дополнить датчиком влажности почвы.
На рис.3 показана схема автомата, который включает поливальный насос (или клапана водовода) если имеются два обстоятельства – солнце взошло и почва сухая.
За освещенностью следит фотодатчик на фотодиоде VD 1 или фоторезисторе.
За влажностью почвы следит датчик влаги. В простейшем случае он представляет собой два штыря из нержавейки, воткнутых в почву. Чтобы определить влагу на значительной площади можно сделать несколько таких датчиков и включить их последовательно, соединив их между собой длинными монтажными проводами. Настраивается датчик влаги переменным резистором R2 .
При наступлении утра фотодатчик включит схему и на обмотку реле подастся напряжение питания. Его контакты замкнутся и включат насос, накачивающий воду для полива. Это будет продолжаться до тех пор, пока влажность почвы не достигнет установленной резистором R 2 величины. Насос выключится. Если в течении дня почва высохнет полив повторится. Если утром и днем почва будет влажная, то полива не будет.
В этой статье мы расскажем о том, как собрать устройство для автоматического полива с контролем влажности почвы — ирригатор. Необходимость полива будем определять по показаниям датчика влажности почвы. Одновременно можно будет поливать несколько растений.
Что для этого необходимо?
Мы собрали все необходимые детали в сет компонентов. В набор входят:
Так же удобно для индикации использовать:
Как это собрать?
Установите Troyka Shield на Arduino Uno
Подключите датчик влажности почвы через Troyka Shield к аналоговому пину A0
Пины SPI дисплея к разъёму SPI на Troyka Shiled
Подключите силовой ключ к контакту 4
Подведите коммутирующее напряжение к силовому ключу в разъём P+ и P-
Подключите помпу к силовому ключу через клеммник с разъёмами L+ и L- . В итоге должна получится схема.
Другой конец шланга вставьте с водой в землю. Если горшок с землёй весит менее 2 кг, рекомендуется отдельно закрепить трубку, чтобы она не перевернула растение.
Опустите помпу в ёмкость с водой.
Калибровка
Показания датчика влажности сильно зависят от кислотности почвы. Поэтому перед началом пользования ирригатором требуется провести простую процедуру калибровки.
Полейте цветок и дождитесь пока вода полностью впитается в землю и показания сенсора установятся на одном уровне. Запишите их. Это — максимум влажности.
В скетче исправьте значения константы HUMIDY_MIN на значение минимальной влажности и HUMIDY_MAX на значение максимальной влажности. Заново прошейте Arduino Uno.
Масштабирование решения
Мы описали решение для одного растения. Но обычно требуется поливать несколько растений. Помимо очевидного решения — подключения к Arduino нескольких помп и датчиков влажности — существует более простое и дешёвое. Достаточно в трубке, которая идёт в комплекте с помпой проделать шилом дырочки на расстоянии около 30 см и воткнуть в эти дырочки куски стержней от обычных шариковых ручек. Выглядеть это будет так:
Горшки с цветами дома часто стоят в ряд на подоконнике. Вам достаточно просто положить трубку на горшки так, чтобы отверстия в ней приходились по одному на горшок. Теперь наше устройство может поливать сразу несколько горшков. Однако в таком случае принимать решение о необходимости полива можно только по одному горшку. Однако обычно горшки примерно одинаковые по размерам и, соответственно, сохнут с примерно равной скоростью. Можно так же комбинировать два решения, разделяя все горшки на группы примерно равных по размерам.
Исходный код
Для работы скетча вам понадобиться скачать и установить библиотеку для работы с дисплеем QuadDisplay2
Демонстрация работы устройства
Что ещё можно сделать?
Несмотря на золочение, контакты сенсора влажности со временем корродируют. Быстрее всего корродирование происходит при подключённом питании. Срок жизни сенсора можно значительно увеличить, если подключить питание к нему через силовой ключ. Когда надо получить данные — включаем питание сенсора, снимаем показания и тут же выключаем питание.
Если оставить наш ирригатор работающим на длительный срок без присмотра, вода в резервуаре может закончиться. При работе без воды помпа быстро выходит из строя. Решением проблемы может быть автоматическое определение опустошения резервуара. Сенсор подбирается исходя из типа резервуара. Если он не глубок, то подойдёт ещё один датчик влажности. Когда же высоты его не хватает, можно воспользоваться УЗ-дальномером, сделать поплавок с датчиком наклона или просто опустить на дно два провода.
Устройство, работающее от батареек, будет значительно безопасней питающегося от сети. Идеальным вариантом было бы питание ирригатора от батареек. Но Arduino Uno, как известно, даже в режиме сна потребляет более 10 мА. Выходом может являться использование Arduino Mini, способный в режиме сна снижать потребляемый ток до сотен мкА.
Существует много правил полива домашних растений, как, например: не стоит поливать зимой вечером. Можно добавить сенсоров света или часы реального времени и скорректировать программу так, чтобы она старалась поливать в нужное время.
А ещё можно собрать автополив на Slot Shield — инструкция по сборке и прошивка.
Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Noncommercial-Share Alike 4.0 International
Про умные дома вы, наверное, слышали. Многие идеи в этом направлении весьма футуристичны, но это не должно останавливать.
Вообще, умный дом — это очень сложная система датчиков, механических и электронных компонентов, управляемая по заложенной программе. Эта система следит за расходом (и утечкой) воды, газа, электричества. Управляет освещением. Включает противопожарные элементы. Обеспечивает удаленное управление разными устройствами по телефону или СМС. Включает элементы защиты от краж и несанкционированного доступа. Содержит устройства бесперебойного питания жизненно важных для всей системы блоков.
Основная задача таких систем — облегчить жизнь людям, переложив часть забот на автоматику. По этому принципу мы и будем работать, поручив часть домашней работы микроконтроллеру. Начнем, как всегда, с простого.
Автомат полива растений
Существует множество поливальных устройств, от примитивных, вроде марли, одним концом закопанной в горшок с растением, а другим погруженной в емкость с водой, до высокотехнологичных систем полива с электронным управлением. У первых качество и КПД полива невысокое, у вторых высока цена, а работают они по своему алгоритму, который менять нельзя.
Мы будем разрабатывать устройство универсальное, с возможностью функционального расширения, но при этом недорогое и эффективное.
Алгоритм работы автомата полива растений простой: высохла земля в горшке — поливаем, полили — ждем, пока высохнет. Вроде все просто на первый взгляд. Составляем список необходимых компонентов: микроконтроллерная плата, насос, силовой ключ управления двигателем насоса, датчик влажности почвы, емкость с водой (на самом деле хорошо бы подключиться к водопроводу, но лучше не будем :-) Чтобы система была полностью автономной, необходимо ее оснастить устройством оповещения о расходе воды, например, зеленый светодиод — воды достаточно, красный — воды осталось мало, надо долить. Значит, нужен еще датчик уровня воды.
Насос для автомата полива растений
Из вышеперечисленного все, кроме насоса, изготовим самостоятельно. Насос подойдет любой маломощный. Можно поискать в старых и сломанных струйных принтерах или купить в автозапчастях насос для стеклоомывателя, самый простой я нашел за 90 рублей.
О датчиках
Датчик влажности почвы лучше всего сделать графитовым, металлический подвержен электролизу и коррозии, в связи с чем его свойства со временем ухудшаются. Хотя в нашей экспериментальной установке нормально работают датчики из гвоздей и медной проволоки.
Датчик из гвоздей — самая простая конструкция. Для его изготовления нужен кусок пластика или резины, два гвоздя, провода и кембрик (изолента).
Датчик уровня жидкости можно сделать так же, как и датчик влажности почвы, а можно придумать конструкцию поплавкового типа. Второй вариант предпочтительнее. На рисунке 3 вариант такого датчика, где 1 — емкость с водой для полива и отметкой минимума, 4 — трубка из любого материала и стержень 3, который свободно ходит в трубке. Трубку и стержень можно взять от старой шариковой ручки. Внизу на стержень крепится поплавок 2 (кусок пенопласта). В верхней, надводной, части конструкции на трубке размещаем на пластиковой пластине контакты 5, это и будут контакты датчика. Сверху на стержень крепим токопроводящую пластину 6. Ход стержня в трубке 1…2 см. К контактам 5 припаиваем провода для подключения к Arduino. Трубка 4 неподвижно крепится внутри емкости.
Принцип работы датчика следующий. Когда воды много, поплавок 2 выталкивает стержень 3 до упора вверх, при этом пластина 6 не касается контактов 5. Когда уровень воды опускается ниже отметки МИН, поплавок опускается вместе с уровнем воды и опускает стержень с пластиной б, которая, в свою очередь, касается контактов 5 и замыкает их между собой. Контроллеру остается только считывать состояние контактов 5. Если лень возиться, можно купить похожие в автозапчастях, они там продаются как датчики уровня охлаждающей жидкости, цена самых простых 100 — 150 рублей.
Управление доверим Arduino
Каждый выход uln2003 может управлять нагрузкой 0,5 А. Я подключил параллельно все семь входов и выходов для увеличения тока нагрузки: 7x0,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); >>
Читайте также: