Автополивщик растений на Arduino
Что это такое?
В этой статье мы расскажем о том, как собрать устройство для автоматического полива с контролем влажности почвы — ирригатор. Необходимость полива будем определять по показаниям датчика влажности почвы. Одновременно можно будет поливать несколько растений.
Что для этого необходимо?
Мы собрали все необходимые детали в сет компонентов. В набор входят:
Так же удобно для индикации использовать:
Как это собрать?
Калибровка
Показания датчика влажности сильно зависят от кислотности почвы. Поэтому перед началом пользования ирригатором требуется провести простую процедуру калибровки.
Масштабирование решения
Мы описали решение для одного растения. Но обычно требуется поливать несколько растений. Помимо очевидного решения — подключения к Arduino нескольких помп и датчиков влажности — существует более простое и дешёвое. Достаточно в трубке, которая идёт в комплекте с помпой проделать шилом дырочки на расстоянии около 30 см и воткнуть в эти дырочки куски стержней от обычных шариковых ручек. Выглядеть это будет так:
Горшки с цветами дома часто стоят в ряд на подоконнике. Вам достаточно просто положить трубку на горшки так, чтобы отверстия в ней приходились по одному на горшок. Теперь наше устройство может поливать сразу несколько горшков. Однако в таком случае принимать решение о необходимости полива можно только по одному горшку. Однако обычно горшки примерно одинаковые по размерам и, соответственно, сохнут с примерно равной скоростью. Можно так же комбинировать два решения, разделяя все горшки на группы примерно равных по размерам.
Исходный код
Для работы скетча вам понадобиться скачать и установить библиотеку для работы с дисплеем QuadDisplay2
Демонстрация работы устройства
Что ещё можно сделать?
А ещё можно собрать автополив на Slot Shield — инструкция по сборке и прошивка.
Источник
МНОГОКАНАЛЬНЫЙ АВТОПОЛИВ НА ARDUINO СВОИМИ РУКАМИ
• 18.08.18 Версия 1.5: исправлены ошибки
• 17.04.19 Версия 2.0: новая логика меню, более гибкие таймеры! ЗАМЕНИТЕ СТАРЫЕ ВЕРСИИ БИБЛИОТЕК НОВЫМИ ИЗ ПАПКИ!
• 20.04.19 Версия 2.1: добавлено автоотключение подсветки дисплея (включается по любому действию с энкодера)
05.06.2019 Исправлена схема версии 2+!
КОНТРОЛЛЕР УМНОЙ ТЕПЛИЦЫ
Наши ответы на ваши вопросы
Все хотят датчики влажности, каждый третий об этом написал.
- Вопрос: зачем тогда нужен таймер и все эти настройки? Мой проект не об этом, мой проект о таймере
- С датчиками влажности МИКРОКОНТРОЛЛЕР ВООБЩЕ НЕ НУЖЕН. Почему? Как? Смотрите ЗДЕСЬ
- Все жалуются на дождь. В видео звучало слово “теплица” и “рассада”, там не идёт дождь
- Китайские датчики влажности почвы разъедаются почвой, так как сделаны не из золота!
Да, согласен, нужна одна помпа и клапана на каналы! Добавил прошивку auto-pumps_valve, читайте описание в начале скетча, там всё написано!
Многоканальная система автополива растений для установки в умную теплицу, на огород или в квартиру. Особенности:
- Поддержка от 1 до 15 помп (Arduino NANO / UNO)
- Индивидуальная настройка периода и времени работы
- Дисплей 1602 с отображением настроек
- Индивидуальное название каждого канала (можно по-русски!)
- Удобное управление и настройка энкодером
- Хранение настроек в энергонезависимой памяти
- Настройка уровня управляющего сигнала
- Настройка часы/минуты/секунды работы
- Параллельный режим работы / очередь
ПОДРОБНОЕ ВИДЕО ПО ПРОЕКТУ
В данном видео показан полный и максимально подробный процесс разработки и изготовления устройства, а также обзор его возможностей и функций.
Понятные схемы, OpenSource прошивки с комментариями и подробные инструкции это очень большая работа. Буду рад, если вы поддержите такой подход к созданию Ардуино проектов! Основная страница пожертвовать – здесь.
ИНСТРУКЦИИ ПО ЭКСПЛУАТАЦИИ
- Нажатие на ручку энкодера – переключение выбора помпы/периода/времени работы
- Поворот ручки энкодера – изменение значения
- Кнопка энкодера удерживается при включении системы – сброс настроек
Версия 2.*
ПЕРЕД ПРОШИВКОЙ ВТОРОЙ ВЕРСИИ ЗАМЕНИТЕ ВСЕ БИБЛИОТЕКИ НОВЫМИ (ИДУТ В АРХИВЕ ПРОЕКТА, В ПАПКЕ НОВАЯ ВЕРСИЯ).
Поворачивая рукоятку энкодера мы перемещаем стрелочку выбора по экрану. Обратите внимание на то, что настройка времени работы помпы находится правее «за экраном», нужно пролистать стрелочку направо чтобы её активировать. Чтобы изменить выбранный стрелочкой параметр, нужно повернуть рукоятку энкодера, удерживая её нажатой. Таким образом можно настроить время периода и работы помпы в формате ЧЧ:ММ:СС. Логика работы настроек PUPM_AMOUNT, START_PIN, SWITCH_LEVEL и PARALLEL такая же как для версии 1.*
- Поворот ручки энкодера – изменение позиции стрелки
- Поворот ручки энкодера удерживая её нажатой – изменение значения
- Кнопка энкодера удерживается при включении системы – сброс настроек
СХЕМЫ, ПЕЧАТНЫЕ ПЛАТЫ
СХЕМЫ ОБНОВЛЕНЫ ДЛЯ ВЕРСИИ 2+ .
Внимание! Для коммутации индуктивных нагрузок рекомендуется использовать искрогасящие цепи, иначе микроконтроллер может зависнуть. Читайте в этом проекте в разделе СХЕМЫ
5V помпы
12V помпы
220V AC помпы
14 реле
МАТЕРИАЛЫ И КОМПОНЕНТЫ
Ссылки на магазины, с которых я закупаюсь уже не один год
Источник
Делаем автополив растений с помощью Arduino
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. Автополив строится следующим образом:
- Помещаем плату для сенсора на микроконтроллер.
- Подключаем анализатор влажности с помощью платы, описанной выше, к аналогичному пину – А0.
- Присоединяем сенсор к микроконтроллеру:
- Контакт CS подключается к пину № 9 на плате.
- Дисплейные контакты SPI соединяются с соответствующим разъемом на той же плате.
- Силовой ключ вставляем в пин №4.
- Коммутатор подводим к силовому ключу в разъемы, обозначаются буквами p+, p-.
- Теперь подключаем водяную помпу с трубкой с помощью клеммника в контакты с буквами l+ и l-. Постепенно перед конструирующим человеком построится схема.
- Втыкаем сенсорную панель, анализирующую влажность, в горшок с цветком.
- Конец трубки вставляем с водой в почву. В случае, если растение вместе с горшком по весу не превышает 2 кг, закрепляем шланг отдельно. Иначе водяная капель может опрокинуть цветок.
- Опускаем водяную помпу в бутылку, наполненную водой.
- Подключаем конструкцию к электрическому питанию.
Ниже предлагаем вам две альтернативные схемы для нашего устройства:
Датчик анализирует статус влажности путем определения кислотности земли. Перед вставкой ирригатора в систему необходимо протестировать и откалибровать оборудование:
- Записываем сведения, выведенные на дисплей. При этом сенсор воткнут в сухой горшок. Это обозначается, как min влажности.
- Поливаем землю с растением. Ждем, когда вода до конца пропитает почву. Тогда показания на сенсорном экране покажут один уровень. Необходимо записать полученные сведения. Это значит max влажности.
- В записном блокноте фиксируем константы HUM_MIN и HUM_MAX тем значением, которое было получено в результате калибровки. Прописываем значения в программе, которую переносим затем на микроконтроллер.
Выше описано конструирование автополива для одного цветка. Однако у любителей комнатных растений дом обставлен горшками с цветами. С одной стороны такой вопрос кажется сложным: необходимо подключить несколько помп и анализаторов увлажнения почвы. Но существует более дешевое и простое решение по конструированию автополива.
В шланге от помпы проделываются 25 сантиметровые отверстия с помощью шила. В полученные дырочки втыкаются кусочки стержней ручек шарикового формата. В итоге получается:
- горшки с растениями выстраиваются в ряд на подоконнике;
- трубка устанавливается на цветочный горшок так, чтобы вода из каждого отверстия лилась в отдельный горшок;
- вуаля: изобретение одновременно поливает все растения.
Пользователь самостоятельно выбирает время для полива, но только для одного цветка. Нередко цветки по массе и размерам одинаковы. Следовательно, почва в горшках сохнет за одинаковое время. Для этого придуман метод комбинации: количество горшков делится по группам равного веса и размера.
Пример кода для Arduino для проекта «Автополив»
Переходим к программированию кода:
Дополнительно вы можете посмотреть пару интересных видео от наших коллег:
На этом на сегодня всё. Отличных вам проектов!
Источник
Простой автополив комнатных растений на базе Arduino
Привет всем! Вот лето уже на подходе и долгожданная пара отпусков не за горами. В этом году у меня наконец-то намечается более-менее длительный отпуск — аж 2 недели!)) Заглянув в будущее и вернувшись из отпуска, я обнаружил свой любимый цветок, который еле выходил, в засохшем состоянии. В очередной раз задумался, как же упрощает жизнь Arduino, не нужно запускать прожорливую AtmelStudio, поднимать таймер, выставлять фьюзы, втыкать микросхему в программатор. Пардон, что-то я отвлекся. Итак, приступим.
Спасительное водоснабжение для цветка нам будет обеспечивать любая ардуина, реле или транзистор, помпа, датчик влажности почвы и прозрачный шланг. Кстати, шланг от капельницы как нельзя плохо подходит для данной затеи. Лучше сходить в строительный магазин и купить нормальный шланг.
Стряпаем коротенькое ТЗ:
— опрос датчика каждые 6 часов;
— включение помпы на 5 сек;
— если после трех попыток полива цветок по-прежнему сухой, то уйти в режим ошибки и маячить светодиодом.
В этом коде АЦП задействовать не будем, нестабильно он себя проявил с цветочком, поэтому задействуем операционник, он был в комплекте с датчиком.
Особое внимание я уделил помпе, из всего ассортимента в магазине я купил именно ее, потому что других не было))
Реле ставить расточительно, по этому поставлю транзистор 2N2222, но время покажет как вернее, быть может, поставлю полевик или реле. Резистор на базу транзистора 100 Ом.
Код получился небольшой, кто захочет подправить под свои нужды — ссылку на исходник прикреплю в конце статьи.
Втыкаем датчик в сухой цветок и крутим переменник, пока светодиод состояния не потухнет. Для проверки выливаем немного воды в цветок и должны увидеть, что светодиод загорелся. Т.е. цветок полит — светодиод горит, цветок сухой — светодиод погашен.
Еще нюанс заключается в помпе: если она будет питаться от того же источника, что и Arduino, то помпа гадит питание, и контроллер уходит в ребут. Параллельно помпе я припаял конденсатор на 1000мкФ*25В.
Источник
Автополив для комнатных цветов
Позаботься о своих цветочках, даже если ты далеко от дома.
Простая система автоматического полива с помощью датчика влажности определит, что земля в горшке пересохла и включит помпу. Как только почва увлажнится, реле выключит помпу. Задать пороговое значение можно повернув ручку потенциометра. Всё просто!
Что потребуется
Полный сет компонентов проекта. В сет входят:
Видеоинструкция
Как собрать
Установите Troyka Slot Shield на Iskra Neo
Подключите датчик влажности трёхпроводным шлейфом через штырьковые соединители к пину A0 .
Поверните мини-реле на 90 градусов против часовой стрелки и установите в левый нижний слот.
Поверните потенциометр на 90 градусов против часовой стрелки и установите в средний слот нижнего ряда.
Подключите помпу через мини-реле и опустите её в банку с водой.
Мы подключили питание помпы к питанию устройства, воспользовавшись штекером питания с клеммником. Вы можете подключить помпу через реле напрямую.
Скетч
Прошейте контроллер скетчем через Arduino IDE.
Что дальше?
Хотите собрать другой девайс? Выберите своё будущее устройство из списка проектов на Slot Shield.
Источник
Система автополива для комнатных растений на Arduino
Хочу поделиться своей самоделкой, которая служит мне уже больше года.
Начав осваивать Arduino, думал над тем, какой бы проект реализовать. Вспомнил, что у меня много комнатных растений, которые периодически забывают поливать, да и вопрос полива во время отпусков и командировок имеет место быть.
Система состоит из следующих компонентов:
Блок управления – сердце системы. Здесь находится Аккумуляторы, Arduino, модуль времени DS3231, дисплей, преобразователи напряжения и органы управления.
Рядом с растениями расположена канистра с водой. В канистре находятся погружные помпы, которые перекачивают воду по трубкам в растения.
Распределение воды между растениями можно дополнительно отрегулировать с помощью гребенки с кранами
Основные параметры системы:
1. Автономная работа от аккумуляторов около 5 месяцев
2. Система поддерживает управление 3-мя помпами. К каждой помпе можно подключить гребенку с 2-4 кранами и дополнительно регулировать потоки воды. Итого получаем возможность подключить до 12 растений
3. Время снимается с отдельного независимого модуля часов DS3231. Помпа срабатывает при наступлении часа, указанного в настройке (например 8:00) .
4. На дисплей выводится информация
5. Настройки полива указываются в коде программы, их можно поменять, перепрошив Arduino
Пояснения по отображаемой на дисплее информации:
Первая строка – шапка таблицы. Каждая строка показывает информацию по соответствующей помпе. Первый столбец – показывает период работы (ПР) . Например при значении «5» — помпа будет срабатывать каждые 5 дней. Второй столбец – час работы (ЧР) – час в начале которого включится помпа. Третий столбец – время работы (ВР) – продолжительность работы помпы в секундах. Четвертый столбец – дней осталось (ДО) – показывает сколько осталось дней до ближайшего срабатывания. Дата и время также выводятся на дисплей.
Система не имеет обратной связи, поэтому настройки нужно подбирать опытным путем. Лучше всего группировать растения близкие по требованиям к поливу (какие-то хорошо переносят засуху, другие наоборот любят обильный полив) и размерам горшков.
Настройки задаются примерно следующим образом: каждые 5 дней включать помпу в 8:00 на 30 секунд.
Ниже будет указано, в какой части кода эти настройки находятся.
В коде программы можно отключить 2-ю и 3-ю помпы. В этом случае на экран будет выводиться информация только по включенным помпам.
Автономность обеспечивается благодаря:
• Питанию от аккумуляторов формата 18650
• Ардуино и уходит в глубокий сон (Powerdown) и просыпается по Watсhdog
• У стабилизатора напряжения Arduino откушена левая нога
• Дисплей во время работы находится в выключенном состоянии. Для активации дисплея нужно удерживать кнопку выхода из сна около 10 секунд.
• С модулей выпаяны все индикаторные светодиоды
Система потребляет около 3мА, 1 помпа потребляет около 350 мА в режиме работы.
• Пищевой контейнер для корпуса
• Китайский клон Arduino nano
• DS3231 Модуль реального времени
• Аккумуляторы формата 18650
• Повышающий модуль до 5В (ток около 1 А)
• Понижающий модуль до 3,3В для питания дисплея
• Дисплей Nokia 5110
• TP4056 модуль для зарядки (+защита) аккумулятора
• Индикатор зарядки аккумулятора
• Различная «рассыпуха»: полевые транзисторы, резисторы, конденсаторы (электролитические и керамические)
• Выключатели и кнопки
Монтажная «схема» устройства:
Пояснения по схеме:
1. 4 аккумулятора формата 18650 соединены параллельно. Общая емкость – около 13000 мА/ч.
2. Аккумулятор подключен к зарядно — защитному модулю TP4056. Зарядка осуществляется через разъем micro USB от телефонной зарядки. Зарядка нужна с током не менее 1А. Примерное время полной зарядки – 13 -14 часов. Индикаторные светодиоды можно выпаять и вывести на корпус.
3. Далее через выключатель подключен повышающий преобразователь до 5В. Он будет питать большую часть компонентов схемы, включая помпы. С падением уровня заряда аккумуляторов напряжение снизится с 4,2В до 2,7В, что для работы схемы не достаточно. Модуль обеспечит стабильное напряжение. На выход модуля ставится фильтр из электролитического и керамического конденсаторов. Электролитический конденсатор выполняет сглаживающую, стабилизирующую роль. Керамический конденсатор служит для борьбы с высокочастотными помехами. Если у модуля «пищит» дроссель во время работы, для устранения этого явления можно поставить ещё дополнительный электролитический конденсатор на вход модуля. Электролитические конденсаторы емкостью 1000 мкФ на 6,3В. Керамические конденсаторы подойдут от 1-2 мкФ. В схеме использованы на 10 мкФ, потому, что у меня было много лишних.
4. Для питания дисплея нужно напряжение 3,3В, поэтому добавляется понижающий преобразователь с аналогичными фильтрами из конденсаторов.
5. Модуль часов DS3231, нужен для более точного отсчета времени. Светодиод Power (1) отпаян у модуля DS3231. Сделано это для целей энергосбережения. Если вы используете обычные батарейки (не аккумуляторные), то нужно отпаять резистор (2). Модуль рассчитан на аккумуляторные батарейке в том числе заряжает их. Если батарея обычная, зарядный ток быстро приведет ее в негодность.
8. На дисплей выводится вся информация. Для пробуждения дисплея, нужно удерживать кнопку до 10 секунд. При смене минуты в часах система уйдет в сон, а дисплей отключится.
Сначала тесты на макетной плате и написание прошивки
Далее соединил всё при помощи навесного монтажа
Дополнительные моменты по сборке:
• Емкость с водой, должна обязательно располагаться ниже горшков, иначе есть риск, что после отключения помп вода продолжит литься.
• Расстояние от дна емкости до конца трубки не должно превышать 70см. На большую высоту помпе будет сложнее поднять воду.
• На мини помпу с Али отлично подходят прозрачные шланги 6х1,5 мм
• Важно чтобы отверстие помпы для забора воды не упиралась в стенку емкости с водой, иначе нормального напора не будет.
• Для крепления шланга на помпу нельзя использовать железные детали (хомуты, проволоку и т.д.) Всё ржавеет очень быстро.
• У помпы короткие провода. Их скорее всего придется наращивать. Для герметизации проводов лучше всего использовать термоклей, а сверху термоусадку.
Логика работы программы:
• Arduino выходит из сна
• Показания модуля DS3231 (дата и время) присваиваются переменным
• При изменении даты меняется значение счетчика прошедших дней
• Если период работы (настройка) совпадает с числом прошедших дней, проверяется час
• При совпадении часа (настройка) и часа из модуля времени включаем помпу на время указанное в настройках
• Arduino уходит в сон
• Если удерживать кнопку выхода из сна подается питание на дисплей и Arduino пробуждается
Настройки полива указываются вот в этой части кода:
В целом системой я доволен. Она исправно поливает мои растения на подоконнике около года. Сейчас я перенес систему в другую комнату, а в своей собрал новую, более удобную и интересную, но это уже другая история…
Источник