- Автополивщик растений на Arduino
- Что это такое?
- Что для этого необходимо?
- Как это собрать?
- Калибровка
- Масштабирование решения
- Исходный код
- Демонстрация работы устройства
- Что ещё можно сделать?
- Автополив для комнатных цветов
- Что потребуется
- Видеоинструкция
- Как собрать
- Скетч
- Что дальше?
- Делаем автополив растений с помощью Arduino
- Необходимые инструменты и периферия для реализации проекта «Автополив» на базе микроконтроллера Arduino
- Схема подключения и алгоритм работы в проекте «Автополив» на базе мк Arduino
- Пример кода для Arduino для проекта «Автополив»
- Урок 30. Автоматический полив растений
- Нам понадобится:
- Видео:
- Схема подключения:
- Автоматическая система полива растений на основе Arduino
- Необходимые компоненты
- GSM модуль
- Работа схемы
- Объяснение работы проекта
- Исходный код программы
Автополивщик растений на Arduino
Что это такое?
В этой статье мы расскажем о том, как собрать устройство для автоматического полива с контролем влажности почвы — ирригатор. Необходимость полива будем определять по показаниям датчика влажности почвы. Одновременно можно будет поливать несколько растений.
Что для этого необходимо?
Мы собрали все необходимые детали в сет компонентов. В набор входят:
Так же удобно для индикации использовать:
Как это собрать?
Калибровка
Показания датчика влажности сильно зависят от кислотности почвы. Поэтому перед началом пользования ирригатором требуется провести простую процедуру калибровки.
Масштабирование решения
Мы описали решение для одного растения. Но обычно требуется поливать несколько растений. Помимо очевидного решения — подключения к Arduino нескольких помп и датчиков влажности — существует более простое и дешёвое. Достаточно в трубке, которая идёт в комплекте с помпой проделать шилом дырочки на расстоянии около 30 см и воткнуть в эти дырочки куски стержней от обычных шариковых ручек. Выглядеть это будет так:
Горшки с цветами дома часто стоят в ряд на подоконнике. Вам достаточно просто положить трубку на горшки так, чтобы отверстия в ней приходились по одному на горшок. Теперь наше устройство может поливать сразу несколько горшков. Однако в таком случае принимать решение о необходимости полива можно только по одному горшку. Однако обычно горшки примерно одинаковые по размерам и, соответственно, сохнут с примерно равной скоростью. Можно так же комбинировать два решения, разделяя все горшки на группы примерно равных по размерам.
Исходный код
Для работы скетча вам понадобиться скачать и установить библиотеку для работы с дисплеем QuadDisplay2
Демонстрация работы устройства
Что ещё можно сделать?
А ещё можно собрать автополив на Slot Shield — инструкция по сборке и прошивка.
Источник
Автополив для комнатных цветов
Позаботься о своих цветочках, даже если ты далеко от дома.
Простая система автоматического полива с помощью датчика влажности определит, что земля в горшке пересохла и включит помпу. Как только почва увлажнится, реле выключит помпу. Задать пороговое значение можно повернув ручку потенциометра. Всё просто!
Что потребуется
Полный сет компонентов проекта. В сет входят:
Видеоинструкция
Как собрать
Установите Troyka Slot Shield на Iskra Neo
Подключите датчик влажности трёхпроводным шлейфом через штырьковые соединители к пину A0 .
Поверните мини-реле на 90 градусов против часовой стрелки и установите в левый нижний слот.
Поверните потенциометр на 90 градусов против часовой стрелки и установите в средний слот нижнего ряда.
Подключите помпу через мини-реле и опустите её в банку с водой.
Мы подключили питание помпы к питанию устройства, воспользовавшись штекером питания с клеммником. Вы можете подключить помпу через реле напрямую.
Скетч
Прошейте контроллер скетчем через Arduino IDE.
Что дальше?
Хотите собрать другой девайс? Выберите своё будущее устройство из списка проектов на Slot Shield.
Источник
Делаем автополив растений с помощью 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 для проекта «Автополив»
Переходим к программированию кода:
Дополнительно вы можете посмотреть пару интересных видео от наших коллег:
На этом на сегодня всё. Отличных вам проектов!
Источник
Урок 30. Автоматический полив растений
Система автоматического полива растений — незаменимый помощник, как для ухода за комнатными растениями, так и на огороде. Система включает мембранный насос для полива растений, если влажность почвы снизилась ниже определённого (порогового) значения. Пороговое значение влажности почвы и время на которое требуется включать насос, устанавливается при помощи кнопок.
Нам понадобится:
- Arduino х 1шт.
- Аналоговый датчик влажности почвы х 1шт.
- Мембранный насос х 1шт.
- Trema-модуль Силовой ключ х 1шт.
- Trema-модуль Четырехразрядный LED индикатор х 1шт.
- Trema-модуль Кнопка х 2шт.
- Trema Shield х 1шт.
- Коннектор Power Jack с клемником х 1шт.
Для реализации проекта нам необходимо установить библиотеку:
О том как устанавливать библиотеки, Вы можете ознакомиться на странице Wiki — Установка библиотек в Arduino IDE .
Видео:
Схема подключения:
LED индикатор и кнопки, подключаются к любым выводам Arduino (как цифровым, так и аналоговым), номера указываются в скетче.
Датчик влажности почвы подключается к любому аналоговому входу, номер указывается в скетче.
Силовой ключ (для управления насосом) подключается к цифровому выводу с ШИМ, номер указывается в скетче.
В данном уроке, LED индикатор подключён к цифровым выводам 2 и 3, кнопки подключены к цифровым выводам 11 и 12, силовой ключ к цифровому выводу 10 (с ШИМ), датчик влажности почвы к аналоговому входу A0.
Источник
Автоматическая система полива растений на основе Arduino
Всегда, когда вы уезжаете из своего дома на несколько дней, вы вынуждены беспокоиться о своих растениях поскольку они требуют регулярного полива. Поэтому в данной статье мы рассмотрим проектирование автоматической системы полива растений на основе платы Arduino, которая будет обеспечивать периодическую подачу воды вашим растениям и передавать вам SMS об этом на ваш сотовый телефон.
В основе данной системы будет лежать использование датчика влажности почвы (Soil Moisture Sensor), который будет проверять уровень влажности почвы и если он ниже заданного уровня, то плата Arduino будет включать водяной насос чтобы обеспечить подачу воды растениям. Водяной насос будет автоматически выключаться когда уровень влажности почвы будет соответствовать норме. Всегда при включении и выключении водяного насоса вам на сотовый телефон будет передаваться сообщение с помощью GSM модуля. Представленная система окажет большую помощь на фермах, в садах и домах. Система полностью автоматическая и не требует никакого вмешательства человека.
Необходимые компоненты
- Плата Arduino Uno (купить на AliExpress).
- GSM модуль SIM800 (купить на AliExpress).
- Транзистор BC547 (2 шт.) (купить на AliExpress).
- ЖК дисплей 16х2 (опционально) (купить на AliExpress).
- Реле на 12v.
- Водяной насос (купить на AliExpress).
- Датчик влажности почвы (Soil Moisture Sensor) (у нас он самодельный, но при желании его можно купить на AliExpress).
- Резисторы (1 кОм, 10 кОм) (купить на AliExpress).
- Переменные резисторы (10 кОм, 100 кОм) (купить на AliExpress).
- Регулятор напряжения (микросхема LM317) (купить на AliExpress).
- Источник питания 12v 1A.
- Соединительные провода и концевой соединитель.
GSM модуль
В этом проекте мы использовали TTL SIM800 GSM модуль. SIM800 представляет собой четырех диапазонный GSM/GPRS модуль, способен работать в диапазонах частот 850/900/1800/1900 МГц и обеспечивать передачу голоса, SMS, данных с низким энергопотреблением. Внешний вид SIM800 показан на рисунке ниже – он достаточно компактный и не займет много места в ваших устройствах. Модуль SIM800 включает:
- четырех диапазонный GSM/GPRS модуль компактного размера;
- возможность задействования GPRS;
- выход TTL.
Более подробно изучить работу с GSM модулем можно в статье про автоматическую доску объявлений на Arduino. Также можно посмотреть все статьи на нашем сайте, использующие технологию GSM.
Работа схемы
В этом проекте мы использовали самодельный датчик влажности почвы на основе зонда, который будет использоваться для измерения уровня влажности почвы. Для изготовления зонда мы использовали доску, покрытую медью как показано на рисунке ниже (можно использовать ненужный кусок печатной платы). Один контакт зонда будет подсоединен к Vcc (напряжению постоянного тока), а другой – к базе транзистора BC547. К базе транзистора также подключен потенциометр для регулирования чувствительности датчика влажности почвы.
Плата Arduino будет управлять всем процессом работы нашей системы. Выход схемы измерения влажности непосредственно подсоединен к цифровому контакту D7 платы Arduino. Светодиод, присутствующий в схеме датчика, показывает наличие влаги в почве, когда он горит – влаги достаточно, а когда он выключен – это свидетельствует об отсутствии влаги в почве.
GSM модуль используется для передачи SMS пользователю. Мы использовали TTL SIM800 GSM модуль, который имеет выход непосредственно в TTL модуль, но можно использовать и любой другой GSM модуль. Регулятор напряжения LM317 используется для подачи питания на SIM800 GSM модуль. LM317 очень чувствителен к максимально допустимому напряжению и перед его использованием рекомендуется прочитать даташит на него. Его рабочее напряжение составляет от 3.8v до 4.2v (более предпочтительно использовать 3.8v). На следующем рисунке показана схема подачи питания на TTL sim800 GSM модуль:
Если вам нужно использовать SIM900 TTL модуль, то вы должны использовать 5V, а если вы хотите использовать SIM900 модуль, то вы должны подключить 12v в DC Jack slot платы.
Реле 12V используется для управления небольшим водяным насосом, работающим от 220VAC. Реле управляется с помощью транзистора BC547, который в дальнейшем подсоединен к цифровому контакту 11 платы Arduino.
ЖК дисплей (опционально) используется для отображения статуса устройства и сообщений. Управляющие контакты ЖК дисплея RS и EN подключены к контактам 14 и 15 платы Arduino, а контакты данных D4-D7 непосредственно подключены к контактам 16, 17, 18 и 19 платы Arduino. ЖК дисплей используется в 4-битном режиме и управляется встроенной библиотекой Arduino.
Полная схема устройства представлена на следующем рисунке.
Объяснение работы проекта
Спроектированная нами система автоматического полива растений не требует никакого участия человека в своей работе, весь процесс управляется платой Arduino, а GSM модуль используется для передачи сообщений на ваш сотовый телефон. Внешний вид собранной системы показан на следующем рисунке.
Если влага присутствует в почве, то тогда сопротивление между двумя контактами зонда для измерения влажности мало, транзистор Q2 остается в открытом состоянии и на контакт D7 платы Arduino подается напряжение низкого уровня. И когда на контакте D7 напряжение низкого уровня плата Arduino передает пользователю SMS “Soil Moisture is Normal. Motor turned OFF” (уровень влаги в норме, насос выключен), водяной насос при этом остается в выключенном состоянии.
А когда влаги в почве становится очень мало, то транзистор Q2 запирается и на контакт D7 платы Arduino подается напряжение высокого уровня. Как только плата Arduino обнаруживает это, она включает водяной насос и передает пользователю сообщение “Low Soil Moisture detected. Motor turned ON” (низкий уровень влаги, насос включен). Насос автоматически выключится как только уровень влаги в почве достигнет требуемой величины. Более подробно все эти процессы показаны в видео в конце статьи.
На следующем рисунке приведена структурная схема работы нашего проекта.
Исходный код программы
В программе нам сначала необходимо подключить библиотеку последовательной связи (SoftwareSerial library) чтобы задействовать последовательную связь на контактах 2 и 3 платы Arduino, а также подключить библиотеку для работы с ЖК дисплеем.
#include
SoftwareSerial Serial1(2,3);
#include
LiquidCrystal lcd(14,15,16,17,18,19);
int led=13;
int flag=0;
String str=»»;
#define motor 11
#define sensor 7
Затем в функции void setup () последовательная связь инициализируется на скорость 9600 бод/с и задаются режимы работы (на ввод или вывод данных) для используемых контактов. Функция gsmInit вызывается для инициализации GSM модуля.
Serial1.begin(9600);
Serial.begin(9600);
pinMode(led, OUTPUT);
pinMode(motor, OUTPUT);
pinMode(sensor, INPUT_PULLUP);
lcd.print(«Water Irrigaton»);
lcd.setCursor(4,1);
delay(2000);
lcd.clear();
lcd.print(«Circuit Digest»);
lcd.setCursor(0,1);
lcd.print(«Welcomes You»);
delay(2000);
gsmInit();
Затем в функции void loop () считывается значение с выхода датчика измерения влажности и в зависимости от этого значения включается/выключается мотор водяного насоса и пользователю передаются SMS с помощью функции sendSMS .
void loop()
<
lcd.setCursor(0,0);
lcd.print(«Automatic Mode «);
if(digitalRead(sensor)==1 && flag==0)
<
delay(1000);
if(digitalRead(sensor)==1)
<
digitalWrite(led, HIGH);
sendSMS(«Low Soil Moisture detected. Motor turned ON»);
lcd.begin(16,2);
lcd.setCursor(0,1);
. .
. .
Функция gsmInit () играет важную роль в нашей программе и, к сожалению, ряд пользователей считают ее достаточно трудной для программирования. Эта функция используется для инициализации GSM модуля. Сначала проверяется соединен ли GSM модуль с сетью при помощи передачи ему соответствующей ‘AT’ команды. Если модуль ответил OK, это значит что он готов к работе. Система будет проверять модуль до тех пор пока не получит от него ответ ‘OK’. Затем выключается режим ECHO (чтобы модуль не повторял в ответе написанную ему команду) с помощью команды ATE0. Затем проверяется доступность сети при помощи команды ‘AT+CPIN?’. Если вставленная карта является SIM картой и PIN присутствует, модуль формирует ответ READY. Эта проверка также осуществляется непрерывно до тех пор пока сеть не будет найдена. Более подробно эти процессы показаны в видео в конце статьи.
void gsmInit()
<
lcd.clear();
lcd.print(«Finding Module..»);
boolean at_flag=1;
while(at_flag)
<
Serial1.println(«AT»);
while(Serial1.available()>0)
<
if(Serial1.find(«OK»))
at_flag=0;
>
delay(1000);
>
. .
. .
То есть с помощью спроектированной нами системы вам не будет нужно беспокоиться о своих растениях когда вы уезжаете на несколько дней из дома. В дальнейшем этот проект можно улучшить, добавив мониторинг состояния устройства через интернет — то есть система будет передавать вам Email о своем состоянии или передавать свои данные на веб-страницу, которую можно будет посмотреть из любой точки мира.
Источник