Obsah:

Bezdrátový zahradní systém: 7 kroků
Bezdrátový zahradní systém: 7 kroků

Video: Bezdrátový zahradní systém: 7 kroků

Video: Bezdrátový zahradní systém: 7 kroků
Video: ANDROID MÁ JEDNO SKRYTÉ NASTAVENÍ 🤖 2024, Listopad
Anonim
Bezdrátový zahradní systém
Bezdrátový zahradní systém

Tento projekt je založen na Arduinu a používá „moduly“, které vám pomohou zalévat vaše rostliny a zaznamenávat teplotu, půdu a déšť.

Systém je bezdrátový přes 2, 4 GHz a používá moduly NRF24L01 k odesílání a přijímání dat. Dovolte mi trochu vysvětlit, jak to funguje, PS! Omluvte mě, pokud angličtina není 100 % správná, jsem ze Švédska.

Tento systém používám k ovládání svých rostlin, hříchů Mám různé závody, které jsem potřeboval, abych je zaznamenal různě. Takže jsem vytvořil zónový logovací systém.

Půdní senzory, které snímají půdní vlhkost a teplotu, (běží na baterii) kontrolují každou hodinu a předávají data základnímu stroji, který má wifi připojení. Data se nahrají na server v mém domě a přihlásí se na webovou stránku.

Pokud půda potřebuje vodu, aktivuje správné čerpadlo podle toho, jaké čidlo půdy zkontrolovalo. Pokud ale prší, nezalévá. A pokud je opravdu horké, zalévá trochu navíc.

Řekněme, že máte jednu bramborovou půdu, jednu pro tabák a jednu pro rajče, pak můžete mít 3 zóny se 3 různými senzory a 3 pumpami.

K dispozici jsou také snímače PIR, které kontrolují pohyby, a pokud jsou aktivovány na webové stránce, hlasitá siréna začne děsit zvíře nebo osobu, která jde blízko mých rostlin.

Snad to trochu chápete. Nyní začneme vyrábět som senzory.

Moje stránka GitHub, kde si vše stáhnete:

Krok 1: Půdní senzory

Půdní senzory
Půdní senzory
Půdní senzory
Půdní senzory
Půdní senzory
Půdní senzory
Půdní senzory
Půdní senzory

Každý senzor má jedinečné číslo, které je přidáno na webovou stránku. Když tedy snímač půdy přenáší data z tohoto senzoru půdy, budou přidána do správné zóny. Pokud není senzor zaregistrován, nebudou odeslána žádná data.

Pro tuto stavbu potřebujete:

  • 1x čip Atmega328P-PU
  • 1x modul nRF24L01
  • 1x 100 uf kondenzátor
  • 1x NPN BC547 tranzistor
  • 2x kondenzátory 22 pF
  • 1x 16 000 MHz Krystal
  • 1x senzor půdní vlhkosti
  • 1x Teplotní senzor DS18B20
  • 1x RGB LED (já používám společnou anodu)
  • 3x 270 ohmové odpory
  • 1x odpor 4, 7 K ohmů
  • Baterie (používám 3,7 V Li-Po baterii)
  • A pokud se používá li-po, nabíjecí modul pro baterii.

Aby senzory fungovaly dlouho, nepoužívejte žádnou předem vyrobenou desku Arduino, rychle vybijí baterii. Místo toho použijte čip Atmega328P.

Připojte vše, jak ukazuje můj elektrický list. (Viz obrázek nebo soubor PDF) Doporučujeme také přidat vypínač, abyste mohli při nabíjení vypnout napájení.

Při odesílání kódu nezapomeňte definovat senzor, který jim poskytne jedinečné ID číslo, kód je k dispozici na mé stránce GitHub.

Abych udržel senzory půdy naživu po dlouhou dobu, používám k jejich napájení tranzistor NPN, pouze když začíná čtení. Nejsou tedy aktivovány stále, každý senzor má ID číslo od 45XX do 5000 (toto lze změnit), takže každý senzor musí mít jedinečná čísla, vše, co musíte udělat, je definovat v kódu.

Senzory přejdou do režimu spánku, aby šetřily baterii.

Krok 2: Senzor zvířat

Senzor zvířat
Senzor zvířat
Senzor zvířat
Senzor zvířat
Senzor zvířat
Senzor zvířat
Senzor zvířat
Senzor zvířat

Animal Sensor je jednoduchý pir senzor. Cítí teplo ze zvířat nebo lidí. Pokud senzor snímá pohyb. Pošlou je na základnovou stanici.

Nezazní však žádný alarm, na stránce je musíte aktivovat, nebo pokud jste nastavili časovač, automaticky se v tu dobu aktivuje.

Pokud základna získá pohybový signál ze senzoru Zvíře, předá jej senzoru Sirény a zvíře (doufám) zvíře vyděsí. Moje siréna je na 119 db.

Senzor PIR běží na baterii a umístil jsem ho do starého pouzdra senzoru PIR ze starého alarmu. Kabel, který vychází ze zvířecího senzoru, slouží pouze k nabíjení baterie.

Pro tento senzor potřebujete:

  • Čip ATMEGA328P-PU
  • 1 x 16 000 MHz krystal
  • 2 x 22 pF kondenzátor
  • 1 x modul Pir senzoru
  • 1 x 100 uF kondenzátor
  • 1 x modul NRF24L01
  • 1 x LED (zde nepoužívám žádnou RGB LED)
  • 1 x 220 ohmový odpor
  • Pokud budete používat baterii, budete ji potřebovat (používám Li-Po)
  • Modul nabíječky baterií, pokud máte dobíjecí baterii.
  • Nějaký vypínač.

Připojte vše, jak vidíte, na elektrickém listu. Zkontrolujte, zda můžete senzor PIR napájet z baterie (některé ke svému provozu potřebují 5 V).

Získejte kód z mého GitHubu a definujte čarodějnický senzor, který budete používat (například: SENS1, SENS2 atd.), Aby získali jedinečná čísla.

Čip ATMEGA se probudí pouze při registraci pohybu. Sins modul pir senzoru má vestavěný časovač pro zpoždění, v kódu pro to nic není, takže upravte pot na pir senzoru pro zpoždění, kdy bude vzhůru.

To je pro zvířecí senzor, jdeme dál.

Krok 3: Ovladač vodního čerpadla

Ovladač vodního čerpadla
Ovladač vodního čerpadla
Ovladač vodního čerpadla
Ovladač vodního čerpadla
Ovladač vodního čerpadla
Ovladač vodního čerpadla
Ovladač vodního čerpadla
Ovladač vodního čerpadla

Ovladač vodního čerpadla má spustit čerpadlo nebo vodní ventil, aby zaléval vaše pole. Pro tento systém nepotřebujete bateriové hříchy, k napájení čerpadla potřebujete napájení. Ke spuštění Arduina používám modul AC 230 až DC 5 V. Nano. Také musím použít typy čerpadel, takové, které používá vodní ventil, který běží na 12 V, takže k reléové desce mám modul AC 230 až DC 12 V.

Druhý je do relé 230 AC, takže mohu napájet čerpadlo 230 V AC.

Systém je poměrně jednoduchý, každý ovladač čerpadla má jedinečná identifikační čísla, takže řekněme, že bramborové pole je suché a senzor je nastaven na automatickou vodu, pak se k tomuto senzoru přidá moje čerpadlo, které je pro bramborové pole, takže půdní senzor říká základnímu systému, že by mělo začít zavlažování, takže základní systém vyšle signál k aktivaci čerpadla.

Můžete nastavit, jak dlouho má na webové stránce běžet (například 5 minut), protože senzory kontrolují pouze každou hodinu. Také když se čerpadlo zastaví, uloží čas do systému, takže automatický systém čerpadlo brzy nespustí. (Lze také nastavit na webové stránce).

Prostřednictvím webové stránky můžete také vypnout zavlažování během noci/dne nastavením zvláštních časů. A také nastavit časovače pro každé čerpadlo, aby začalo zalévat. A pokud prší, nezalévají.

Doufám, že rozumíš:)

Pro tento projekt potřebujete:

  • 1 x Arduino Nano
  • 1 x modul NRF24L01
  • 1 x 100 uF kondenzátor
  • 1 RGB LED (já používám společnou anodu)
  • Rezistory 3 x 270 ohmů
  • 1 x reléová deska

Připojte vše jako elektrický list (viz pdf soubor nebo obrázek) Stáhněte si kód z GitHubu a nezapomeňte definovat číslo senzoru.

A nyní máte ovladač čerpadla, systém zvládne více než jen jeden.

Krok 4: Dešťový senzor

Dešťový senzor
Dešťový senzor
Dešťový senzor
Dešťový senzor
Dešťový senzor
Dešťový senzor
Dešťový senzor
Dešťový senzor

Dešťový senzor slouží k detekci deště. Nepotřebujete víc než jeden. Je však možné přidat další. Tento dešťový senzor je napájen baterií a každých 30 minut kontroluje, zda neprší. Mají také jedinečné číslo, které je identifikuje.

Dešťový senzor používá analogové a digitální piny. Digitální kolík má zkontrolovat, zda prší (digitální displej zobrazuje pouze ano nebo ne) a musíte zapnout hrnec na modulu senzoru deště, když je v pořádku, abyste varovali před „deštěm“(hladina vody na senzoru, která indikuje prší.)

Analogový pin slouží k informování v procentech, jak je na senzoru vlhký.

Pokud digitální kolík zjistí, že prší, senzor jej odešle do základního systému. A základní systém nebude zalévat rostliny, dokud „prší“. Senzor také odesílá, jak je mokrý, a stav baterie.

Dešťový senzor napájíme pouze tehdy, když je čas číst tranzistor, který umožňuje digitální pin.

Pro tento senzor potřebujete:

  • Čip ATMEGA328P-PU
  • 1x 16 000 MHz Krystal
  • 2x kondenzátor 22 pF
  • 1x modul dešťového senzoru
  • 1x 100 uF kondenzátor
  • 1x modul NRF24L01
  • 1x RGB LED (použil jsem společnou anodu, je to VCC místo GND)
  • 3x 270 Ohm odpory
  • 1x tranzistor NPN BC547
  • 1x baterie (používám Li-Po)
  • 1x Li-Po nabíjecí modul (pokud je použit Li-Po akumulátor)

Připojte vše, jak vidíte na elektrickém listu (v pdf nebo na obrázku) Poté nahrajte kód na čip ATMEGA, jak najdete na mé stránce GitHub v části Dešťový senzor Nezapomeňte definovat senzor, abyste získali správné ID číslo.

A nyní budete mít dešťový senzor, který běží každých 30 minut. Čas na něm můžete změnit, pokud ho nechcete mít méně nebo více.

Ve funkci counterHandler () můžete nastavit čas probuzení čipu. Počítáte takto: Čipy se probouzí každých 8 sekund a pokaždé, když se zvýší hodnota. Takže za 30 minut získáte 225krát, než byste měli provádět akce. Existuje tedy 1 800 sekund za půl hodiny. Rozdělte to tedy na 8 (1800/8), získáte 225. To znamená, že nebude kontrolovat senzor, dokud neběží 225krát, a to bude asi 30 minut. Totéž uděláte také na půdním senzoru.

Krok 5: Siréna zvířat

Siréna zvířat
Siréna zvířat
Siréna zvířat
Siréna zvířat
Siréna zvířat
Siréna zvířat
Siréna zvířat
Siréna zvířat

Zvířecí siréna je jednoduchá, když zvířecí senzor detekuje pohyb, siréna se aktivuje. Používám skutečnou sirénu, abych s ní dokonce mohl vyděsit lidi. Můžete ale použít i sirény, které slyší jen zvířata.

V tomto projektu používám Arduino nano a napájím ho 12v. Siréna je také 12 V, takže místo relé použiji sirénu pomocí tranzistoru 2N2222A. Pokud použijete relé se stejným uzemněním, můžete poškodit Arduino. Proto proto místo sirény používám tranzistor.

Pokud ale vaše siréna a Arduino nepoužívají stejnou zem, můžete místo toho použít relé. Přeskočte tranzistor a 2,2K odpor a použijte místo toho reléovou desku. A také změna v kódu Arduino při aktivaci změna z HIGH na LOW a při deaktivaci změna z LOW na HIGH och digitální čtení pro pin 10, sins relé používá LOW k aktivaci a tranzistor používá HIGH, takže to musíte přepnout.

Pro tuto stavbu potřebujete:

  • 1x Arduino nano
  • 1x 2,2K odpor (přeskočte, pokud používáte reléovou desku)
  • 1x 2N2222 tranzistor
  • 1x Siréna
  • 3x odpor 270 ohmů
  • 1x RGB LED (používám společnou anodu, VCC místo GND)
  • 1X modul NRF24L01
  • 1x 100 uF kondenzátor

Připojte vše, jak vidíte na elektrickém listu v PDF nebo na obrázku. Načtěte kód do Arduina, který najdete na mé stránce GitHub pod Animal Siren. Nezapomeňte definovat senzor pro správné ID číslo.

A teď máte fungující 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 nejdůležitější ze všech modulů. Bez něj tento systém nemůžete používat. Hlavní systém je připojen k internetu pomocí modulu ESP-01 a k jeho připojení používáme piny Arduino Megas Serial1. RX na Mega až TX na ESP, ale potřebujeme projít dvěma odpory, abychom dostali napětí až na 3,3. A TX na Mega až RX na ESP.

Nastavte modul ESP

Chcete -li používat ESP, musíte nejprve nastavit přenosovou rychlost na 9600, to jsem použil v tomto projektu a zjistil jsem, že ESP funguje nejlépe. Po vybalení z krabice bylo nastaveno na 115200 baudů, můžete to zkusit, ale moje nebyla tak stabilní. K tomu potřebujete Arduino (Mega funguje dobře) a musíte připojit TX ESP (přes odpory, jak vidíte na listu) k Serial TX (ne Serial1, pokud používáte Mega) a RX na ESP k Arduino Serial RX.

Nahrajte blikající skicu (nebo jakoukoli skicu, která nepoužívá sériové) a otevřete sériový monitor a nastavte přenosovou rychlost na 115200 a NR & CR na řádcích

Do příkazového řádku napište AT a stiskněte Enter. Měli byste dostat odpověď, která říká OK, takže nyní víme, že ESP funguje. (Pokud ne, je problém s připojením nebo špatný modul ESP-01)

Nyní do příkazového řádku napište AT+UART_DEF = 9600, 8, 1, 0, 0 a stiskněte Enter.

Odpoví OK a to znamená, že jsme nastavili přenosovou rychlost na 9600. Restartujte ESP následujícím příkazem: AT+RST a stiskněte Enter. Změňte přenosovou rychlost v sériovém monitoru na 9600 a zadejte AT a stiskněte Enter. Pokud se vám vrátí OK, ESP je nastaveno na 9600 a můžete jej použít pro projekt.

Modul karty SD

Chci, aby bylo snadné změnit nastavení WIFI v systému, pokud se změní nové heslo nebo název wifi. Proto potřebujeme modul SD karty. Uvnitř karty SD vytvořte textový soubor s názvem config.txt a ke čtení používáme JSON, takže potřebujeme formát JSON. Textový soubor by tedy měl mít následující text:

}

Změňte text pomocí VELKÝCH písmen na opravu pro vaši wifi síť.

Hříchy, které používáme

Snímač DHT

Tento systém je umístěn venku a má snímač DHT, abychom mohli kontrolovat vlhkost a teplotu vzduchu. Slouží k extra zalévání v horkých dnech.

Pro tuto stavbu potřebujete:

  • 1x Arduino Mega
  • 1x modul NRF24L01
  • 1x modul ESP-01
  • 1x modul SPI Micro SD Card
  • 1x snímač DHT-22
  • 1x RGB LED (místo GND jsem použil společnou anodu, VCC)
  • 3x 270 Ohm odpory
  • 1x odpor 22 K Ohm
  • 2x 10 K Ohm odpor

Vezměte prosím na vědomí, že pokud nedostanete stabilní modul ESP-01, zkuste jej napájet z externího zdroje napětí 3,3 V.

Připojte vše, jak vidíte na elektrickém listu v souboru PDF nebo na obrázku.

Nahrajte kód do svého Arduino Mega a nezapomeňte zkontrolovat celý kód pro komentáře, protože hostitele musíte nastavit na server na více místech (to není nejlepší řešení, které znám).

Nyní je váš základní systém připraven k použití. V kódu pro hříchy půdní vlhkosti nemusíte měnit proměnné, můžete to udělat přímo z webové 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

K používání systému potřebujete také webový server. Používám malinový pi s Apache, PHP, Mysql, Gettext. Webový systém je vícejazyčný, takže jej můžete snadno vytvořit ve svém jazyce. Dodává se se švédštinou a angličtinou (angličtina může mít nesprávnou angličtinu, můj překlad není 100 %.) Musíte tedy mít nainstalovaný Gettext pro váš server a také národní prostředí.

Ukážu vám několik screenshotů výše ze systému.

Je dodáván s jednoduchým přihlašovacím systémem a hlavní přihlášení je: admin jako uživatel a voda jako heslo.

Chcete -li jej použít, musíte nastavit tři úlohy cron (najdete je ve složce cronjob)

Soubor timer.php musíte spustit každou sekundu. To obsahuje veškerou automatizaci systému děr. Název souboru temperatur.php se používá k tomu, aby systému sdělil teplotu vzduchu a zaznamenal ji. Musíte tedy nastavit úlohu cron o tom, jak často ji budete spouštět. Mám to každých 5 minut. Pak by se soubor s názvem dagstatistik.php měl spustit pouze jednou před půlnocí (například 23:30, 23:30). Během dne bere hodnoty hlášené ze senzorů a ukládá je pro statiku týdne a měsíce.

Tento systém ukládá teplotu v stupních Celsia, ale můžete přejít na stupně Fahrenheita.

V souboru db.php nastavíte připojení databáze mysql pro systém.

Nejprve přidejte senzory do systému. A pak vytvořte zóny a přidejte do zón senzory.

Pokud máte dotazy nebo v systému najdete chyby, nahlaste je prosím na stránce GitHub. Můžete použít webový systém a nemáte povoleno jej prodávat.

Pokud máte problémy s národními prostředími pro gettext, pamatujte, že pokud jako server používáte raspberry, jsou často pojmenovány jako en_US. UTF-8, takže tyto změny musíte provést v souboru i18n_setup.php a ve složce locale. Jinak budete uvíznout ve švédštině.

Stáhněte si jej na stránce GitHub.

Doporučuje: