Obsah:

Bezdrôtový záhradný systém: 7 krokov
Bezdrôtový záhradný systém: 7 krokov

Video: Bezdrôtový záhradný systém: 7 krokov

Video: Bezdrôtový záhradný systém: 7 krokov
Video: 40 полезных автотоваров с Aliexpress, которые упростят жизнь любому автовладельцу #6 2024, November
Anonim
Bezdrôtový záhradný systém
Bezdrôtový záhradný systém

Tento projekt je založený na Arduine a pomocou „modulov“vám pomôže zalievať rastliny a zaznamenávať teplotu, pôdu a dážď.

Systém je bezdrôtový prostredníctvom 2, 4 GHz a na odosielanie a prijímanie údajov používa moduly NRF24L01. Dovoľte mi trochu vysvetliť, ako funguje, PS! Prepáčte, ak angličtina nie je 100 % správna, som zo Švédska.

Tento systém používam na kontrolu svojich rastlín, pretože mám rôzne rastliny, ktoré som potreboval na to, aby som ich rôzne zaznamenal. Preto staviam zónový logovací systém.

Pôdne senzory, ktoré čítajú vlhkosť a teplotu pôdy (beží na batériu), každú hodinu kontrolujú a odosielajú údaje do základného zariadenia, ktoré má wifi pripojenie. Údaje sa nahrajú na server v mojom dome a prihlásia sa na webovú stránku.

Ak pôda potrebuje vodu, aktivuje správne čerpadlo v závislosti od toho, aký snímač pôdy skontroloval. Ale ak prší, nebude voda. A ak je skutočne horúco, zaleje to trochu navyše.

Povedzme, že máte jednu zemiakovú pôdu, jednu na tabak a druhú na paradajku, potom môžete mať 3 zóny s 3 rôznymi senzormi a 3 pumpami.

K dispozícii sú tiež snímače pohybu, ktoré kontrolujú pohyby, a ak sú aktivované na webovej stránke, hlasná siréna začne vydesiť zviera alebo osobu, ktorá kráča blízko mojich rastlín.

Dúfam, že tomu trochu rozumieš. Teraz začneme vyrábať som senzory.

Moja stránka GitHub, kde si stiahnete všetko:

Krok 1: Senzory pôdy

Pôdne senzory
Pôdne senzory
Pôdne senzory
Pôdne senzory
Pôdne senzory
Pôdne senzory
Pôdne senzory
Pôdne senzory

Každý snímač má jedinečné číslo, ktoré je pridané na webovú stránku. Keď teda snímač pôdy prenáša údaje z tohto senzora pôdy, budú pridané do správnej zóny. Ak senzor nie je zaregistrovaný, nebudú odoslané žiadne údaje.

Pre túto zostavu potrebujete:

  • 1x čip Atmega328P-PU
  • 1x modul nRF24L01
  • 1 x 100 uf kondenzátor
  • 1x tranzistor NPN BC547
  • 2x 22 pF kondenzátory
  • 1x 16 000 MHz Kryštál
  • 1x snímač pôdnej vlhkosti
  • 1x Teplotný senzor DS18B20
  • 1x RGB LED (ja používam spoločnú anódu)
  • 3x 270 ohmový odpor
  • 1x odpor 4, 7 K ohmov
  • Batéria (používam 3,7 V Li-Po batériu)
  • A ak sa používa li-po, nabíjací modul pre batériu.

Aby senzory fungovali dlho, nepoužívajte žiadnu vopred vyrobenú dosku Arduino, rýchlo vybijú batériu. Namiesto toho použite čip Atmega328P.

Pripojte všetko, ako to ukazuje môj elektrický list. (Pozri obrázok alebo súbor PDF) Odporúčame tiež pridať vypínač, aby ste mohli pri nabíjaní vypnúť.

Pri odosielaní kódu nezabudnite definovať senzor, ktorý im poskytne jedinečné identifikačné číslo, kód je k dispozícii na mojej stránke GitHub.

Aby som senzory pôdy dlho udržal pri živote, používam na ich napájanie tranzistor NPN, len keď sa začne čítanie. Nie sú teda stále aktivované. Každý snímač má identifikačné číslo od 45XX do 5000 (toto je možné zmeniť), takže každý snímač musí mať jedinečné čísla, všetko, čo musíte urobiť, je definovať v kóde.

Senzory prejdú do režimu spánku, aby šetrili batériu.

Krok 2: Senzor zvierat

Senzor zvierat
Senzor zvierat
Senzor zvierat
Senzor zvierat
Senzor zvierat
Senzor zvierat
Senzor zvierat
Senzor zvierat

Animal Sensor je jednoduchý pirátsky senzor. Cíti teplo zo zvierat alebo ľudí. Ak snímač sníma pohyb. Pošlú ich na základňovú stanicu.

Ale nespustí sa žiadny alarm, aby ste to urobili, na stránke ho musíte aktivovať alebo ak máte nastavený časovač, v tom čase sa automaticky aktivuje.

Ak základňa dostane signál pohybu zo senzora Zviera, pošle ho ďalej na senzor Sirény a zviera (dúfam) zviera vydesí. Moja siréna je na 119 db.

Pir senzor funguje na batériu a umiestnil som ho do starého puzdra na senzor zo starého alarmu. Kábel, ktorý vychádza zo zvieracieho senzora, slúži len na nabitie batérie.

Pre tento snímač potrebujete:

  • Čip ATMEGA328P-PU
  • 1 x 16 000 MHz kryštál
  • 2 x 22 pF kondenzátor
  • 1 x modul snímača Pir
  • 1 x 100 uF kondenzátor
  • 1 x modul NRF24L01
  • 1 x LED (tu nepoužívam žiadne RGB diódy)
  • 1 x 220 ohmový odpor
  • Ak budete používať batériu, potrebujete to (používam Li-Po)
  • Modul nabíjačky batérií, ak máte batériu.
  • Nejaký vypínač.

Pripojte všetko, ako vidíte, k elektrickému listu. Skontrolujte, či môžete svoj snímač PIR napájať z batérie (niektoré na spustenie potrebujú 5 V).

Získajte kód z môjho GitHubu a definujte čarodejnícky senzor, ktorý budete používať (napr. SENS1, SENS2 atď.), Aby získali jedinečné čísla.

Čip ATMEGA sa prebudí iba vtedy, keď je zaregistrovaný pohyb. Sins modul pir senzora má vstavaný časovač pre oneskorenie, v kóde nič nie je, takže nastavte hrniec na pir senzore na oneskorenie, kedy bude bdelý.

To je pre senzor zvierat všetko, ideme ďalej.

Krok 3: Ovládač vodného čerpadla

Ovládač vodného čerpadla
Ovládač vodného čerpadla
Ovládač vodného čerpadla
Ovládač vodného čerpadla
Ovládač vodného čerpadla
Ovládač vodného čerpadla
Ovládač vodného čerpadla
Ovládač vodného čerpadla

Ovládač vodného čerpadla má spustiť čerpadlo alebo vodný ventil na zavlažovanie vašich polí. Na tento systém nepotrebujete hriechy batérie, na napájanie čerpadla potrebujete napájanie. Na spustenie Arduina používam 5 V modul AC 230 V Nano. Tiež musím použiť typy čerpadiel, také, ktoré používa vodný ventil na 12 V, takže na reléovú dosku mám modul AC 230 až DC 12 V.

Druhý je zapojený do relé 230 AC, takže môžem napájať čerpadlo 230 V AC.

Systém je veľmi jednoduchý, každý ovládač pumpy má jedinečné identifikačné čísla, takže povedzme, že zemiakové pole je suché a snímač je nastavený na automatickú vodu, potom sa k tomuto snímaču pridá moje čerpadlo, ktoré je pre zemiakové pole, takže pôdny senzor hovorí základnému systému, že by sa malo začať zalievať, takže základný systém vyšle do čerpadla signál, aby sa aktivoval.

Môžete nastaviť, ako dlho by mal bežať na webovej stránke (napríklad 5 minút), aby senzory kontrolovali iba každú hodinu. Aj keď sa čerpadlo zastaví, uloží čas do systému, takže automatický systém čerpadlo čoskoro nespustí. (Je tiež možné nastaviť na webovej stránke).

Na webovej stránke môžete tiež zakázať zavlažovanie počas noci/dňa nastavením špeciálnych časov. A tiež nastavte časovače pre každé čerpadlo, aby začalo zalievanie. A ak prší, nebudú polievať.

Dúfam že rozumieš:)

Na tento projekt potrebujete:

  • 1 x Arduino Nano
  • 1 x modul NRF24L01
  • 1 x 100 uF kondenzátor
  • 1 RGB LED (ja používam spoločnú anódu)
  • Rezistory 3 x 270 ohmov
  • 1 x reléová doska

Pripojte všetko ako elektrický list (pozri súbor PDF alebo obrázok) Stiahnite si kód z GitHubu a nezabudnite definovať číslo senzora.

A teraz máte ovládač čerpadla, systém zvládne viac ako jeden.

Krok 4: Dažďový senzor

Dažďový senzor
Dažďový senzor
Dažďový senzor
Dažďový senzor
Dažďový senzor
Dažďový senzor
Dažďový senzor
Dažďový senzor

Dažďový senzor slúži na detekciu dažďa. Nepotrebujete viac ako jeden. Je však možné pridať ďalšie. Tento dažďový senzor je napájaný batériou a každých 30 minút kontroluje, či neprší. Majú tiež jedinečné číslo, ktoré ich identifikuje.

Dažďový senzor používa analógové a digitálne kolíky. Digitálny kolík má skontrolovať, či prší (digitálny displej zobrazuje iba áno alebo nie) a musíte zapnúť hrniec na module dažďového senzora, keď je možné varovať pred „dažďom“(hladina vody v senzore, ktorá znamená, že prší.)

Analógový kolík slúži na informovanie v percentách o tom, ako je na snímači vlhký.

Ak digitálny kolík zistí, že prší, senzor ho pošle do základného systému. A základný systém nebude polievať rastliny, pokiaľ bude „pršať“. Senzor tiež odosiela, ako je mokrý, a stav batérie.

Dažďový senzor napájame iba vtedy, keď je čas na čítanie prostredníctvom tranzistora, ktorý umožňuje digitálny kolík.

Pre tento snímač potrebujete:

  • Čip ATMEGA328P-PU
  • 1x 16 000 MHz Kryštál
  • 2x kondenzátor 22 pF
  • 1x modul dažďového senzora
  • 1 x 100 uF kondenzátor
  • 1x modul NRF24L01
  • 1x RGB LED (použil som spoločnú anódu, je to VCC namiesto GND)
  • 3x 270 Ohm odpory
  • 1x tranzistor NPN BC547
  • 1x batéria (používam Li-Po)
  • 1x modul nabíjačky Li-Po (ak sa používa batéria Li-Po)

Pripojte všetko, ako vidíte na elektrickom hárku (v pdf alebo na obrázku) Potom nahrajte kód na čip ATMEGA, ktorý nájdete na mojej stránke GitHub v časti Dažďový senzor. Nezabudnite definovať snímač a získať tak správne identifikačné číslo.

A teraz budete mať dažďový senzor, ktorý beží každých 30 minút. Čas môžete zmeniť, ak ho nechcete mať menej alebo viac.

Vo funkcii CounterHandler () môžete nastaviť čas prebudenia čipu. Vypočítate takto: Čipy sa prebúdzajú každých 8 sekúnd a vždy, keď zvýši hodnotu. Takže na 30 minút získate 225 -krát, než by mal vykonávať akcie.. Pol hodiny trvá teda 1 800 sekúnd. Vydeľte to teda 8 (1800 /8), získate 225. To znamená, že senzor nekontroluje, kým nezabehne 225 -krát a bude to asi 30 minút. To isté robíte aj s pôdnym senzorom.

Krok 5: Zvieracia siréna

Zvieracia siréna
Zvieracia siréna
Zvieracia siréna
Zvieracia siréna
Zvieracia siréna
Zvieracia siréna
Zvieracia siréna
Zvieracia siréna

Zvieracia siréna je jednoduchá, keď senzor zvierat detekuje pohyb, siréna sa aktivuje. Používam skutočnú sirénu, aby som ňou dokonca mohol vystrašiť ľudí. Môžete však použiť aj sirény, ktoré počujú iba zvieratá.

V tomto projekte používam Arduino nano a napájam ho 12 V. Siréna je tiež 12 V, takže namiesto relé použijem sirénu tranzistor 2N2222A. Ak použijete relé, keď máte rovnakú zem, môžete si poškodiť Arduino. Preto namiesto toho na aktiváciu sirény používam tranzistor.

Ak však vaša siréna a Arduino nepoužívajú rovnakú zem, môžete namiesto toho použiť relé. Preskočte tranzistor a 2,2K odpor a namiesto toho použite reléovú dosku. A tiež zmena kódu Arduino pri aktivácii zmena z HIGH na LOW a pri deaktivácii zmena z LOW na HIGH a digitálne čítanie pre pin 10, pretože relé používa na aktiváciu LOW a tranzistor používa HIGH, takže to musíte prepnúť.

Pre túto zostavu potrebujete:

  • 1x Arduino nano
  • 1 x 2,2K odpor (preskočte, ak používate reléovú dosku)
  • 1x 2N2222 tranzistor
  • 1x Siréna
  • 3x rezistor 270 Ohm
  • 1x RGB LED (používam spoločnú anódu, VCC namiesto GND)
  • 1X modul NRF24L01
  • 1 x 100 uF kondenzátor

Pripojte všetko, ako vidíte na elektrickom hárku v PDF alebo na obrázku. Načítajte kód do Arduina, ktorý nájdete na mojej stránke GitHub v časti Animal Siren. Nezabudnite definovať snímač pre správne identifikačné číslo.

A teraz máte funkčnú sirénu.

Krok 6: Hlavný systém

Hlavný systém
Hlavný systém
Hlavný systém
Hlavný systém
Hlavný systém
Hlavný systém

Hlavný systém je najdôležitejší zo všetkých modulov. Bez neho nemôžete tento systém používať. Hlavný systém je pripojený k internetu pomocou modulu ESP-01 a na jeho pripojenie používame piny Arduino Megas Serial1. RX na Mega až TX na ESP, ale musíme prejsť dvoma odpormi, aby sme napätie znížili na 3,3. A TX na Mega až RX na ESP.

Nastavte modul ESP

Ak chcete používať ESP, musíte na ňom najskôr nastaviť prenosovú rýchlosť 9600, to som použil v tomto projekte a zistil som, že ESP funguje najlepšie. Po vybalení z krabice sa nastavila na 115200 prenosová rýchlosť, môžete to skúsiť, ale môj nebol taký stabilný. Na to potrebujete Arduino (Mega funguje dobre) a musíte pripojiť TX ESP (cez odpory, ako vidíte na liste) k sériovému TX (nie Serial1, ak používate Mega) a RX na ESP k Arduino Serial RX.

Nahrajte blikajúci náčrt (alebo akýkoľvek náčrt, ktorý nepoužíva sériové) a otvorte sériový monitor a nastavte prenosovú rýchlosť na 115200 a NR & CR na linkách

Do príkazového riadka napíšte AT a stlačte kláves Enter. Mali by ste dostať odpoveď, ktorá hovorí OK, takže teraz vieme, že ESP funguje. (Ak nie, je problém s pripojením alebo zlý modul ESP-01)

Teraz do príkazového riadka napíšte AT+UART_DEF = 9600, 8, 1, 0, 0 a stlačte kláves Enter.

Odpovie OK a to znamená, že sme nastavili prenosovú rýchlosť na 9600. Reštartujte ESP pomocou nasledujúceho príkazu: AT+RST a stlačte kláves Enter. Zmeňte prenosovú rýchlosť na sériovom monitore na 9600 a zadajte AT a stlačte kláves Enter. Ak dostanete späť OK, ESP je nastavené na 9600 a môžete ho použiť na projekt.

Modul karty SD

Chcem, aby bolo ľahké zmeniť nastavenia WIFI v systéme, ak sa zmení nové heslo alebo názov siete Wi -Fi. Preto potrebujeme modul karty SD. Vnútri karty SD vytvorte textový súbor s názvom config.txt a na čítanie používame JSON, takže potrebujeme formát JSON. Textový súbor by teda mal mať nasledujúci text:

}

Zmeňte text pomocou VEĽKÝCH písmen na opravu pre vašu sieť Wi -Fi.

Hriechy, ktoré používame NRF24L01, ktoré používajú SPI a čítačka kariet SD tiež používa SPI, potrebujeme použiť knižnicu SDFat, aby sme mohli používať SoftwareSPI (čítačku kariet SD môžeme pridať na akékoľvek piny)

Snímač DHT

Tento systém je umiestnený vonku a má snímač DHT, aby sme mohli kontrolovať vlhkosť a teplotu vzduchu. Slúži na dodatočné zavlažovanie v horúcich dňoch.

Pre túto zostavu potrebujete:

  • 1x Arduino Mega
  • 1x modul NRF24L01
  • 1x modul ESP-01
  • 1x modul SPI Micro SD Card
  • 1x snímač DHT-22
  • 1x RGB LED (namiesto GND som použil spoločnú anódu, VCC)
  • 3x 270 Ohm odpory
  • 1x odpor 22 K Ohm
  • 2x odpor 10 K Ohm

Upozorňujeme, že ak nezískate stabilný modul ESP-01, skúste ho napájať z externého zdroja napájania 3,3 V.

Pripojte všetko, ako vidíte na elektrickom hárku v súbore PDF alebo na obrázku.

Nahrajte kód do svojho Arduino Mega a nezabudnite skontrolovať celý kód, či neobsahuje komentáre, pretože hostiteľa musíte nastaviť na server na viacerých miestach (nie je to najlepšie riešenie, aké poznám).

Teraz je váš základný systém pripravený na použitie. V kódexe hriechov pôdnej vlhkosti nemusíte meniť premenné, môžete to urobiť priamo z webovej stránky.

Krok 7: Webový systém

Webový systém
Webový systém
Webový systém
Webový systém
Webový systém
Webový systém
Webový systém
Webový systém

Na používanie systému je potrebný aj webový server. Používam malinový pi s Apache, PHP, Mysql, Gettext. Webový systém je viacjazyčný, takže ho môžete ľahko vytvoriť vo svojom jazyku. Dodáva sa so švédčinou a angličtinou (angličtina môže mať nesprávnu angličtinu, môj preklad nie je 100 %.) Preto musíte mať pre svoj server nainštalovaný Gettext a tiež miestne nastavenia.

Ukážem vám niekoľko screenshotov vyššie zo systému.

Dodáva sa s jednoduchým prihlasovacím systémom a hlavné prihlásenie je: admin ako používateľ a voda ako heslo.

Aby ste ho mohli používať, musíte nastaviť tri úlohy cron (nájdete ich v priečinku cronjob)

Súbor timer.php musíte spustiť každú sekundu. To obsahuje všetku automatizáciu systému dier. Názov súboru temperatur.php sa používa na to, aby systému povedal, aby prečítal teplotu vzduchu a zaznamenal ju. Musíte si teda nastaviť úlohu cron o tom, ako často ju budete spúšťať. Mám to každých 5 minút. Potom by sa súbor s názvom dagstatistik.php mal spustiť iba raz pred polnocou (napríklad 23:30, 23:30). Berie hodnoty hlásené zo senzorov počas dňa a ukladá ich na statiku týždňa a mesiaca.

Upozorňujeme, že tento systém uchováva teplotu v stupňoch Celzia, ale môžete ho zmeniť na Fahrenheit.

V súbore db.php nastavíte databázové pripojenie mysql pre systém.

Najprv pridajte senzory do systému. Potom vytvorte zóny a pridajte k nim senzory.

Ak máte otázky alebo nájdete chyby v systéme, nahláste ich na stránke GitHub. Môžete použiť webový systém a nie je vám dovolené ho predávať.

Ak máte problémy s miestnym nastavením gettextu, pamätajte na to, že ak ako server použijete malinu, často sú pomenované ako en_US. UTF-8, takže tieto zmeny musíte vykonať v súbore i18n_setup.php a v priečinku locale. V opačnom prípade sa budete držať švédskeho jazyka.

Stiahnete si ho na stránke GitHub.

Odporúča: