- Автополивщик растений на Arduino
- Что это такое?
- Что для этого необходимо?
- Как это собрать?
- Калибровка
- Масштабирование решения
- Исходный код
- Демонстрация работы устройства
- Что ещё можно сделать?
- Делаем автополив растений с помощью Arduino
- Необходимые инструменты и периферия для реализации проекта «Автополив» на базе микроконтроллера Arduino
- Схема подключения и алгоритм работы в проекте «Автополив» на базе мк Arduino
- Пример кода для Arduino для проекта «Автополив»
- Умная теплица — система автополива на Arduino
Автополивщик растений на Arduino
Что это такое?
В этой статье мы расскажем о том, как собрать устройство для автоматического полива с контролем влажности почвы — ирригатор. Необходимость полива будем определять по показаниям датчика влажности почвы. Одновременно можно будет поливать несколько растений.
Что для этого необходимо?
Мы собрали все необходимые детали в сет компонентов. В набор входят:
Так же удобно для индикации использовать:
Как это собрать?
Калибровка
Показания датчика влажности сильно зависят от кислотности почвы. Поэтому перед началом пользования ирригатором требуется провести простую процедуру калибровки.
Масштабирование решения
Мы описали решение для одного растения. Но обычно требуется поливать несколько растений. Помимо очевидного решения — подключения к Arduino нескольких помп и датчиков влажности — существует более простое и дешёвое. Достаточно в трубке, которая идёт в комплекте с помпой проделать шилом дырочки на расстоянии около 30 см и воткнуть в эти дырочки куски стержней от обычных шариковых ручек. Выглядеть это будет так:
Горшки с цветами дома часто стоят в ряд на подоконнике. Вам достаточно просто положить трубку на горшки так, чтобы отверстия в ней приходились по одному на горшок. Теперь наше устройство может поливать сразу несколько горшков. Однако в таком случае принимать решение о необходимости полива можно только по одному горшку. Однако обычно горшки примерно одинаковые по размерам и, соответственно, сохнут с примерно равной скоростью. Можно так же комбинировать два решения, разделяя все горшки на группы примерно равных по размерам.
Исходный код
Для работы скетча вам понадобиться скачать и установить библиотеку для работы с дисплеем QuadDisplay2
Демонстрация работы устройства
Что ещё можно сделать?
А ещё можно собрать автополив на Slot Shield — инструкция по сборке и прошивка.
Источник статьи: http://wiki.amperka.ru/projects:irrigator
Делаем автополив растений с помощью 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 для проекта «Автополив»
Переходим к программированию кода:
Дополнительно вы можете посмотреть пару интересных видео от наших коллег:
На этом на сегодня всё. Отличных вам проектов!
Источник статьи: http://arduinoplus.ru/delaem-avtopoliv-rastenii-arduino/
Умная теплица — система автополива на Arduino
Сформулировав задачу, приступил к ее реализации. Для начала приобрел несколько самых дешевых помп, работающих от напряжения в 5 В. В управлении питанием разумно было бы применить полевые транзисторы, но пришлось бы паять из них целую батарею — кто работал с такими устройствами, тот в курсе. Я же в целях упрощения решил использовать реле. Реле хорошо тем, что через него можно запитать как самую маленькую помпу (или среднюю, в этом качестве, кстати, сгодится насос омывателя стеклоочистителя из магазина автозапчастей), так и большой насос, работающий от сети 220 В. Установить его, к примеру, в колодце или скважине, и качать воду в теплицу.
А для настройки системы я взял символьный дисплей и энкодер — электронномеханический элемент, который преобразовывает вращательное движение вала в пачки электрических импульсов, позволяющих определить направление и угол вращения вала. Самый распространенный пример использования энкодера в повседневной жизни — ручка регулировки громкости современной автомобильной магнитолы с цифровым управлением. Ну и, конечно, «мозгом» устройства будет плата Arduino. Все эти комплектующие можно недорого приобрести на «Алиэкспрессе». Совет: заказывайте у одного продавца -товары придут в одной посылке, плюс возможна скидка, что тоже неплохо.
КАК ЗАГРУЗИТЬ ПРОШИВКУ НА ПЛАТУ ARDUINO
1. Скачать архив с необходимыми материалами.
2. Установить библиотеки (папка Libraries) в C:\ProgramFiles\Arduino\ LibrariesV.
3. Подключить Arduino к компьютеру с помощью Data-кабеля.
4. Открыть файл прошивки желаемой версии (файлы прошивок .іпо находятся в соответствующих папках архива).
5. Настроить Arduino IDE (указать COM-порт, куда подключена плата, и модель Arduino).
6. Внести по желанию дополнительные настройки в прошивку, и нажать «Загрузить».
ПРОЕКТ «АВТОПОЛИВ» НАСТРОЙКИ В ПРОШИВКЕ ARDUINO
#define DRIVERJVERSION 0 // 0 — маркировка драйвера дисплея кончается на 4АТ, 1 — на 4Т #definePUPM_AMOUNT8 //количество помп, подключенных через реле или мосфет
#define START_PIN 3 // подключены начиная с пина номер.
#define SWITCH_LEVEL 0 // реле:
1 — высокого уровня (или мосфет), О — низкого
#define PARALLEL 0 // 1 — параллельный полив, 0 — полив в порядке очереди
#defineTIMER_START 0 // 1 — отсчет периода с момента ВЫКЛЮЧЕНИЯ помпы, 0 — с момента ВКЛЮЧЕНИЯ помпы
#define PERIOD 0 // 1 — период в часах, О-в минутах
#define PUMPING 1 H1 — время работы помпы в секундах, О-в минутах #define DROPJCON 1 //1 — отображать капельку, 0 — будет буква «t» (time)
Перейдем к прошивке — в данном проекте она интересовала меня больше всего. Было технически интересно «завязать» работу нескольких независимых между собой таймеров и помп, а также иметь возможность при необходимости добавлять требуемое количество каналов. В результате код получился очень красивый: все параметры системы хранятся в массивах и прогоняются циклами, а настройки, которые мы меняем, записываются в энергонезависимую память и не сбрасываются при перезагрузке.
Теперь давайте соберем макет нашего устройства. Подключаем энкодер, как это показано на приведенных схемах, на шину і2с «вешаем» плату дисплея, а затем по порядку сигнальные провода на реле (как в моем случае) или транзисторы. Этот момент очень важен, так как в прошивке Arduino прописывается первый пин подключения помп, а остальные указываются автоматически по их количеству.
Загружаем прошивку на плату и проверяем, как будут щелкать контактные группы реле. А после установки библиотек открываем файл прошивки и смотрим настройки. Китайские производители, бывает, присылают дисплеи с разными драйверами, поэтому уточните какой у вас и отметьте это в настройках. Далее нужно указать, сколько реле у вас используется, и внести другие изменения в настройках «под себя». Важно: перед загрузкой прошивки отключите пины 0 и 1 от энкодера, или поверните его рукоятку в такое положение, при котором на плате не будут гореть два светодиода. В противном случае прошивка не загрузится, поскольку в процессе задействованы именно эти пины, а энкодер будет мешать.
После успешной загрузки прошивки система сразу готова к работе. Расскажу, как ею пользоваться. Поворачивая рукоятку энкодера, мы перемещаем стрелочку выбора по экрану. Обратите внимание, что настройка времени работы помпы находится правее «за экраном», и нужно «пролистать» стрелочку направо, чтобы ее активировать. Чтобы изменить выбранный параметр, нужно повернуть рукоятку энкодера, удерживая ее нажатой. Таким образом задается время периода работы помпы в формате часы:минуты:секунды.
Названия помп можно прописать вручную в коде прошивки и даже на русском языке, что очень удобно. То есть, мы имеем полностью настраиваемый контроллер полива для любой ситуации и любой теплицы. По умолчанию стоит 1 минута 1 секунда, помпы включаются по очереди на заданное время. За последовательность их работы отвечает настройка, которая позволяет избежать одновременного включения нескольких помп, чтобы не перегружать линию питания. Если не задействовать такой режим, то помпы будут включаться одновременно. Но имейте в виду, что одно реле потребляет 60 мА во включенном состоянии, а маленькая помпа может потребовать до 500 мА.
Еще один важный момент: как только вы переключаетесь на выбор помпы, все настройки записываются в энергонезависимую память. Соответственно, после перезагрузки или после отключения питания они сохранятся такими же, как и были ранее. Если возникнет необходимость их сбросить, это можно сделать, включив систему с нажатой кнопкой энкодера. Я предусмотрел такую возможность в программе на всякий случай, авось пригодится. Хорошо было бы еще записывать в память и текущие значения таймеров, но это уже другая история — займусь ею, пожалуй, в следующей версии контроллера, рассчитанного для большой теплицы.
Также в архиве есть вариант скетча auto-pumps_valve, который предназначен для схемы «одна помпа и несколько клапанов». В этом случае первое подключенное реле (пин D5 по схеме) управляет помпой, а все остальные — клапанами. Как только какой-либо клапан открывается по таймеру, начинает работать общая помпа.
Не знаю, существует ли в продаже что-то похожее, но даже если и есть, то стоит оно, скорее всего, запредельных денег А мой автополив укладывается в 1000 рублей или чуть больше, в зависимости от количества подключенных помп. В данном варианте возможно одновременное использование до 15 каналов. Устройство устанавливается на подоконнике, на балконе или в теплице и само поливает ваши растения. Будь то цветы, овощи или фрукты. Причем в любой момент можно, оценив состояние почвы, оперативно изменить режим полива по любому из каналов. А собрать и настроить такого «робота» по силам даже 13-летним школьникам — я таких знаю!
И еще. Предвидя многочисленные вопросы читателей — почему я не использовал в этой системе датчики влажности. Знаю об этом, так как спрашивает каждый третий, кто видел ее в работе. Отвечаю. Данный проект вовсе не о датчиках, а о таймере. К тому же, в устройстве с датчиками влажности микроконтроллер вообще не нужен -с ними было бы все по-другому. Тем не менее, если вдруг захотите ими все-таки когда-то воспользоваться — не обольщайтесь: они в большинстве китайские и сделаны не из золота, а потому очень быстро разъедаются почвой.
Источник статьи: http://www.umeltsi.ru/diy-electronics/5694-umnaya-teplica-sistema-avtopoliva-na-arduino.html