Sadržaj:
- Korak 1: Senzori tla
- Korak 2: Senzor za životinje
- Korak 3: Regulator pumpe za vodu
- Korak 4: Senzor za kišu
- Korak 5: Sirena za životinje
- Korak 6: Glavni sustav
- Korak 7: Web sustav
Video: Bežični vrtni sustav: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Ovaj se projekt temelji na Arduinu i koristi "module" koji će vam pomoći zalijevati vaše biljke, te se prijaviti na temp, tlo i kišu.
Sustav je bežičan kroz 2, 4 GHz i koristi NRF24L01 module za slanje i primanje podataka. Dopustite mi da malo objasnim kako to radi, PS! Oprostite ako engleski nije 100 % točan, ja sam iz Švedske.
Koristim ovaj sustav za kontrolu svojih biljaka, grijesi koje imam različite biljke koje su mi bile potrebne da ih evidentiram drugačije. Tako da gradim zonski sustav trupaca.
Senzori tla koji očitavaju vlagu i temperaturu tla (radi na bateriju) provjeravaju svaki sat i prosljeđuju podatke baznom stroju koji ima wifi vezu. Podaci se učitavaju na poslužitelj u mojoj kući i prijavljuju na web stranicu.
Ako tlu treba voda, aktivirat će ispravnu pumpu ovisno o tome što je senzor tla provjerio. Ali ako padne kiša neće zalijevati. A ako je jako vruće, dodatno će zalijevati.
Recimo da imate jednu zemlju za krumpir, jednu za duhan i jednu za rajčicu, tada možete imati 3 zone s 3 različita senzora i 3 pumpe.
Tu su i pir senzori koji provjeravaju kretnje, a ako se aktiviraju na web stranici, glasna sirena počet će plašiti životinju ili osobu koja hoda blizu mojih biljaka.
Nadam se da ste malo razumjeli. Počnimo s izradom som senzora.
Moja GitHub stranica s koje preuzimate sve:
Korak 1: Senzori tla
Svaki senzor ima jedinstveni broj koji se dodaje web stranici. Dakle, kada osjetnik tla prenosi podatke s tog osjetnika tla, bit će dodani u ispravnu zonu. Ako senzor nije registriran, neće se dostaviti podaci.
Za ovu konstrukciju potrebno vam je:
- 1x Atmega328P-PU čip
- 1x nRF24L01 modul
- 1x 100 uf kondenzator
- 1x tranzistor NPN BC547
- 2x 22 pF Kondenzatori
- 1x 16.000 MHz kristal
- 1x senzor vlažnosti tla
- 1x DS18B20 Senzor temperature
- 1x RGB LED (ja koristim uobičajenu anodu)
- 3x 270 ohmski otpornici
- 1x 4, 7 K ohmski otpornik
- Baterija (koristim Li-Po bateriju od 3,7 V)
- A ako se koristi li-po, modul punjača za bateriju.
Da bi senzori radili dugo, nemojte koristiti prethodno izrađene Arduino ploče, one će brzo isprazniti bateriju. Umjesto toga koristite čip Atmega328P.
Spojite sve kako je prikazano na mojoj električnoj ploči. (Pogledajte sliku ili PDF datoteku) Preporučuje se i dodavanje prekidača za napajanje kako biste mogli isključiti napajanje tijekom punjenja.
Prilikom učitavanja koda ne zaboravite definirati senzor koji će mu dati jedinstveni ID broj, kôd je dostupan na mojoj stranici GitHub.
Da bi senzori tla dugo živjeli, za napajanje ih koristim NPN tranzistor, tek kad čitanje počne. Dakle, oni se ne aktiviraju cijelo vrijeme. Svaki senzor ima ID broj od 45XX do 5000 (ovo se može promijeniti) pa svaki senzor mora imati jedinstvene brojeve, sve što trebate učiniti je definirati u kodu.
Senzori će zaspati radi uštede baterije.
Korak 2: Senzor za životinje
Životinjski senzor je jednostavan pir senzor. Osjeća toplinu životinja ili ljudi. Ako senzor osjeti kretanje. Poslat će ih na baznu stanicu.
No, neće se uključiti nikakav alarm, da biste to učinili, na stranici koju morate aktivirati, ili ako ste postavili mjerač vremena, on će se aktivirati automatski u tom trenutku.
Ako baza dobije signal kretanja od osjetnika za životinje, proslijedit će ga senzoru za sirenu i (nadam se) će prestrašiti životinju. Moja sirena je na 119 db.
Pir senzor radi na bateriju i stavio sam ga u staro kućište pir senzora iz starog alarma. Kabel koji izlazi iz životinjskog senzora služi samo za punjenje baterije.
Za ovaj senzor trebate:
- 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 NRF24L01 modul
- 1 x Led (ovdje ne koristim RGB LED diode)
- 1 x 220 ohmski otpornik
- Ako radite na bateriji, to vam je potrebno (koristim Li-Po)
- Modul punjača baterija ako imate dopunjenu bateriju.
- Neka vrsta prekidača za napajanje.
Spojite sve kako vidite na električnoj ploči. Provjerite možete li napajati svoj pir senzor iz baterije (nekima je potrebno 5V za rad).
Nabavite kôd s mog GitHub -a i definirajte senzor vještica koji ćete koristiti (npr. SENS1, SENS2 itd.) Kako bi dobili jedinstvene brojeve.
ATMEGA čip će se probuditi tek kad se pokret registrira. Grijesi što je modul pir senzora ugrađen mjerač vremena za kašnjenje, u kodu nema ništa za to, pa prilagodite lonac na pir senzoru za kašnjenje koje će probuditi.
To je sve za životinjski senzor, idemo dalje.
Korak 3: Regulator pumpe za vodu
Regulator pumpe za vodu treba pokrenuti pumpu ili ventil za vodu za zalijevanje vaših polja. Za ovaj sustav ne trebate grijehe u bateriji, potrebna vam je snaga za pokretanje pumpe. Koristim AC 230 do DC 5 v modul za pokretanje Arduina Nano. Također moram imati vrste crpki, onu koja koristi ventil za vodu koji radi na 12 V pa za to imam modul AC 230 do DC 12v na relejnoj ploči.
Drugi je relej priključen na 230 AC tako da mogu napajati pumpu od 230 V AC.
Sustav je vrlo jednostavan, svaki regulator pumpe ima jedinstvene identifikacijske brojeve, pa recimo da je polje krumpira suho i da je senzor postavljen na automatsku vodu, tada se na taj senzor dodaje moja pumpa koja je za polje krumpira, pa senzor tla govori baznom sustavu da bi zalijevanje trebalo početi, pa osnovni sustav šalje signal toj pumpi da se aktivira.
Možete postaviti koliko dugo će trajati na web stranici (na primjer 5 minuta), dok senzori provjeravaju samo svaki sat. Također, kada se crpka zaustavi, pohranit će vrijeme u sustav, tako da automatski sustav neće uskoro pokrenuti pumpu. (Također je moguće postaviti na web stranici).
Također možete putem web stranice onemogućiti zalijevanje tijekom noći/dana postavljanjem posebnih vremena. Također postavite mjerače vremena za svaku pumpu za početak zalijevanja. A ako padne kiša neće zalijevati.
Nadam se da razumiješ:)
Za ovaj projekt potrebno vam je:
- 1 x Arduino Nano
- 1 x NRF24L01 modul
- 1 x 100 uF kondenzator
- 1 RGB LED (koristim uobičajenu anodu)
- 3 x 270 ohmski otpornici
- 1 x relejna ploča
Spojite sve kao električni list (pogledajte pdf datoteku ili sliku) Preuzmite kôd s GitHub -a i ne zaboravite definirati broj senzora.
A sada imate regulator pumpe, sustav može rukovati s više od jednog.
Korak 4: Senzor za kišu
Senzor za kišu koristi se za otkrivanje kiše. Ne trebate više od jednog. Ali moguće je dodati još. Ovaj senzor za kišu radi na baterije i provjerava svakih 30 minuta ima li kiše. Također imaju jedinstveni broj za identifikaciju.
Senzor za kišu koristi analogne i digitalne pinove. Digitalni pin treba provjeriti pada li kiša, (samo digitalni zaslon prikazuje da ili ne) i morate postaviti lonac na modulu senzora za kišu kada je u redu upozoriti na "kišu" (razina vode na senzoru koja označava kišu.)
Analogni pin služi za informiranje u postocima koliko je vlažan na senzoru.
Ako digitalni pin otkrije da je kiša, senzor će ga poslati u osnovni sustav. I osnovni sustav neće zalijevati biljke sve dok "pada kiša". Senzor također šalje koliko je mokar i stanje baterije.
Senzor za kišu napajamo samo kad dođe vrijeme za čitanje preko tranzistora koji omogućuje digitalni pin.
Za ovaj senzor trebate:
- ATMEGA328P-PU čip
- 1x 16 000 MHz kristal
- 2x 22 pF kondenzator
- 1x modul senzora za kišu
- 1x 100 uF kondenzator
- 1x modul NRF24L01
- 1x RGB LED (koristio sam zajedničku anodu, to je VCC umjesto GND)
- 3x 270 Ohm otpornici
- 1x tranzistor NPN BC547
- 1x baterija (koristim Li-Po)
- 1x Li-Po modul punjača (ako se koristi Li-Po baterija)
Spojite sve kako vidite na električnoj ploči (u pdf -u ili na slici. Zatim prenesite kôd na ATMEGA čip kao što možete pronaći na mojoj stranici GitHub u odjeljku Senzor za kišu. Ne zaboravite definirati senzor da biste dobili pravi identifikacijski broj.
A sada ćete imati senzor za kišu koji radi svakih 30 minuta. Ovdje možete promijeniti vrijeme ako ga želite manje ili više.
U funkciji counterHandler () možete postaviti vrijeme buđenja čipa. Izračunavate ovako: Čipovi se bude svakih 8 sekundi i svaki put će povećati vrijednost. Dakle, 30 minuta dobit ćete 225 puta prije nego što bi trebao poduzeti radnje. Dakle, na pola sata ima 1800 sekundi. Podijelite ga s 8 (1800/8) i dobit ćete 225. To znači da neće provjeriti senzor dok se ne pokrene 225 puta, a to će biti oko 30 minuta. Isto radite i sa senzorom tla.
Korak 5: Sirena za životinje
Sirena za životinje je jednostavna kada senzor za životinje detektira kretanje, sirena će se aktivirati. Koristim pravu sirenu pa čak mogu i uplašiti ljude s njom. Ali možete koristiti i sirene koje čuju samo životinje.
U ovom projektu koristim Arduino nano i napajam ga s 12v. Sirena je također 12 V pa ću umjesto releja upotrijebiti tranzistor 2N2222A za omogućavanje sirene. Ako koristite relej na istom uzemljenju, možete oštetiti svoj Arduino. Zato ja umjesto toga koristim tranzistor za omogućavanje sirene.
Ali ako vaša sirena i Arduino ne koriste isto tlo, umjesto toga možete koristiti relej. Preskočite tranzistor i 2.2K otpornik, a umjesto toga upotrijebite relejnu ploču. Također možete promijeniti Arduino kôd kada je aktiviran promijeniti iz VISOKOG u NISKOG i kada je deaktivirano promijeniti iz NISKOG u VISOKO ili digitalno čitanje za pin 10, grijesi relej koristi LOW za aktiviranje, a tranzistor koristi HIGH pa morate ovo promijeniti.
Za ovu konstrukciju potrebno vam je:
- 1x Arduino nano
- 1x 2.2K otpornik (preskočite ako koristite relejnu ploču)
- 1x 2N2222 Tranzistor
- 1x sirena
- 3x 270 Ohm otpornik
- 1x RGB LED (koristim zajedničku anodu, VCC umjesto GND)
- 1X NRF24L01 modul
- 1x 100 uF kondenzator
Spojite sve kako vidite na električnom listu u PDF -u ili na slici. Učitajte kôd na Arduino koji ćete pronaći na mojoj stranici GitHub pod Animal SirenNe zaboravite definirati senzor za ispravan ID broj.
A sada imate radnu sirenu.
Korak 6: Glavni sustav
Glavni sustav je najvažniji od svih modula. Bez njega ne možete koristiti ovaj sustav. Glavni sustav je spojen na internet s modulom ESP-01, a za povezivanje koristimo pinove Arduino Megas Serial1. RX na Mega na TX na ESP -u, ali moramo proći kroz dva otpornika kako bismo volt spustili na 3,3. I TX na Mega na RX na ESP.
Postavite ESP modul
Da biste koristili ESP, najprije morate postaviti brzinu prijenosa na 9600, to je ono što sam koristio u ovom projektu i otkrio sam da ESP najbolje radi. Izvan kutije je postavio brzinu prijenosa 115200, možete isprobati, ali moja nije bila toliko stabilna. Da biste to učinili, potreban vam je Arduino (Mega radi dobro) i morate spojiti TX ESP -a (kroz otpornike kao što vidite na listu) na serijski TX (ne Serial1 ako koristite Mega) i RX na ESP -u na Arduino Serial RX.
Otpremite treptajuću skicu (ili bilo koju skicu koja ne koristi serijsku) i otvorite serijski monitor te postavite brzinu prijenosa na 115200 i NR & CR na linijama
U naredbeni redak napišite AT i pritisnite enter. Trebali biste dobiti odgovor koji kaže "U redu", pa sada znamo da ESP radi. (Ako nije, postoji problem s povezivanjem ili loš modul ESP-01)
Sada u naredbeni redak upišite AT+UART_DEF = 9600, 8, 1, 0, 0 i pritisnite enter.
Odgovorit će s OK, a to znači da smo postavili brzinu prijenosa na 9600. Ponovno pokrenite ESP sa sljedećom naredbom: AT+RST i pritisnite enter. Promijenite brzinu prijenosa u serijskom monitoru na 9600 i unesite AT i pritisnite enter. Ako se vratite u redu, ESP je postavljen za 9600 i možete ga koristiti za projekt.
Modul SD kartice
Želim da se lako promijene postavke WIFI -ja u sustavu, ako se promijeni nova lozinka ili naziv WiFi -a. Zato nam je potreban modul SD kartice. Unutar SD kartice stvorite tekstualnu datoteku s imenom config.txt i za čitanje koristimo JSON, pa nam je potreban JSON format. Dakle, tekstualna datoteka treba imati sljedeći tekst:
}
Promijenite tekst s VELIKIM slovima kako bi odgovarao vašoj WiFi mreži.
Grijesi koje koristimo NRF24L01 koji koristi SPI, a čitač SD kartica također koristi SPI. Moramo koristiti biblioteku SDFat kako bismo mogli koristiti SoftwareSPI (čitač SD kartica možemo dodati na bilo koje pinove)
DHT osjetnik
Ovaj sustav je postavljen vani i ima DHT senzor tako da možemo provjeriti vlažnost i temperaturu zraka. Koristi se za dodatno zalijevanje u vrućim danima.
Za ovu konstrukciju potrebno vam je:
- 1x Arduino Mega
- 1x modul NRF24L01
- 1x modul ESP-01
- 1x SPI modul mikro SD kartice
- 1x DHT-22 osjetnik
- 1x RGB LED (koristio sam zajedničku anodu, VCC umjesto GND)
- 3x 270 Ohm otpornici
- 1x otpornik od 22 K Ohma
- 2x 10 K Ohm otpornik
Imajte na umu da ako ne dobijete stabilan ESP-01 modul, pokušajte ga napajati iz vanjskog izvora napajanja od 3,3 V.
Spojite sve kako vidite na električnom listu u PDF datoteci ili na slici.
Prenesite kôd na svoj Arduino Mega i ne zaboravite provjeriti cijeli kôd radi komentara, jer morate postaviti host na poslužitelj na više mjesta (to nije najbolje rješenje koje poznajem).
Sada je vaš Base sustav spreman za upotrebu. Ne morate mijenjati varijable u kodu za grijehe u vlažnosti tla, to možete učiniti izravno s web stranice.
Korak 7: Web sustav
Za korištenje sustava potreban vam je i web poslužitelj. Koristim malinu pi s Apacheom, PHP -om, Mysqlom, Gettextom. Web sustav je višejezičan pa ga možete jednostavno napraviti na svom jeziku. Dolazi sa švedskim i engleskim jezikom (engleski može imati netočan engleski, moj prijevod nije 100 %.) Dakle, morate imati instaliran Gettext za vaš poslužitelj, kao i jezične postavke.
Pokazujem vam neke snimke zaslona iznad iz sustava.
Dolazi s jednostavnim sustavom za prijavu, a glavna prijava je: administrator kao korisnik i voda kao lozinka.
Da biste ga koristili, morate postaviti tri cron posla (možete ih pronaći u mapi cronjob)
Datoteka timer.php koju trebate pokrenuti svake sekunde. Ovo sadrži svu automatizaciju sustava rupa. Naziv datoteke temperatur.php koristi se da bi rekao sustavu da očita temperaturu zraka i zabilježi je. Stoga morate postaviti cron posao koliko ćete ga često pokretati. Imam ga svakih 5 minuta. Zatim bi se datoteka zvana dagstatistik.php trebala pokrenuti samo jednom prije ponoći (poput 23:30, 23:30). Uzima vrijednosti zabilježene sa senzora tijekom dana i sprema ih za statiku tjedna i mjeseca.
Imajte na umu da ovaj sustav pohranjuje temperaturu u celzijusima, ali možete promijeniti u Fahrenheit.
U datoteci db.php postavljate vezu baze podataka mysql za sustav.
Prvo dodajte senzore u sustav. Zatim napravite zone i zonama dodajte senzore.
Ako imate pitanja ili ste pronašli greške u sustavu, prijavite ih na stranici GitHub. Možete koristiti web sustav i ne smijete ga prodavati.
Ako imate problema s lokalizacijama za gettext, imajte na umu da ako koristite malinu kao poslužitelj, oni se često nazivaju poput en_US. UTF-8 pa morate unijeti te promjene u datoteku i18n_setup.php i u mapu s lokalnim standardima. U suprotnom ćete ostati pri švedskom jeziku.
Preuzimate ga na stranici GitHub.
Preporučeni:
Automatizirani vrtni sustav izgrađen na Raspberry Pi za vanjske ili unutarnje prostore - MudPi: 16 koraka (sa slikama)
Automatizirani vrtni sustav izgrađen na Raspberry Pi za vanjske ili unutarnje prostore - MudPi: Volite li vrtlarstvo, ali ne možete pronaći vremena za njegovo održavanje? Možda imate neke sobne biljke koje izgledaju pomalo žedno ili traže način da automatiziraju vašu hidroponiku? U ovom ćemo projektu riješiti te probleme i naučiti osnove
Bežični Arduino robot koji koristi bežični modul HC12: 7 koraka
Bežični Arduino robot koji koristi bežični modul HC12: Hej dečki, dobrodošli nazad. U svom prethodnom postu objasnio sam što je krug H mosta, IC upravljački program motora L293D, integrirani sklop upravljačkog programa motora L293D za pogon visokonaponskih upravljačkih programa motora i kako možete dizajnirati i izraditi vlastitu ploču vozača motora L293D
Vrtni vlak - Arduino bežični NMRA DCC: 4 koraka (sa slikama)
Vrtni vlak - Arduino bežični NMRA DCC: Nadalje, uz prethodna uputstva s DCC -om na mrtvom kolosijeku, ideju sam dalje razvio ručnom DCC komandnom stanicom s tipkovnicom i LCD zaslonom. Zapovjedna stanica sadrži sve kodiranje potrebno za NMRA DCC upute, međutim
Uradi sam bežični bežični oblik električne energije radio valova u Katmanduu: 6 koraka
Uradi sam bežični bežični oblik električne energije radio valova u Katmanduu: Ono što sam učinio, dotjerao sam ga i učinio još jednostavnijim i ima samo dva kraja umjesto četiri. Palačinka odgovarajuće veličine s dva kraja spojena na Arial's i tlo funkcionira kao prijemnik. Dugačak niz od dva arijalna, jedan spojen na g
4-bežični bežični Qi punjač: 9 koraka (sa slikama)
4-up bežični Qi punjač: Stanica za punjenje laserski je izrezana od šperploče različite debljine i polietilena, a zatim sastavljena rukom punom nehrđajućeg čelika #2 x 3/8 " i #4 x 1/2 " ravna glava, vijci za lim. CO2 laser od 60 W dovoljan je šperploča Baltic Birch u