Kazalo:

Brezžični vrtni sistem: 7 korakov
Brezžični vrtni sistem: 7 korakov

Video: Brezžični vrtni sistem: 7 korakov

Video: Brezžični vrtni sistem: 7 korakov
Video: Ошибки в сантехнике. Вводной узел в квартиру. 2024, November
Anonim
Brezžični vrtni sistem
Brezžični vrtni sistem

Ta projekt temelji na Arduinu in uporablja "module", ki vam pomagajo pri zalivanju rastlin ter pridobivanju dnevnih podatkov o tempu, tleh in dežju.

Sistem je brezžičen preko 2, 4 GHz in uporablja module NRF24L01 za pošiljanje in sprejemanje podatkov. Naj vam malo razložim, kako deluje, PS! Oprostite, če angleščina ni 100 % pravilna, sem s Švedske.

Ta sistem uporabljam za nadzor svojih rastlin, grehe imam različne rastline, ki sem jih potreboval za drugačen zapis.

Senzorji tal, ki berejo vlago in temperaturo tal (deluje na baterijo), preverjajo vsako uro in podatke posredujejo osnovnemu stroju, ki ima povezavo Wi -Fi. Podatki se naložijo na strežnik v moji hiši in se prijavijo na spletno stran.

Če zemlja potrebuje vodo, bo aktivirala pravilno črpalko, odvisno od tega, kaj je senzor tal preveril. Če pa dežuje, ne bo zalilo. In če je res vroče, bo zalilo še nekaj.

Recimo, da imate eno krompirjevo površino, eno za tobak in eno za paradižnik, potem lahko imate 3 cone s 3 različnimi senzorji in 3 črpalkami.

Obstajajo tudi pir senzorji, ki preverjajo gibanje, in če jih aktivirate na spletni strani, bo glasna sirena začela prestrašiti žival ali osebo, ki hodi blizu mojih rastlin.

Upam, da razumete malo. Zdaj pa začnimo izdelovati som senzorje.

Moja stran GitHub, kjer prenesete vse:

1. korak: Senzorji tal

Senzorji tal
Senzorji tal
Senzorji tal
Senzorji tal
Senzorji tal
Senzorji tal
Senzorji tal
Senzorji tal

Vsak senzor ima edinstveno številko, ki je dodana na spletno stran. Torej, ko senzor tal oddaja podatke s tega senzorja tal, bodo dodani na pravilno območje. Če senzor ni registriran, podatki ne bodo predloženi.

Za to gradnjo potrebujete:

  • 1x čip Atmega328P-PU
  • 1x modul nRF24L01
  • 1x 100 uf kondenzator
  • 1x tranzistor NPN BC547
  • 2x 22 pF kondenzatorji
  • 1x 16.000 MHz kristal
  • 1x senzor vlažnosti tal
  • 1x senzor temperature DS18B20
  • 1x RGB LED (uporabljam običajno anodo)
  • 3x 270 ohmski upori
  • 1x 4, 7 K ohmski upor
  • Baterija (uporabljam 3,7V Li-Po baterijo)
  • In če uporabljate li-po, polnilni modul za baterijo.

Če želite, da senzorji dolgo delujejo, ne uporabljajte vnaprej izdelane plošče Arduino, saj bodo baterijo hitro izpraznili. Namesto tega uporabite čip Atmega328P.

Povežite vse, kot je prikazano na mojem električnem listu. (Glejte sliko ali datoteko PDF) Priporočljivo je, da dodate tudi stikalo za vklop, tako da lahko med polnjenjem izklopite napajanje.

Ko naložite kodo, ne pozabite določiti senzorja, ki mu bo dal edinstveno ID številko, koda je na voljo na moji strani GitHub.

Da bi senzorji tal dolgo živeli, jih za napajanje uporabljam tranzistor NPN, šele ko se začne branje. Zato se ne aktivirajo ves čas. Vsak senzor ima ID številko od 45XX do 5000 (to je mogoče spremeniti), zato mora imeti vsak senzor edinstvene številke, vse kar morate storiti je, da jih določite v kodi.

Tipala bodo šla spat, da prihranijo baterijo.

2. korak: Živalski senzor

Senzor za živali
Senzor za živali
Senzor za živali
Senzor za živali
Senzor za živali
Senzor za živali
Senzor za živali
Senzor za živali

Živalski senzor je preprost pir senzor. Čuti toploto živali ali ljudi. Če senzor zazna gibanje. Poslali bodo na bazno postajo.

Alarm ne bo sprožen, če želite to narediti, na strani, ki jo morate aktivirati, ali če imate nastavljen časomer, se bo ta čas samodejno aktiviral.

Če osnova prejme signal gibanja iz živalskega senzorja, ga bo posredoval na senzor sirene in bo (upam) prestrašil žival. Moja sirena je pri 119 db.

Senzor pir deluje na baterijo in dal sem ga v staro ohišje senzorja pirja iz starega alarma. Kabel, ki prihaja iz živalskega senzorja, je samo za polnjenje baterije.

Za ta senzor potrebujete:

  • ATMEGA328P-PU čip
  • 1 x 16 000 MHz kristal
  • 2 x 22 pF kondenzator
  • 1 x Pir senzorski modul
  • 1 x 100 uF kondenzator
  • 1 x modul NRF24L01
  • 1 x LED (tukaj ne uporabljam nobenega LED -a RGB)
  • 1 x 220 ohmski upor
  • Če boste uporabljali baterijo, to potrebujete (uporabljam Li-Po)
  • Modul za polnjenje baterij, če imate napolnjeno baterijo.
  • Nekakšno stikalo za vklop.

Priključite vse, kot vidite na električni plošči. Preverite, ali lahko napajate senzor pir iz baterije (za delovanje je potrebnih 5V).

Pridobite kodo z mojega GitHub -a in določite senzor čarovnic, ki ga boste uporabljali (npr. SENS1, SENS2 itd.), Da bodo dobili edinstvene številke.

Čip ATMEGA se bo zbudil šele, ko je gibanje registrirano. Grehi, ki jih ima modul senzorja pir vgrajen časovnik za zakasnitev, v kodi ni ničesar, zato prilagodite lonec na senzorju pir za zakasnitev, ko bo prebujen.

To je za živalski senzor, gremo naprej.

3. korak: Krmilnik vodne črpalke

Krmilnik vodne črpalke
Krmilnik vodne črpalke
Krmilnik vodne črpalke
Krmilnik vodne črpalke
Krmilnik vodne črpalke
Krmilnik vodne črpalke
Krmilnik vodne črpalke
Krmilnik vodne črpalke

Krmilnik vodne črpalke mora zagnati črpalko ali vodni ventil za zalivanje vaših polj. Za ta sistem ne potrebujete baterijskih grehov, potrebujete moč za zagon črpalke. Za zagon Arduina uporabljam AC 230 do DC 5 v modul Nano. Imam tudi vrste črpalk, eno, ki uporablja vodni ventil, ki deluje na 12 v, zato imam na relejni plošči modul AC 230 do DC 12v.

Drugi je 230 AC v releju, tako da lahko napajam 230 V AC črpalko.

Sistem je precej preprost, vsak krmilnik črpalke ima edinstvene identifikacijske številke, zato recimo, da je krompirjevo polje suho in je senzor nastavljen na samodejno vodo, nato se k temu senzorju doda moja črpalka, ki je za krompirjevo polje, zato senzor tal baznemu sistemu sporoča, da se mora zalivanje začeti, zato osnovni sistem pošlje signal tej črpalki, da se aktivira.

Na spletni strani lahko nastavite, kako dolgo naj traja (na primer 5 minut), če senzorji preverjajo le vsako uro. Tudi ko se črpalka ustavi, bo shranila čas v sistemu, tako da samodejni sistem ne bo kmalu zagnal črpalke. (Možno tudi nastavitev na spletni strani).

Spletno stran lahko tudi onemogočite zalivanje ponoči/dan, tako da nastavite posebne ure. Prav tako nastavite časovnike za vsako črpalko za začetek zalivanja. In če dežuje, ne bodo zalivali.

Upam da razumeš:)

Za ta projekt potrebujete:

  • 1 x Arduino Nano
  • 1 x modul NRF24L01
  • 1 x 100 uF kondenzator
  • 1 RGB LED (uporabljam običajno anodo)
  • 3 x 270 ohmski upori
  • 1 x relejna plošča

Vse povežite kot električni list (glejte datoteko PDF ali sliko) Prenesite kodo z GitHub -a in ne pozabite določiti številke senzorja.

In zdaj imate krmilnik črpalke, sistem lahko upravlja več kot enega.

4. korak: Senzor dežja

Senzor dežja
Senzor dežja
Senzor dežja
Senzor dežja
Senzor dežja
Senzor dežja
Senzor dežja
Senzor dežja

Senzor dežja se uporablja za zaznavanje dežja. Ne potrebujete več kot enega. Možno pa je dodati še več. Ta senzor dežja se napaja iz baterije in vsakih 30 minut preverja dež. Imajo tudi edinstveno številko, s katero se lahko sami prepoznajo.

Senzor dežja uporablja analogne in digitalne zatiče. Z digitalnim zatičem morate preveriti, ali dežuje, (samo digitalni prikaz da ali ne) in morate vklopiti lonec na modulu senzorja za dež, ko je v redu, da opozorite na "dež" (raven vode na senzorju, ki označuje dež.)

Analogni zatič se v odstotkih obvesti, kako mokro je na senzorju.

Če digitalni zatič zazna, da dežuje, ga senzor pošlje v osnovni sistem. In osnovni sistem ne bo zalival rastlin, dokler "dežuje". Senzor sporoča tudi, kako moker je, in stanje baterije.

Senzor za dež napajamo le, ko je čas za branje skozi tranzistor, ki omogoča prek digitalnega zatiča.

Za ta senzor potrebujete:

  • ATMEGA328P-PU čip
  • 1x 16 000 MHz kristal
  • 2x 22 pF kondenzator
  • 1x modul senzorja dežja
  • 1x 100 uF kondenzator
  • 1x modul NRF24L01
  • 1x RGB Led (uporabil sem običajno anodo, to je VCC namesto GND)
  • 3x 270 ohmski upori
  • 1x tranzistor NPN BC547
  • 1x baterija (uporabljam Li-Po)
  • 1x Li-Po polnilni modul (če uporabljate Li-Po baterijo)

Povežite vse, kot vidite na električnem listu (v pdf ali na sliki) Nato kodo naložite v čip ATMEGA, kot ga najdete na moji strani GitHub pod Senzor za dež. Ne pozabite določiti senzorja, da dobite pravo identifikacijsko številko.

Zdaj boste imeli senzor za dež, ki bo deloval vsakih 30 minut. Če želite, ga lahko spremenite manj ali več.

V funkciji counterHandler () lahko nastavite čas prebujanja čipa. Izračunate tako: čipi se zbudijo vsakih 8 sekund in vsakič, ko povečajo vrednost. Tako boste 30 minut prejeli 225 krat, preden bi moral narediti dejanja.. Na pol ure je torej 1800 sekund. Torej, delite ga z 8 (1800/8) in dobili boste 225. To pomeni, da senzor ne bo preveril, dokler se ne zažene 225 -krat in to bo približno 30 minut. Enako storite tudi s senzorjem tal.

5. korak: Živalska sirena

Živalska sirena
Živalska sirena
Živalska sirena
Živalska sirena
Živalska sirena
Živalska sirena
Živalska sirena
Živalska sirena

Živalska sirena je preprosta, ko živalski senzor zazna gibanje, se bo aktivirala sirena. Uporabljam pravo sireno, tako da lahko z njo celo prestrašim ljudi. Lahko pa uporabite tudi sirene, ki jih slišijo le živali.

V tem projektu uporabljam Arduino nano in ga napajam z 12V. Sirena je tudi 12 V, zato bom namesto releja uporabil tranzistor 2N2222A za omogočanje sirene. Če uporabljate rele, ko imate enako ozemljitev, lahko poškodujete svoj Arduino. Zato namesto sirene uporabljam tranzistor.

Če pa vaša sirena in Arduino ne uporabljata istega tla, lahko namesto tega uporabite rele. Preskočite tranzistor in 2,2K upor ter namesto tega uporabite relejno ploščo. Prav tako spremenite kodo Arduino, ko je aktivirana, preklopite iz VISOKO v NIZKO in ko je deaktivirana sprememba iz NIZKE v VISOKO ali digitalno branje za pin 10, grehi rele uporablja LOW za aktiviranje in tranzistor uporablja HIGH, zato morate to preklopiti.

Za to gradnjo potrebujete:

  • 1x Arduino nano
  • 1x 2.2K upor (preskočite, če uporabljate relejno ploščo)
  • 1x 2N2222 tranzistor
  • 1x sirena
  • 3x 270 ohmski upor
  • 1x RGB LED (uporabljam skupno anodo, VCC namesto GND)
  • 1X modul NRF24L01
  • 1x 100 uF kondenzator

Povežite vse, kot vidite na električnem listu v PDF ali na sliki. Naložite kodo v Arduino, ki jo najdete na moji strani GitHub pod Animal Siren Ne pozabite določiti senzorja za pravilno ID številko.

In zdaj imate delujočo sireno.

6. korak: Glavni sistem

Glavni sistem
Glavni sistem
Glavni sistem
Glavni sistem
Glavni sistem
Glavni sistem

Glavni sistem je najpomembnejši od vseh modulov. Brez njega tega sistema ne morete uporabljati. Glavni sistem je povezan z internetom z modulom ESP-01, za povezavo pa uporabljamo zatiče Arduino Megas Serial1. RX na Mega do TX na ESP, vendar moramo iti skozi dva upora, da napetost znižamo na 3,3. In TX na Mega na RX na ESP.

Namestite modul ESP

Če želite uporabljati ESP, morate najprej nastaviti hitrost prenosa na 9600, to sem uporabil v tem projektu in ugotovil sem, da ESP deluje najbolje. Pripravljen je bil na 115200 baud rate, lahko poskusite, vendar moj ni bil tako stabilen. Če želite to narediti, potrebujete Arduino (Mega deluje dobro) in morate povezati TX ESP (skozi upore, kot vidite na listu) na serijski TX (ne Serial1, če uporabljate Mega) in RX na ESP na Arduino Serial RX.

Naložite utripajočo skico (ali katero koli skico, ki ne uporablja serijske) in odprite serijski monitor ter nastavite hitrost prenosa na 115200 in NR & CR na linijah

V ukazno vrstico napišite AT in pritisnite enter. Morali bi dobiti odgovor, ki pravi, da je v redu, zato vemo, da ESP deluje. (Če ne, obstaja težava s povezavo ali slab modul ESP-01)

Zdaj v ukazno vrstico napišite AT+UART_DEF = 9600, 8, 1, 0, 0 in pritisnite enter.

Odzval se bo z OK in to pomeni, da smo hitrost prenosa nastavili na 9600. Znova zaženite ESP z naslednjim ukazom: AT+RST in pritisnite enter. Spremenite hitrost prenosa v serijskem monitorju na 9600 in vnesite AT in pritisnite enter. Če se vrnete v redu, je ESP nastavljen na 9600 in ga lahko uporabite za projekt.

Modul kartice SD

Želim, da je enostavno spremeniti nastavitve WIFI v sistemu, če se spremeni novo geslo ali ime wifi. Zato potrebujemo modul kartice SD. Znotraj kartice SD ustvarite besedilno datoteko z imenom config.txt in za branje uporabljamo JSON, zato potrebujemo obliko JSON. Besedilna datoteka mora torej imeti naslednje besedilo:

}

Spremenite besedilo z VELIKIMI črkami, da bo ustrezalo vašemu omrežju WiFi.

Grehi, ki jih uporabljamo NRF24L01, ki uporablja SPI, bralnik kartic SD pa tudi SPI, ki ga potrebujemo za uporabo knjižnice SDFat, da lahko uporabljamo SoftwareSPI (čitalnik kartic SD lahko dodamo na vse nožice)

Senzor DHT

Ta sistem je nameščen zunaj in ima senzor DHT, tako da lahko preverimo vlažnost in temperaturo zraka. Uporablja se za dodatno zalivanje v vročih dneh.

Za to gradnjo potrebujete:

  • 1x Arduino Mega
  • 1x modul NRF24L01
  • 1x modul ESP-01
  • 1x modul kartice SD SPI Micro SD
  • 1x senzor DHT-22
  • 1x RGB Led (uporabil sem običajno anodo, VCC namesto GND)
  • 3x 270 ohmski upori
  • 1x 22 K ohmski upor
  • 2x 10 K ohmski upor

Če modula ESP-01 nimate stabilnega, ga poskusite napajati iz zunanjega vira napajanja 3,3 V.

Povežite vse, kot vidite na električnem listu v datoteki PDF ali na sliki.

Naložite kodo na svoj Arduino Mega in ne pozabite preveriti celotne kode za komentarje, ker morate gostitelja nastaviti na strežnik na več mestih (to ni najboljša rešitev, ki jo poznam).

Zdaj je vaš sistem Base pripravljen za uporabo. Spremenljivk v kodi za grehe vlage v tleh vam ni treba spreminjati, lahko to storite neposredno s spletne strani.

7. korak: Spletni sistem

Spletni sistem
Spletni sistem
Spletni sistem
Spletni sistem
Spletni sistem
Spletni sistem
Spletni sistem
Spletni sistem

Za uporabo sistema potrebujete tudi spletni strežnik. Uporabljam malinovo pi z Apache, PHP, Mysql, Gettext. Spletni sistem je večjezičen, zato ga lahko preprosto naredite v svojem jeziku. Na voljo je v švedščini in angleščini (angleščina ima lahko napačno angleščino, moj prevod ni 100 %.) Zato morate imeti za strežnik nameščen Gettext in tudi področne nastavitve.

Pokažem vam nekaj posnetkov zaslona zgoraj iz sistema.

Na voljo je s preprostim sistemom za prijavo, glavna prijava pa je: administrator kot uporabnik in voda kot geslo.

Če ga želite uporabiti, morate nastaviti tri cron opravila (najdete jih v mapi cronjob)

Datoteka timer.php, ki jo morate zagnati vsake sekunde. To vsebuje vso avtomatizacijo sistema lukenj. Ime datoteke temperatur.php se uporablja, da sistemu pove, naj prebere temperaturo zraka in jo zabeleži. Zato morate nastaviti cron opravilo, kako pogosto ga boste izvajali. Imam ga vsakih 5 minut, potem naj se datoteka z imenom dagstatistik.php zažene le enkrat pred polnočjo (na primer 23.30, 23.30). Vzame vrednosti, sporočene s senzorjev čez dan, in jih shrani za statiko tedna in meseca.

Upoštevajte, da ta sistem shranjuje temperaturo v stopinjah Celzija, vendar lahko spremenite v Fahrenheit.

V datoteki db.php nastavite povezavo baze podatkov mysql za sistem.

Najprej v sistem dodajte senzorje. Nato naredite cone in v cone dodajte senzorje.

Če imate vprašanja ali najdete napake v sistemu, jih prijavite na strani GitHub. Uporabljate lahko spletni sistem in ga ne smete prodajati.

Če imate težave z jezikovnimi nastavitvami za gettext, ne pozabite, da če uporabljate malino kot strežnik, so pogosto poimenovani kot en_US. UTF-8, zato morate te spremembe narediti v datoteki i18n_setup.php in pod mapo področne nastavitve. V nasprotnem primeru boste obtičali pri švedskem jeziku.

Prenesete ga na stran GitHub.

Priporočena: