Съдържание:

Безжична градинска система: 7 стъпки
Безжична градинска система: 7 стъпки

Видео: Безжична градинска система: 7 стъпки

Видео: Безжична градинска система: 7 стъпки
Видео: Монтаж на комплект НАПОЯВАНЕ С ИМПУЛСНИ РАЗПРЪСКВАЧИ в 7 лесни стъпки 2024, Ноември
Anonim
Безжична градинска система
Безжична градинска система

Този проект се основава на Arduino и използва „модули“, за да ви помогне да поливате растенията си и да регистрирате температура и почва и дъжд.

Системата е безжична през 2, 4 GHz и използва NRF24L01 модули за изпращане и получаване на данни. Нека обясня малко как работи, PS! Извинете, ако английският не е 100 % правилен, аз съм от Швеция.

Използвам тази система, за да контролирам растенията си, грехове Имам различни растения, от които се нуждаех, за да ги регистрирам по различен начин. Затова изграждам система, базирана на зони.

Сензорите за почвата, които отчитат влажността и температурата на почвата (работи от батерията), проверяват всеки час и предават данните на базовата машина, която има wifi връзка. Данните се качват на сървър в моя дом и влизат в уеб страница.

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

Да предположим, че имате една картофена земя, една за тютюн и една за домати, тогава можете да имате 3 зони с 3 различни сензора и 3 помпи.

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

Дано разберете малко. Сега нека започнем да правим сом сензори.

Моята страница на GitHub, където изтегляте всичко:

Стъпка 1: Датчици за почвата

Датчици за почвата
Датчици за почвата
Датчици за почвата
Датчици за почвата
Датчици за почвата
Датчици за почвата
Датчици за почвата
Датчици за почвата

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

За тази конструкция се нуждаете от:

  • 1x Atmega328P-PU чип
  • 1x модул nRF24L01
  • 1x 100 uf кондензатор
  • 1x транзистор NPN BC547
  • 2x 22 pF кондензатори
  • 1x 16.000 MHz кристал
  • 1x сензор за влажност на почвата
  • 1x DS18B20 Температурен сензор
  • 1x RGB Led (Общ анод се използва от мен)
  • 3x 270 ома резистори
  • 1x 4, 7 K ом резистор
  • Батерия (използвам 3.7v Li-Po батерия)
  • И ако се използва li-po, зарядно устройство за батерия.

За да поддържате сензорите да работят дълго време, не използвайте предварително изработена платка Arduino, те бързо ще изпразнят батерията. Вместо това използвайте чипа Atmega328P.

Свържете всичко, както е показано в моя електрически лист. (Вижте изображение или PDF файл) Препоръчително е също да добавите превключвател за захранване, за да можете да изключите захранването при зареждане.

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

За да поддържам почвените сензори живи за дълго време, използвам NPN транзистор, за да ги захранвам, едва когато започне отчитането. Така че те не се активират постоянно, всеки сензор има идентификационен номер от 45XX до 5000 (това може да се промени), така че всеки сензор трябва да има уникални номера, всичко, което трябва да направите, е да дефинирате в кода.

Сензорите ще заспят, за да спестят батерията.

Стъпка 2: Сензор за животни

Сензор за животни
Сензор за животни
Сензор за животни
Сензор за животни
Сензор за животни
Сензор за животни
Сензор за животни
Сензор за животни

Animal Sensor е прост пир сензор. Усеща топлината от животни или хора. Ако сензорът усеща движение. Те ще изпратят до базовата станция.

Но няма да се включи никаква аларма, за да направите това, на страницата трябва да я активирате, или ако сте настроили таймер, тя ще активира автоматично този път.

Ако базата получи сигнал за движение от сензора за животни, тя ще го предаде на сензора за сирена и (надявам се) ще изплаши животното. Сирената ми е на 119 db.

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

За този сензор се нуждаете от:

  • ATMEGA328P-PU чип
  • 1 х 16 000 MHz кристал
  • 2 x 22 pF кондензатор
  • 1 x Pir сензорен модул
  • 1 x 100 uF кондензатор
  • 1 x NRF24L01 модул
  • 1 x Led (не използвам никакви RGB светодиоди тук)
  • 1 x 220 ома резистор
  • Ако ще работите с батерия, имате нужда от това (използвам Li-Po)
  • Модул за зарядно устройство за батерии, ако имате презаредена батерия.
  • Някакъв превключвател на захранването.

Свържете всичко както виждате в електрическия лист. Проверете, за да можете да захранвате вашия пир сензор от батерията (някои се нуждаят от 5v, за да работят).

Вземете кода от моя GitHub и дефинирайте сензора за вещици, който ще използвате (например: SENS1, SENS2 и т.н.), така че да получат уникални номера.

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

Това е за сензора за животни, продължаваме.

Стъпка 3: Контролер за водна помпа

Контролер за водна помпа
Контролер за водна помпа
Контролер за водна помпа
Контролер за водна помпа
Контролер за водна помпа
Контролер за водна помпа
Контролер за водна помпа
Контролер за водна помпа

Контролерът на водната помпа трябва да стартира помпа или воден вентил, за да напои вашите полета. За тази система не се нуждаете от грешки на батерията, имате нужда от захранване, за да стартирате помпата си. Използвам модул AC 230 до DC 5 v, за да стартирам Arduino Нано. Също така трябва да има видове помпи, такава, която използва воден клапан, който работи на 12 v, така че за това имам модул AC 230 до DC 12v към релейната платка.

Другият е 230 AC в релето, така че мога да захранвам 230 V AC помпа.

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

Можете да зададете колко дълго трябва да работи на уеб страницата (например 5 минути), когато сензорите проверяват само на всеки час. Също така, когато помпата спре, тя ще съхранява времето в системата, така че автоматичната система да не стартира помпата скоро. (Възможно е също така настройка на уеб страницата).

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

Дано сте разбрали:)

За този проект се нуждаете от:

  • 1 x Arduino Nano
  • 1 x NRF24L01 модул
  • 1 x 100 uF кондензатор
  • 1 RGB Led (общ анод се използва от мен)
  • 3 x 270 ома резистори
  • 1 x релейна платка

Свържете всичко като електрически лист (вижте pdf файл или изображение) Изтеглете кода от GitHub и не забравяйте да определите номера на сензора.

И сега имате контролер на помпата, системата може да работи с повече от един.

Стъпка 4: Сензор за дъжд

Сензор за дъжд
Сензор за дъжд
Сензор за дъжд
Сензор за дъжд
Сензор за дъжд
Сензор за дъжд
Сензор за дъжд
Сензор за дъжд

Сензорът за дъжд се използва за откриване на дъжд. Не ви трябват повече от един. Но е възможно да се добавят още. Този сензор за дъжд се захранва от батерии и проверява на всеки 30 минути за дъжд. Те също имат уникален номер, за да се идентифицират сами.

Сензорът за дъжд използва аналогови и цифрови щифтове. Цифровият щифт трябва да провери дали вали, (Цифровият дисплей показва само да или не) и трябва да включите саксията на модула на сензора за дъжд, когато е добре, за да предупредите за „дъжд“(нивото на водата на сензора, което показва дъжд.)

Аналоговият щифт се използва за информиране в проценти колко е мокър на сензора.

Ако цифровият щифт открие, че вали, сензорът ще го изпрати до базовата система. И основната система няма да полива растенията, докато "вали". Сензорът също изпраща колко е мокър и състоянието на батерията.

Захранваме сензора за дъжд само когато е време да четем през транзистора, който позволява чрез цифров щифт.

За този сензор се нуждаете от:

  • ATMEGA328P-PU чип
  • 1x 16 000 MHz кристал
  • 2x 22 pF кондензатор
  • 1x модул за сензор за дъжд
  • 1x 100 uF кондензатор
  • 1x модул NRF24L01
  • 1x RGB Led (използвах общ анод, това е VCC вместо GND)
  • 3x 270 ома резистори
  • 1x транзистор NPN BC547
  • 1x батерия (използвам Li-Po)
  • 1x Li-Po зарядно устройство (ако се използва Li-Po батерия)

Свържете всичко, както виждате на електрическия лист (в pdf или на изображението След това качете кода в чипа ATMEGA, както можете да намерите на моята страница на GitHub под сензор за дъжд Не забравяйте да определите сензора, за да получите правилния идентификационен номер.

И сега ще имате сензор за дъжд, който работи на всеки 30 минути. Можете да промените времето за това, ако не искате по -малко или повече.

Във функцията counterHandler () можете да настроите времето за събуждане на чипа. Вие изчислявате така: Чиповете се събуждат на всеки 8 секунди и всеки път ще увеличават стойност. Така че за 30 минути ще получите 225 пъти, преди да трябва да извърши действия. Така че има половин час за 1800 секунди. Така че, разделете го на 8 (1800/8), ще получите 225. Това означава, че той няма да провери сензора, докато не работи 225 пъти и това ще бъде около 30 минути. Същото правите и с почвения сензор.

Стъпка 5: Сирена за животни

Сирена за животни
Сирена за животни
Сирена за животни
Сирена за животни
Сирена за животни
Сирена за животни
Сирена за животни
Сирена за животни

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

Използвам Arduino nano в този проект и го захранвам с 12v. Сирената също е 12 v, така че вместо реле ще използвам 2N2222A транзистор, за да активирам сирената. Ако използвате реле, когато имате същото заземяване, можете да повредите вашия Arduino. Затова използвам транзистор, за да активирам сирената.

Но ако вашата сирена и Arduino не използват една и съща земя, можете да използвате реле. Пропуснете транзистора и 2.2K резистора и вместо това използвайте релейна платка. И също така промяна в кода на Arduino при активиране промяна от ВИСОКО на НИСКО и при деактивиране промяна от НИСКО на ВИСОКО или цифрово четене за пина 10, греховете релето използва LOW за активиране и транзисторът използва HIGH, така че трябва да превключите това.

За тази конструкция се нуждаете от:

  • 1x Arduino nano
  • 1x 2.2K резистор (пропуснете, ако използвате релейна платка)
  • 1x 2N2222 транзистор
  • 1x сирена
  • 3x 270 Ohm резистор
  • 1x RGB Led (използвам общ анод, VCC вместо GND)
  • 1X модул NRF24L01
  • 1x 100 uF кондензатор

Свържете всичко, както виждате на електрическия лист в PDF или на изображението. Качете кода към Arduino, който намирате на моята страница GitHub под Animal Siren Не забравяйте да определите сензора за правилен идентификационен номер.

И сега имате работеща сирена.

Стъпка 6: Основна система

Основна система
Основна система
Основна система
Основна система
Основна система
Основна система

Основната система е най -важната от всички модули. Без нея не можете да използвате тази система. Основната система е свързана към интернет с модула ESP-01 и ние използваме щифтове Arduino Megas Serial1, за да я свържем. RX на Mega към TX на ESP, но трябва да преминем през два резистора, за да намалим волта до 3.3. И TX на Mega към RX на ESP.

Инсталирайте ESP модула

За да използвате ESP, първо трябва да зададете скоростта на предаване на 9600, това е, което използвах в този проект и открих, че ESP работи най -добре. Извън кутията той зададе 115200 скорост на предаване, можете да опитате, но моята не беше толкова стабилна. За да направите това, имате нужда от Arduino (Mega работи добре) и трябва да свържете TX на ESP (през резисторите, както виждате на листа) към Serial TX (не Serial1, ако използвате Mega) и RX на ESP към Arduino Serial RX.

Качете мигаща скица (или друга скица, която не използва сериен) и отворете сериен монитор и задайте скорост на предаване на 115200 и NR & CR по линиите

В командния ред напишете AT и натиснете enter. Трябва да получите отговор, който казва ОК, така че сега знаем, че ESP работи. (Ако не, има проблем с връзката или лош модул ESP-01)

Сега в командния ред напишете AT+UART_DEF = 9600, 8, 1, 0, 0 и натиснете enter.

Той ще отговори с OK и това означава, че сме задали скоростта на предаване на 9600. Рестартирайте ESP със следната команда: AT+RST и натиснете enter. Променете скоростта на предаване в сериен монитор на 9600 и въведете AT и натиснете enter. Ако се върнете добре, ESP е настроен за 9600 и можете да го използвате за проекта.

Модулът SD карта

Искам лесно да променя настройките на WIFI за системата, да се промени нова парола или име на wifi. Затова се нуждаем от модула SD карта. Вътре в SD картата създайте текстов файл с името config.txt и използваме JSON за четене, така че се нуждаем от JSON формат. Така че текстовият файл трябва да има следния текст:

}

Променете текста с ГОЛЕМИТЕ букви, за да съответства на вашата wifi мрежа.

Греховете, които използваме NRF24L01, който използва SPI, а четецът на SD карти също използва SPI, ние трябва да използваме библиотеката SDFat, за да можем да използваме SoftwareSPI (можем да добавим четеца на SD карти към всякакви щифтове)

DHT сензор

Тази система е поставена навън и има DHT сензор, за да можем да проверим влажността и температурата на въздуха. Използва се за допълнително поливане в горещите дни.

За тази конструкция се нуждаете от:

  • 1x Arduino Mega
  • 1x модул NRF24L01
  • 1x модул ESP-01
  • 1x модул SPI Micro SD карта
  • 1x DHT-22 сензор
  • 1x RGB Led (използвах общ анод, VCC вместо GND)
  • 3x 270 ома резистори
  • 1x 22 K Ohm резистор
  • 2x 10 K Ohm резистор

Моля, обърнете внимание, че ако не получите стабилен модул ESP-01, опитайте да го захранвате от външен източник на захранване 3.3v.

Свържете всичко, както виждате в електрическия лист във PDF файла или в изображението.

Качете кода на вашия Arduino Mega и не забравяйте да проверите целия код за коментари, защото трябва да настроите хоста към сървъра на множество места (това не е най -доброто решение, което познавам).

Сега вашата система Base е готова за употреба. Не е необходимо да променяте променливите в кода за греховете на почвената влага, можете да го направите направо от уеб страницата.

Стъпка 7: Уеб системата

Уеб системата
Уеб системата
Уеб системата
Уеб системата
Уеб системата
Уеб системата
Уеб системата
Уеб системата

За да използвате системата, имате нужда и от уеб сървър. Използвам малиново пи с Apache, PHP, Mysql, Gettext. Уеб системата е многоезична, така че можете лесно да я направите на вашия език. Той идва с шведски и английски (английският може да има неправилен английски, моят превод не е 100 %.) Така че трябва да имате инсталиран Gettext за вашия сървър, както и локалите.

Показвам ви няколко скрийншота по -горе от системата.

Той идва с проста система за вход и основното влизане е: администратор като потребител и вода като парола.

За да го използвате, трябва да настроите три задания за cron (намирате ги в папката cronjob)

Файлът timer.php, който трябва да стартирате на всеки секунди. Това съдържа цялата автоматизация на системата за дупки. Името на файла temperatur.php се използва, за да каже на системата да прочете температурата на въздуха и да я регистрира. Така че трябва да настроите cron работа за това колко често ще я изпълнявате. Имам го на всеки 5 минути. След това файлът, наречен dagstatistik.php, трябва да работи само веднъж преди полунощ (например 23:30, 23:30 ч.). Той взема стойности, докладвани от сензорите през деня, и го запазва за статиката за седмицата и месеца.

Моля, обърнете внимание, че тази система съхранява температурата в градуси по Целзий, но можете да промените на Фаренхайт.

Във файла db.php настройвате връзката към базата данни на mysql за системата.

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

Ако имате въпроси или откриете грешки в системата, моля, докладвайте ги на страницата на GitHub. Можете да използвате уеб системата и нямате право да я продавате.

Ако имате проблеми с локалите за gettext, моля, не забравяйте, че ако използвате малинка като сървър, те често се наричат като en_US. UTF-8, така че трябва да направите тези промени във файла i18n_setup.php и в папката locale. В противен случай ще останете със шведски език.

Изтегляте го на страницата на GitHub.

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