Простейшая система автополива растений
Проект самой простой, дешёвой и в то же время самой эффективной системы полива растений на время отпуска. Собран на платформе Digispark (attiny85) – очень дёшево и просто. После некоторых хардварных модификаций (см. ниже) система потребляет пару десятков микроампер в режиме глубокого сна и просыпается только для включения и выключения помпы.
- Простейшая схема: мосфет модуль и помпа
- Режим глубокого энрегосбережения: 30 мкА в режиме сна
- Недорогая платформа Digispark.
- Время выставляется в секундах! Пример: 60*60*24*3 = 259200 – три дня! (60 минут по 60 секунд 24 в сутки, 3 суток)
Человек с ником I do wonder предложил брать воду для полива из бачка унитаза! Смешно, но оригинально! (автоматически заполняемый источник свежей воды…)
ВИДЕО
КОМПОНЕНТЫ
Каталоги ссылок на Алиэкспресс на этом сайте:
Стараюсь оставлять ссылки только на проверенные крупные магазины, из которых заказываю сам. Также по первые ссылки ведут по возможности на минимальное количество магазинов, чтобы минимально платить за доставку. Если какие-то ссылки не работают, можно поискать аналогичную железку в каталоге Ардуино модулей . Также проект можно попробовать собрать из компонентов моего набора GyverKIT .
- Digispark aliexpress, aliexpress, искать
- Мосфет модуль aliexpress, aliexpress, искать
- Батарейный отсек АА aliexpress, aliexpress, искать
- Помпа https://ali.ski/kaiDBhttps://ali.ski/VXj6gR
- Транзисторы, конденсаторы и резисторы – в ЛЮБОМ магазине радиодеталей
- Шланг https://ali.ski/C14WQW
- Тройнички https://ali.ski/siknt
- Разветвитель https://ali.ski/-zJlyW
Источник
Делаем автополив комнатного цветка на Arduino за 15 минут
После того как у меня сдох очередной цветок, я понял, что неплохо было бы как-то автоматизировать процесс полива.
Не мудрствуя лукаво, я решил собрать конструкцию, которая бы поливала цветок вместо меня. В итоге у меня получился вот такой аппарат, который вполне справляется со своими обязанностями:
При помощи двух регуляторов можно настроить объём поливаемой за раз воды, а также период между поливами. Кому интересно — далее подробная инструкция, как сделать такое устройство.
Для сборки поливалки вам понадобится некоторое количество компонентов и не более чем 30 минут свободного времени.
- Arduino Mega (она просто была под рукой, но любая другая подойдёт)
- Насос и силиконовая трубка (подойдёт насос омывателя автомобильных стёкол — можно купить в любых автозапчастях или можно купить маленький погружной насос на ebay)
- Блок питания
- Два переменных резистора для регулировки (любые)
- Транзистор IRL3705N
- Два резистора (100 Ом и 100 кОм)
- Диод (любой)
- Резервуар для воды (в моем случае пластиковая коробочка из Ikea)
- Макетка
Собираем всё по такой схеме:
Или нагляднее:
Вот что получилось у меня:
Сначала протестим насос. Подадим на него 5В. Если он зажужжал, всё в порядке, двигаемся дальше.
Теперь подключим насос к Arduino. Сделаем для управления насоса с ардуино небольшую обвязку на макетке.
Попробуем поуправлять насосом с Ардуино. Зальём такой код
int pumpPin = 5; void setup() < pinMode(pumpPin, OUTPUT); digitalWrite(pumpPin, LOW); >void loop()
Если он периодически жужжит, значит, снова всё в порядке.
Теперь нам осталось добавить два регулятора. Подцепим к нашему устройству переменные резисторы, и проверим их работоспособность.
Зальём такой код на Ардуино
int volumePin = A0; void setup() < pinMode(volumePin, INPUT); Serial.begin(9600); >void loop()
Зайдём в 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(); > В ближайшем будущем думаю сюда добавить сенсор уровня воды в резервуаре и датчик влажности почвы.
Источник
Многоканальная система автополива на Arduino
Многоканальная система автополива растений для установки в умную теплицу, на огород или в квартиру. Особенности:
- Поддержка от 1 до 15 помп (Arduino NANO / UNO)
- Индивидуальная настройка периода и времени работы
- Дисплей 1602 с отображением настроек
- Индивидуальное название каждого канала (можно по-русски!)
- Удобное управление и настройка энкодером
- Хранение настроек в энергонезависимой памяти
- Настройка уровня управляющего сигнала
- Настройка часы/минуты/секунды работы
- Параллельный режим работы / очередь
Все хотят датчики влажности, каждый третий об этом написал.
- Вопрос: зачем тогда нужен таймер и все эти настройки? Мой проект не об этом, мой проект о таймере
- С датчиками влажности МИКРОКОНТРОЛЛЕР ВООБЩЕ НЕ НУЖЕН. Почему? Как? Смотрите ЗДЕСЬ
- Все жалуются на дождь. В видео звучало слово “теплица” и “рассада”, там не идёт дождь
- Китайские датчики влажности почвы разъедаются почвой, так как сделаны не из золота!
Да, согласен, нужна одна помпа и клапана на каналы! Добавил прошивку auto-pumps_valve, читайте описание в начале скетча, там всё написано!
ВИДЕО
КОМПОНЕНТЫ
Каталоги ссылок на Алиэкспресс на этом сайте:
Стараюсь оставлять ссылки только на проверенные крупные магазины, из которых заказываю сам. Также по первые ссылки ведут по возможности на минимальное количество магазинов, чтобы минимально платить за доставку. Если какие-то ссылки не работают, можно поискать аналогичную железку в каталоге Ардуино модулей . Также проект можно попробовать собрать из компонентов моего набора GyverKIT .
- Arduino Nano купить в РФ, aliexpress, aliexpress, искать
- Помпа 5V https://ali.ski/HIOx4T
- Помпа 12V https://ali.ski/kIhxWb
- Дисплей LCD 1602 I2C aliexpress, aliexpress, искать
- Энкодер aliexpress, aliexpress, aliexpress, искать
- Реле aliexpress, aliexpress, искать
- Макетная плата aliexpress, aliexpress, искать
- Блоки питания aliexpress, aliexpress, искать
- Разветвитель потока с краниками https://ali.ski/XsEmt
- Разветвитель потока без краников https://ali.ski/915Dv
- Шланг силиконовый https://ali.ski/Ov-Bvn
- Тройничок https://ali.ski/leXqs
СХЕМЫ
СХЕМЫ ОБНОВЛЕНЫ ДЛЯ ВЕРСИИ 2+ .
Внимание! Для коммутации индуктивных нагрузок рекомендуется использовать искрогасящие цепи, иначе микроконтроллер может зависнуть. Читайте в этом проекте в разделе СХЕМЫ
ПРОШИВКА
ВНИМАНИЕ! Максимально подробный гайд по началу работы с платой и загрузке прошивки для проекта находится ЗДЕСЬ . Изучи его внимательно, прежде чем писать на форум или в группу ВК!
УПРАВЛЕНИЕ
Версия 1.*
Система управляет количеством помп PUPM_AMOUNT, подключенных подряд в пины платы, начиная с пина START_PIN. На каждую помпу заводится таймер, который включает помпу на заданное время через заданные промежутки времени. Промежутки времени (период работы) может быть в часах или минутах (настройка PERIOD). Время работы помпы может быть в минутах или секундах (настройка PUMPING). Включение производится сигналом уровня SWITCH_LEVEL. 0 – для реле низкого уровня (0 Вольт, все семейные модули реле), 1 – высокого уровня (5 Вольт, редкие модули реле, все мосфеты).
Примечание: катушка реле кушает около 60 мА, несколько включенных вместе катушек создадут лишнюю нагрузку на линию питания. Также несколько включенных одновременно помп сделают то же самое. Для устранения этого эффекта есть настройка PARALLEL. При её отключении помпы будут “вставать в очередь”, совместное включение будет исключено.Управление:
- Нажатие на ручку энкодера – переключение выбора помпы/периода/времени работы
- Поворот ручки энкодера – изменение значения
- Кнопка энкодера удерживается при включении системы – сброс настроек
Версия 2.*
ПЕРЕД ПРОШИВКОЙ ВТОРОЙ ВЕРСИИ ЗАМЕНИТЕ ВСЕ БИБЛИОТЕКИ НОВЫМИ (ИДУТ В АРХИВЕ ПРОЕКТА, В ПАПКЕ НОВАЯ ВЕРСИЯ).
Поворачивая рукоятку энкодера мы перемещаем стрелочку выбора по экрану. Обратите внимание на то, что настройка времени работы помпы находится правее «за экраном», нужно пролистать стрелочку направо чтобы её активировать. Чтобы изменить выбранный стрелочкой параметр, нужно повернуть рукоятку энкодера, удерживая её нажатой. Таким образом можно настроить время периода и работы помпы в формате ЧЧ:ММ:СС. Логика работы настроек PUPM_AMOUNT, START_PIN, SWITCH_LEVEL и PARALLEL такая же как для версии 1.*
- Поворот ручки энкодера – изменение позиции стрелки
- Поворот ручки энкодера удерживая её нажатой – изменение значения
- Кнопка энкодера удерживается при включении системы – сброс настроек
ОШИБКИ И FAQ
- Указанные модули реле управляются НИЗКИМ сигналом, в отличие от МОСФЕТов. Твердотельные реле также управляются ВЫСОКИМ уровнем, в настройках поставьте единичку.
- Да, русский шрифт может немного глючить и показывать неправильные буквы, это особенность библиотеки LCD1602_RUS. Можно уменьшить количество глюков, если писать названия БОЛЬШИМИ БУКВАМИ.
Источник