Съдържание:

DIY - Автоматизирано напояване на градината - (Arduino / IOT): 9 стъпки (със снимки)
DIY - Автоматизирано напояване на градината - (Arduino / IOT): 9 стъпки (със снимки)

Видео: DIY - Автоматизирано напояване на градината - (Arduino / IOT): 9 стъпки (със снимки)

Видео: DIY - Автоматизирано напояване на градината - (Arduino / IOT): 9 стъпки (със снимки)
Видео: The easiest way to make a homemade drip irrigation system ll DIY home drip irrigation system 2024, Юли
Anonim
DIY - Автоматизирано напояване на градината - (Arduino / IOT)
DIY - Автоматизирано напояване на градината - (Arduino / IOT)
DIY - Автоматизирано напояване на градината - (Arduino / IOT)
DIY - Автоматизирано напояване на градината - (Arduino / IOT)
DIY - Автоматизирано напояване на градината - (Arduino / IOT)
DIY - Автоматизирано напояване на градината - (Arduino / IOT)

Този проект ще ви покаже как да изградите контролер за напояване за домашна градина. Способен да измерва показанията за влажност на почвата и да активира напояването от градинска чешма, ако почвата стане твърде суха. Контролерът включва и сензор за температура и влажност. Контролерът няма да активира градинския кран, ако температурата е твърде ниска. Показанията на сензора и статистическите данни за потреблението на вода / времената на работа се записват в ThingsBoard IOT за визуализация и анализ. Предупреждения и имейли се задействат, ако напоителният контролер спре да предава данни, почвата стане твърде суха или прекалено наситена.

Предпоставки

  • Знания за Arduino, включително поне основно кодиране за Arduino и запояване.
  • 1x градинска чешма под налягане

Сметка за материалите

  • Градински поливни тръби, струи, капкомери и др.
  • Електронен таймер за докосване с два циферблата (т.е.: Aqua Systems Electronic Digital Time Timer)
  • Редуктор на налягане от кран 300kpa
  • Arduino Uno
  • Щит на Лора Ардуино
  • Lora Gateway (Не е необходимо, ако имате локален шлюз за мрежови неща в обхвата)
  • DHT11 Температурен сензор за влажност
  • 5v реле
  • Телефонен кабел
  • Кабелни връзки
  • Автомобилни сплит гофрирани тръби
  • Съединителни ленти за автомобилни клеми
  • 2x поцинковани пирони
  • 1x резистор
  • Силиций / уплътнител
  • PVC цимент
  • PVC грунд
  • PVC тръба 32 мм ширина x 60 мм дължина
  • PVC тръба 90 мм ширина x 30 см дължина
  • 3x PVC капачки 90 мм
  • 1x PVC винтова крайна капачка 90 мм
  • 1x фитинги с резба от PVC с резба 90 мм
  • 1x ПВЦ капачки 32 мм
  • 1x 3.2V източник на захранване (таймер за докосване) [батерии, променливотоков многоволтов адаптер]
  • 1x 6-12V източник на захранване (arduino) [батерии, USB, USB към AC адаптер]
  • уплътнителна лента с резба
  • електрическо тиксо

Стъпка 1: Инсталирайте градинско напояване

Инсталирайте градинско напояване
Инсталирайте градинско напояване
Инсталирайте градинско напояване
Инсталирайте градинско напояване

Разположете поли тръба, поставете струи, капкови линии и капкомери. Контролерът за напояване ще работи с всяко напояване. В основата си той измерва показанията за влажност на почвата и активира таймера за крана, ако и когато почвата е твърде суха. Контролерът може да бъде калибриран, за да зададе долната точка за насищане, колко дълго трябва да бъде включен таймерът за докосване и колко често контролерът трябва да проверява насищането.

Тези настройки могат да се променят на arduino и да се съхраняват в паметта на EPROM. Настройките могат да се актуализират и чрез интеграция на IOT. Този проект ще стартира контролера на всеки четири часа и ще включи крана за 3 минути, ако почвата е твърде суха. Той може да работи няколко пъти подред, ако е сух/горещ или веднъж на ден или два по друг начин.

Стъпка 2: Fit Time Timer

Fit Time Timer
Fit Time Timer

Поставете таймера за докосване и експериментирайте с регулируемите циферблати, за да изчислите приблизителна честота и време на работа, които работят най -добре за вашата поливна инсталация. Ще премахнем таймера и ще го променим, за да работи с Arduino.

Стъпка 3: Arduino Build

Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build

Използвайте електрическата схема като ръководство за изграждането. На снимките е използвано окабеляване на телефонния кабел и винтови клемни ленти за точки на свързване. Необходимо е известно запояване.

Докоснете Промяна на таймера

Внимателно отделете таймера за докосване. Ще окажем трудно свързване на двата регулируеми циферблата, така че да могат да се управляват от arduino вместо от ръчните циферблати. Левият честотен диск ще бъде здраво свързан към нулираната позиция, така че десният циферблат да може да се превключва между позиция за включване/изключване. Десният циферблат ще има един проводник, идващ от централния десен контакт и външния десен контакт, както е показано. По подразбиране таймерът ще бъде в изключено положение. Ако двата проводника влязат в контакт, таймерът ще се включи. С двата проводника, свързани към 5V реле, arduino може след това да затвори/отвори контакта между двата проводника. С един проводник в общия релеен терминал, а другият в нормално затворен терминал ще гарантираме, че таймерът е изключен, когато arduino е изключен. Задаването на релейния щифт на HIGH ще включи таймера; настройката му на LOW ще изключи таймера.

Почва сонда

За този проект двата пирона са запоени към проводник, свързан към винтови клеми. Терминалът на един пирон отива направо към земята. Другият се свързва към аналогов вход в arduino и резистор. Резисторът се свързва към arduinos 5v сигнал. Показано в диаграмата за извиване.

Сензор за температура/влажност

Сензорът за температура/влажност на DHT11 е свързан към 5V, заземяване и цифров щифт на arduino на arduino.

Щит Лора

Този проект също използва щит Dragino Lora (не е показан на електрическата схема).

PVC основа

PVC базата за arduino, използвана в този проект, е проектирана така, че сензорът за температура/влажност може да бъде изложен, като същевременно запази всички останали компоненти, закрепени във водонепроницаемия PVC корпус. За сензора се пробива/изрязва малка дупка и се използва силиций, за да се задържи на място, като същевременно се спира влагата да достигне до arduino. Показано на диаграмата.

Стъпка 4: Програмиране на Arduino

Програмиране на Arduino
Програмиране на Arduino

Свържете компонентите заедно чрез макет или клемни ленти за програмиране и тестване

Конфигурация на EPROM

Първо трябва да запишем конфигурационни променливи в паметта на EPROM. Изпълнете следния код на вашия arduino:

Кодът е наличен в Github

Тук DRY_VALUE е зададен на 960. 1024 означава, че почвата е напълно суха, 0 означава пълно насищане, 960 е добро ниво на насищане за резистора, дължината на кабела и използваните пирони. Това може да варира в зависимост от вашата собствена конфигурация.

VALVE_OPEN е зададен на 180000 милисекунди (3 минути). Когато/ако таймерът за докосване е включен, той ще остане отворен за 3 минути.

RUN_INTERVAL е зададен на 14400000 милисекунди (4 часа). Това означава, че контролерът ще проверява влажността на почвата на всеки четири часа и ще включва таймера за крана за 3 минути, ако насищането е ниско (повече от 960).

Горният код може да бъде променен и тези стойности да бъдат променени по всяко време.

Програмен код

Кодът е наличен в Github

Зависимости:

  • TimedAction
  • Радио главата

Този пример използва щита Dragino Lora и по -специално паралелния пример на Lora с щита, свързващ се директно към портата Dragino Lora.

Това може да бъде адаптирано за използване на мрежата на нещата, като премахнете кода в раздела „НАЧАЛО: lora vars“и променете програмата, за да включите следния пример на Dragino или адаптирайте за работа с други радиостанции/wifi щитове и т.н.

Доставеният код приема, че DHT11_PIN е цифров извод 4, RELAY_PIN е цифров извод 3 и аналоговият извод за влажност на почвата е аналогов вход 0.

Променлива за отстраняване на грешки може да бъде зададена на true, така че серийните съобщения за отстраняване на грешки да могат да бъдат регистрирани на скорост 9600.

Стъпка 5: Изграждане на корпуса

Конструкция на корпуса
Конструкция на корпуса

Нарежете PVC тръбата, така че да отговаря на таймера за крана и основата на Arduino. Пробийте отвори за фитинга с таймера за крана и фитинга за маркуч. Пробийте дупки в тръбата, достатъчно широки за автомобилния тръбопровод, плъзнете 10 см дължини на тръбопровода в отворите и издърпайте проводниците от arduino и таймера за докосване. Това трябва да включва:

От Arduino

  • Захранващи проводници и/или usb кабел от USB порта на arduino.
  • Кабели за влажност на почвата (VCC, GND, A0)
  • Два проводника от NC и общите винтови клеми на релето

От таймера за докосване

  • Захранващи кабели
  • Два проводника от десните контакти за набиране

Стъпка 6: Тествайте контролера преди залепване

Тестов контролер преди залепване
Тестов контролер преди залепване
Тестов контролер преди залепване
Тестов контролер преди залепване

Уверете се, че всичко работи, преди да запечатате всичко.

Снимките по -горе показват примерна настройка в еска, където сондата за влажност на почвата е поставена в саксия и таймерът за чешмата е снабден с вода, идваща от бутилка безалкохолна напитка.

Към таймера за крана беше прикрепен един капкомер.

Това беше добър начин да се провери дали инсталацията не е над или под водата на растението.

Този пример може да се изпълнява толкова дълго, колкото е необходимо за калибриране на контролера.

Стъпка 7: Лепило / водоустойчиви корпуси

Лепилни / водоустойчиви корпуси
Лепилни / водоустойчиви корпуси

Използвайте PVC грунд и PVC цимент, за да закрепите капачките и съединителя.

Използвайте уплътнител/силиций, за да запълните всички празнини около автоматичния тръбопровод и фитингите на таймера.

Тук капакът с винт се използва за корпуса на arduino за достъпност.

Стъпка 8: Инсталирайте

Инсталирай
Инсталирай
Инсталирай
Инсталирай
Инсталирай
Инсталирай

Инсталирайте в ясен ден. Компонентите и проводниците ще трябва да останат сухи, преди да бъдат запечатани.

Поставете контролера някъде в центъра между мястото, където се намира градинският кран и мястото, където ще бъде поставена сондата за почвата.

Поставете таймера за докосване и се уверете, че няма захранване, докато инсталацията приключи.

Поставете сондата за почвата.

Прикрепете клемните ленти към всеки компонент, след което поставете телефонния кабел от винтовите клеми на всеки компонент, като се уверите, че кабелът е покрит с автоматичен тръбопровод. Свързване на всичко заедно

Запечатайте всички клеми и всички други открити части с уплътнителна лента с резба, след това с електрическа лента.

Запечатайте всички хлабави/открити участъци от разцепения тръбопровод с уплътнителна лента с резба, след това с електрическа лента.

Свържете таймера към източник на захранване 3.2v. Или батерия, или към 3.2V DC - AC адаптер, работещ към електрически контакт.

Свържете Arduino към източник на захранване с постоянен ток 6-12V. Или батерия, или към USB / DC-AC адаптер, работещ към електрически контакт.

Захранване и тестване!

Стъпка 9: Интеграция на ThingsBoard - Мониторинг и отчитане

ThingsBoard Integration - Monitoring and Reporting
ThingsBoard Integration - Monitoring and Reporting

Този пример използва A Dragino Lora Shield, свързан към шлюз Dragino Lora. Независимо дали използвате тази настройка, друга настройка на Lora или друга IOT свързаност, данните, събрани от напоителния контролер, могат да бъдат препратени към IOT платформа като Thingsboard. По подразбиране програмата предава следния низ от данни, където всеки символен байт е шестнадесето кодиран:

TXXXHXXXSXXXXRX

Където Т е последвано от температурата, Н е последвано от влажността, S е последвано от нивото на насищане и R е последвано от една цифра, свързана с това какво действие е извършила в последния интервал на изпълнение. Това може да бъде или 0-5, където всяка цифра означава:

0: Програмата се инициализира 1: Грешка на сензора за температура 2: Температурата е твърде ниска, за да работи 3: Влажността на почвата е прекалено суха, така че таймерът за крана е активиран 4: Влажността на почвата е фина, така че таймерът на крана не е активиран 5: Контролерът за напояване е деактивиран

Има няколко начина да инсталирате копие на Thingsboard на вашето собствено оборудване или можете да настроите безплатен акаунт в нашата инсталация на ThingsBoard тук.

Настройте устройството си в Thingsboard

Следвайте тези инструкции, за да добавите ново устройство в Thingsboard, като го наречете „Контролер за напояване“.

Изтеглете телеметрични данни от устройството

Следвайте тези инструкции, за да настроите метод за изтласкване на данни за телепотребление от устройството към Thingboard чрез MQTT, HTTP или CoAp.

На нашия сървър ние изпращаме следния JSON към https://thingsboard.meansofproduction.tech/api/v1/… на всеки четири часа, когато устройството работи (с данни на живо):

Също така периодично избутваме следните атрибути към https://thingsboard.meansofproduction.tech/api/v1/… с данни за това кога възелът е видян за последно:

Това се използва за сигнали, които се задействат, ако устройството спре да предава данни.

Създайте табло за управление

Създайте табло за управление, както е описано тук. Нашите джаджи включват:

Проста джаджа за карта, създадена от полето за телеметрия lastRunResult. Вертикален цифров индикатор за полето за телеметрична температура Таблица за времеви серии, създадена от полето за телеметрия lastRunResult, показваща данните за последните дни. Хоризонтална лента, показваща полето за телеметрия на насищане. Това използва функция за последваща обработка на данни:

връщане на 1024-стойност;

И задава минимална и максимална стойност 0-100. По този начин нивото на насищане може да бъде изразено като процент. Показател за показване на стойността на влажността. Лентова диаграма от времеви ред, която включва температурата, влажността и резултата от работата, групирани в 5 -часови периоди за последната седмица, обобщени, за да показват максимални стойности. Това ни дава един бар за четиричасово събитие. Функция за последваща обработка на данни се използва за изразяване на резултата от изпълнението като 0 или 120 в зависимост от това дали водата е пусната или не. Това дава лесна визуална обратна връзка, за да видите колко често тече вода за една седмица. Статична HTML карта, която показва изображение на градината.

Известия по имейл

Използвахме правила, за да настроим имейл сигнали за напоителния контролер. Всички използват филтри за съобщения и Приставка за действие за изпращане на поща.

За да изпратим имейл предупреждение, ако напоителният контролер не успее да изпрати данни, използвахме „Филтър на атрибутите на устройството“със следния филтър:

typeof cs.secondsSinceLastSeen! == 'undefined' && cs.secondsSinceLastSeen> 21600

За да изпратите имейл, ако почвата стане твърде суха, използвайте следния филтър за телеметрия

typeof saturation! = "undefined" && насищане> 1010

За да изпратите имейл на базата, ако почвата стане твърде влажна, използвайте следния филтър за телеметрия

typeof saturation! = "undefined" && насищане

Препоръчано: