Sadržaj:

APIS - Automatski sistem za navodnjavanje biljaka: 12 koraka (sa slikama)
APIS - Automatski sistem za navodnjavanje biljaka: 12 koraka (sa slikama)

Video: APIS - Automatski sistem za navodnjavanje biljaka: 12 koraka (sa slikama)

Video: APIS - Automatski sistem za navodnjavanje biljaka: 12 koraka (sa slikama)
Video: MOTIVACIONA BIOBAŠTA - PREDAVANJE #001 [TRAG BILJKE] 2024, Novembar
Anonim
APIS - Automatizovani sistem za navodnjavanje biljaka
APIS - Automatizovani sistem za navodnjavanje biljaka

POVIJEST: (sljedeća evolucija ovog sistema dostupna je ovdje)

Postoji dosta instrukcija na temu zalijevanja biljaka, pa sam ovdje jedva izmislio nešto originalno. Ono što ovaj sistem čini drugačijim je količina programiranja i prilagođavanja koja su uključena u njega, omogućavajući bolju kontrolu i integraciju u svakodnevni život.

Evo video zapisa zalijevanja: zalijevanje

Ovako je nastao APIS:

Imamo dvije biljke ljute ljute papričice koje su jedva "preživjele" nekoliko naših godišnjih odmora i u ovom trenutku gotovo smatrane članovima porodice. Prošli su kroz ekstremnu sušu i prekomjerno zalijevanje, ali su se uvijek nekako oporavili.

Ideja o izgradnji zalijevanja biljaka na bazi Arduina bila je gotovo prva ideja kako bi se Arduino mogao primijeniti kao projekt kućne automatizacije. Tako je izgrađen jednostavan sistem zalijevanja biljaka.

Međutim, verzija 1 nije imala nikakve naznake vlažnosti tla i nije bilo načina da se utvrdi da li će se biljke zalijevati ili je zalijevanje ostalo nekoliko dana.

Znatiželja je, kao što svi znamo, ubili mačku, a verzija 2 je napravljena sa 4 -znamenkasti 7 -segmentnim modulom za prikaz trenutne vlažnosti u svakom trenutku.

To nije bilo dovoljno. Sljedeće pitanje je bilo "kada je zadnji put zalijevalo biljke"? (Budući da smo rijetko bili kod kuće da to svjedočimo). Verzija 3 je koristila 7 -segmentni modul za prikaz prije koliko vremena je došlo do zadnjeg zalijevanja (kao tekući tekstualni niz).

Jedne noći zalijevanje je počelo u 4 ujutro, probudivši sve. Frustrirajuće … S obzirom na to da je previše posla da se APIS isključi preko noći, a da se uključi tokom dana kako bi se spriječilo zalijevanje usred noći, dodan je sat u stvarnom vremenu kako bi se uređaj uspavao noću u sklopu Verzije 4.

Budući da sat u stvarnom vremenu zahtijeva periodična podešavanja (na primjer, prekidač za ljetno računanje vremena), verzija 5 uključuje tri gumba koji omogućuju postavljanje različitih parametara zalijevanja biljaka.

Tu se nije stalo. Primijetio sam da sonda za vlagu ima tendenciju prilično brzog nagrizanja, vrlo vjerojatno zbog činjenice da je (prema dizajnu) bila pod konstantnim naponom, pa je stoga postojala stalna električna struja između sondi (erodirajuća anoda). Jeftina sonda iz Kine preživjela je oko sedmicu dana. Čak je i pocinčani ekser "pojeo" za mjesec dana. Sonda od nehrđajućeg čelika bolje se držala, ali primijetio sam da i to odustaje. Verzija 6 uključuje sondu na samo 1 minutu svaki sat (i cijelo vrijeme tokom zalijevanja), čime se dramatično smanjuje erozija (~ 16 minuta dnevno u odnosu na 24 sata dnevno).

Ideja:

Razviti sistem zalijevanja biljaka sa sljedećim mogućnostima:

  1. Izmerite vlažnost zemljišta
  2. Po dostizanju unaprijed definirane oznake "niske" vlažnosti, uključite pumpu za vodu i zalijevajte biljke dok se ne postigne oznaka "visoke" vlažnosti
  3. Zalijevanje treba vršiti u nekoliko ciklusa, odvojenih periodima neaktivnosti kako bi se omogućilo zasićenje vode kroz tlo
  4. Sistem bi se trebao deaktivirati noću između vremena za spavanje i buđenja
  5. Vrijeme buđenja treba prilagoditi za vikende na kasniju vrijednost
  6. Sistem bi trebao voditi dnevnik rada pumpanja
  7. Sistem bi trebao prikazati trenutno očitanje vlažnosti tla
  8. Sistem bi trebao prikazati datum/vrijeme posljednjeg rada pumpe
  9. Parametre zalijevanja treba prilagoditi bez ponovnog programiranja
  10. Zaustavite pumpanje i pokažite stanje greške ako rad pumpe ne dovodi do promjene vlažnosti (zbog nedostatka vode ili problema sa senzorom) sprječavajući poplavu postrojenja i curenje vode
  11. Sistem bi trebao uključiti/isključiti sondu za vlagu kako bi se izbjegla erozija metala
  12. Sistem bi trebao ispuštati vodu iz cijevi kako bi spriječio stvaranje plijesni unutar njih

Sljedeće parametre treba konfigurirati pomoću gumba:

  1. Oznaka "niske" vlažnosti, u %, za početak rada pumpe (zadano = 60 %)
  2. Oznaka vlažnosti "visoka", u %, za zaustavljanje rada pumpe (zadano = 65 %)
  3. Trajanje jednog ciklusa zalijevanja, u sekundama (zadano = 60 sekundi)
  4. Broj pokušaja da se postigne ciljna vlažnost (zadano = 4 vožnje)
  5. Vojno vrijeme za deaktiviranje za noć, samo sati (zadano = 22 ili 22 sata)
  6. Vojno vrijeme za aktiviranje ujutro, samo sati (zadano = 07 ili 7 ujutro)
  7. Vikend prilagođavanje za jutarnju aktivaciju, delta sati (zadano = +2 sata)
  8. Trenutni datum i vrijeme

APIS upisuje datum/vrijeme 10 posljednjih zalivanja u memoriju EEPROM -a. Dnevnik se može prikazati, prikazujući datum i vrijeme trčanja.

Jedna od mnogih stvari koje smo naučili od APIS -a je da zapravo ne morate zalijevati biljke, što je bila naša rutina sve dok nismo vidjeli očitanja vlažnosti tla na 7 -segmentnom ekranu …

Korak 1: DIJELOVI I ALATI

DIJELOVI I ALATI
DIJELOVI I ALATI
DIJELOVI I ALATI
DIJELOVI I ALATI

Za izradu APIS -a trebat će vam sljedeći dijelovi:

KONTROLA I CIJEVI:

  1. Arduino Uno ploča: na Amazon.com
  2. 12v Peristaltička pumpa za tekućinu sa silikonskim cijevima: na Adafruit.com
  3. 4X numerički LED zaslon digitalne cijevi JY-MCU modul: na Fasttech.com
  4. DS1307 Komplet ploče za razbijanje sata u realnom vremenu: na Adafruit.com (opcionalno)
  5. Taktni prekidač mikroaktivnosti IM206 6x6x6mm: na Amazon.com
  6. Vero ploča: na Amazon.com
  7. IC upravljačkog programa motora L293D: na Fasttech.com
  8. 3 x 10kOhm otpornici
  9. Arduino projektuje plastično kućište: na Amazon.com
  10. 12v AC/DC adapter sa utičnicom za napajanje 2.1 mm: na Amazon.com
  11. Ražnjići od bambusa
  12. Gazni sloj i malo supercementnog ljepila
  13. Super mekane gumene cijevi od lateksa 1/8 "ID, 3/16" OD, 1/32 "zid, poluprozirni jantar, 10 stopa. Dužina: na McMaster.com
  14. Izdržljivi najlonski brtveni cijevni priključak s uskim zatvaračem, T-profil za 1/8 "cijev ID, bijeli, pakiranja od 10: na McMaster.com
  15. Izdržljivi najlonski cijevni držač sa brtvenim cijevima, brtven za 1/8 "Tube ID, bijeli, pakiranja od 10: na McMaster.com
  16. Kao i obično, žice, alati za lemljenje itd.

SONDA VLAŽNOSTI:

  1. Mali komad drveta (1/4 "x 1/4" x 1 ")
  2. 2 x igle za uklanjanje akni od nehrđajućeg čelika: na Amazon.com
  3. Modul senzora za otkrivanje vlažnosti tla: na Fasttech.com

Korak 2: SONDA VLAŽNOSTI TLA V1

SONDA VLAŽNOSTI TLA V1
SONDA VLAŽNOSTI TLA V1
SONDA VLAŽNOSTI TLA V1
SONDA VLAŽNOSTI TLA V1
SONDA VLAŽNOSTI TLA V1
SONDA VLAŽNOSTI TLA V1

Vlažnost tla mjeri se na osnovu otpora između dvije metalne sonde umetnute u zemlju (udaljene oko 1 inč). Sheme su prikazane na slici.

Prva sonda koju sam isprobao je ona koju možete kupiti od brojnih internet provajdera (poput ove).

Problem s tim je što je nivo folije relativno tanak i brzo erodira (u roku od jedne ili dvije sedmice), pa sam brzo napustio ovaj već proizvedeni za čvršći senzor, na bazi pocinčanog eksera (pogledajte sljedeći korak).

Korak 3: SONDA VLAŽNOSTI TLA V2

SONDA VLAŽNOSTI TLA V2
SONDA VLAŽNOSTI TLA V2
SONDA VLAŽNOSTI TLA V2
SONDA VLAŽNOSTI TLA V2

Sonda "nove generacije" bila je domaća izrađena od dva pocinčana eksera, drvene ploče i nekoliko žica.

Budući da sam već imao istrošenu proizvedenu sondu, ponovno sam koristio priključni komad i elektronički modul iz njega, u osnovi samo zamjenjujući komponentu tla.

Pocinčani nokti, na moje iznenađenje, također su erodirali (iako sporije od tanke folije), ali ipak brže nego što bih želio.

Druga sonda je dizajnirana, zasnovana na iglama za uklanjanje akni od nerđajućeg čelika. (pogledajte sljedeći korak).

Korak 4: SONDA VLAŽNOSTI TLA V3 "Katana"

SONDA VLAŽNOSTI TLA V3
SONDA VLAŽNOSTI TLA V3
SONDA VLAŽNOSTI TLA V3
SONDA VLAŽNOSTI TLA V3

Sonda od nehrđajućeg čelika (koja podsjeća na samurajski mač, otuda i naziv) je ona koja se trenutno koristi.

Vjerujem da bi se brza erozija mogla pripisati činjenici da je sonda uvijek bila pod električnim naponom (24x7) bez obzira na to koliko često se stvarno mjerenje odvijalo.

Da bih to ublažio, promijenio sam mjerne intervale na jednom u 1 sat (uostalom, ovo NIJE sistem u stvarnom vremenu) i spojio sondu na jedan od digitalnih pinova umjesto stalnih 5V. Trenutno se sonda napaja samo ~ 16 minuta dnevno umjesto 24 sata, što bi dramatično produžilo njen vijek trajanja.

Korak 5: OSNOVNA FUNKCIONALNOST

OSNOVNA FUNKCIONALNOST
OSNOVNA FUNKCIONALNOST
OSNOVNA FUNKCIONALNOST
OSNOVNA FUNKCIONALNOST

APIS je zasnovan na Arduino UNO ploči.

APIS mjeri vlažnost tla jednom na sat, a ako padne ispod unaprijed definiranog praga, uključuje pumpu na unaprijed definirani vremenski period unaprijed definirani broj puta odvojenih intervalima "zasićenja".

Kada se dostigne ciljni prag vlažnosti, proces se vraća u način mjerenja jednom na sat.

Ako se ne može postići ciljna vlažnost, ali je dosegnuta donja granica, to je također u redu (barem je došlo do zalijevanja). Razlog bi mogao biti nesretan smještaj sonde, gdje je previše udaljena od vlažnog tla.

Međutim, ako se čak i donja granica vlažnosti ne može doseći, objavljuje se uvjet greške. (Najvjerojatnije je došlo do problema sa sondom ili je u kanti za opskrbu ponestalo vode itd.). Pod greškom, uređaj će spavati 24 sata bez ičega, a zatim će pokušati ponovo.

Korak 6: 7 EKRAN SEGMENTA

7 ZASLON SEGMENTA
7 ZASLON SEGMENTA
7 ZASLON SEGMENTA
7 ZASLON SEGMENTA

TM1650 ZASLON SA 7 SEGMENTA:

U početku, APIS nije imao nikakve mogućnosti prikaza. Nije bilo moguće odrediti trenutnu razinu vlažnosti tla bez povezivanja putem USB -a.

Da bih to ispravio, sistemu sam dodao četvorocifreni 7 segmentni ekran: na Fasttech.com

Nigdje nisam mogao pronaći biblioteku za rad s ovim modulom (niti tehnički list za njega), pa sam nakon nekoliko sati ispitivanja I²C portova i eksperimentiranja odlučio sam napisati biblioteku upravljačkih programa.

Podržava zaslone do 16 znamenki (od kojih su 4 zadane), može prikazati osnovne ASCII znakove (imajte na umu da se svi znakovi ne mogu sastaviti sa 7 segmenata, pa slova poput W, M itd. Nisu implementirana)., Podržava decimalne znakove tačkasti prikaz na modulu, pokrenuti niz znakova (za prikaz više od 4 slova) i podržava 16 stepeni osvetljenosti.

Biblioteka je dostupna na igralištu arduino.cc ovdje. Biblioteka upravljačkih programa TM1650

Uzorak videozapisa dostupan je ovdje

ANIMACIJA:

Malo animacije od 7 segmenata implementirano je tokom vodenog trčanja.

  • Dok je pumpa uključena, digitalne tačke na ekranu rade slijeva nadesno, što simbolizira protok vode: animacijski video zalijevanje
  • Tokom perioda "zasićenja", točkice teku od središta ekrana prema van, simbolizirajući zasićenje: animacijski video zasićenja

Nepotrebno, ali lijep dodir.

Korak 7: PUMPA i UPRAVLJANJE PUMPOM

PUMPA i UPRAVLJANJE PUMPOM
PUMPA i UPRAVLJANJE PUMPOM
PUMPA i UPRAVLJANJE PUMPOM
PUMPA i UPRAVLJANJE PUMPOM

PUMPA

Koristio sam 12v Peristaltičku pumpu za tekućinu (dostupna ovdje) za zalijevanje biljaka. Pumpa daje oko 100 mL/min (što je oko 1/2 čaše - dobro je zapamtiti prilikom konfiguriranja vremena protoka vode kako bi se izbjeglo prelijevanje, a to se ipak dogodilo 8-))

UPRAVLJANJE PUMPOM - L293D

Pumpom se upravlja pomoću upravljačkog čipa motora L293D. S obzirom da je smjer rotacije unaprijed postavljen, za kontrolu morate koristiti samo pin za omogućavanje čipa. Igle za smjer mogu se trajno spojiti direktno na +5v i GND.

Ako (poput mene) niste bili sigurni u kojem će smjeru pumpa ići, još uvijek možete spojiti sva tri pina na Arduino i programski kontrolirati smjer. Manje ponovnog lemljenja.

Korak 8: KONFIGURACIJA i DUGMETI

KONFIGURACIJA i DUGMETI
KONFIGURACIJA i DUGMETI
KONFIGURACIJA i DUGMETI
KONFIGURACIJA i DUGMETI

TIPKE:

Koristio sam tri gumba za konfiguriranje i kontrolu APIS -a.

Svi pritisci tastera se obrađuju na osnovu pin prekida (biblioteka PinChangeInt).

  • Crveno (krajnje desno) je dugme SELECT. Omogućava APIS -u da uđe u konfiguracijski način, a također potvrđuje vrijednosti.
  • Crni krajnji lijevi i srednji gumbi (PLUS i MINUS respektivno) koriste se za povećanje/smanjenje konfiguriranih vrijednosti (u konfiguracijskom načinu) ili za prikaz trenutnog datuma/vremena i posljednjih podataka o navodnjavanju (u normalnom načinu rada).

Budući da je zaslon većinom vremena isključen, svi gumbi će prvo "probuditi" APIS, pa tek onda, pri drugom pritisku, izvršiti svoju funkciju.

Zaslon se isključuje nakon 30 sekundi neaktivnosti (osim ako nije u tijeku navodnjavanje).

APIS prilikom pokretanja pregledava konfiguracijske parametre za pregled: video

KONFIGURACIJA:

APIS ima četiri načina konfiguracije:

  1. Konfigurirajte parametre zalijevanja
  2. Podesite sat u realnom vremenu
  3. "Prisilno" zalijevanje
  4. Pregledajte dnevnik zalijevanja

PARAMETRI ZALIVANJA:

  1. Prag niske vlažnosti tla (zalijevanje)
  2. Prag visoke vlažnosti tla (prestati zalijevati)
  3. Trajanje jednog zalijevanja (u sekundama)
  4. Broj zalivanja u jednoj seriji
  5. Trajanje perioda zasićenja tla između ciklusa unutar jedne serije (u minutama)
  6. Vrijeme aktiviranja noćnog načina rada (vojno vrijeme, samo sati)
  7. Vrijeme završetka noćnog načina rada (vojno vrijeme, samo sati)
  8. Podešavanje vikenda za vrijeme završetka noćnog načina rada (u satima)

POSTAVKA SATA REALNOG VREMENA:

  1. Stoljeća (tj. 20 za 2015.)
  2. Godina (tj. 15 za 2015)
  3. Mjesec
  4. Dan
  5. Sat
  6. Minuta

Sat se podešava sa sekundama postavljenim na 00 nakon potvrde minuta.

Postavke imaju vremensko ograničenje od 15 sekundi, nakon čega se sve promjene poništavaju.

Nakon spremanja, parametri se spremaju u memoriju EEPROM -a.

PRISILJIVANJE ZALIVANJA

Još uvijek nisam siguran zašto sam to implementirao, ali postoji. Nakon aktiviranja, APIS ulazi u način zalijevanja. Način zalijevanja, međutim, i dalje podliježe pragovima. To znači da ako prisilite zalijevanje, ali je vlažnost tla iznad oznake HIGH, zalijevanje će se odmah prekinuti. U osnovi ovo funkcionira samo ako je vlažnost tla između NISKOG i VISOKOG praga.

PREGLED DNEVNIKA ZALIVANJA:

APIS vodi evidenciju zadnjih 10 zalivanja u memoriji EEPROM -a, koju korisnik može pregledati. Pohranjuje se samo datum/vrijeme navodnjavanja. Pragovi (u to vrijeme) i broj trčanja koji su bili potrebni za dostizanje visokog praga se ne pohranjuju (iako bi u sljedećoj verziji to mogli biti).

Korak 9: RTC: SAT REALNOG VREMENA

RTC: SAT U REALNOM VREMENU
RTC: SAT U REALNOM VREMENU

NIGHT MODE

Jednom kad me APIS probudio noću, pala mi je na pamet ideja da implementiram "noćni način rada".

Noćni način rada je kada se ne vrše mjerenja, ekran je isključen i nema zalijevanja.

Uobičajenim radnim danom APIS se "budi" u 7 ujutro (može se konfigurirati), a u noćni način rada ulazi u 22 sata (može se konfigurirati). Tokom vikenda APIS koristi postavku "podešavanje vikenda" za odgađanje buđenja (na primjer do 9 sati ujutro), ako je podešavanje vikenda 2 sata).

RTC BREAKOUT BOARD vs "SOFTWARE" RTC:

Koristio sam hardverski RTC (dostupan ovdje) za praćenje datuma/vremena i ulazak/izlazak iz noćnih načina rada.

Nije obavezno za upotrebu, jer se skice mogu sastaviti za upotrebu takozvanog "softverskog" RTC -a (koristeći millis () funkcionalnost arduina).

Nedostatak korištenja softvera RTC je to što morate postaviti vrijeme svaki put kada se APIS uključi.

Izmijenio sam standardnu RTC biblioteku tako da se točno podudara s API -jem, a također i da zaobiđem problem milis prevrtanja. (Molimo pogledajte korak skice za preuzimanje).

Korak 10: UKLJUČITE SVE ZAJEDNO

ZAJEDNO
ZAJEDNO
ZAJEDNO
ZAJEDNO
ZAJEDNO
ZAJEDNO
ZAJEDNO
ZAJEDNO

Čitav sistem (osim sonde) uključujući pumpu staje u malu kutiju za Arduino Uno.

  1. Displej TM1650 koristi TWI sučelje, pa SDA i SDC žice idu na Arduino pinove A4 i A5. Druge dvije žice su +5v i GND.
  2. RTC ploča koristi TWI sučelje, isto kao gore. (TM1650 i RTC koriste različite priključke pa mirno koegzistiraju). RTC +5v pin je spojen na arduino pin 12 (napaja se putem digitalnog pina umjesto +5v). Ne sjećaš se zašto sam to učinio, ne moraš.
  3. Igle L293D povezane su na sljedeći način: omogućite (pin 1) na D5, a kontrolni pinovi 2 i 7 na arduino pinove D6 i D7 respektivno.
  4. TIPKE su spojene na pinove D2, D8 i D9 za SELECT, PLUS i MINUS. (Dugmad su implementirana sa padajućim 10K otpornicima-u konfiguraciji "aktivno-visoko").
  5. Napajanje modula sonde +5v priključeno je na arduino pin 10 (radi periodičnih mjerenja), a sonda je spojena na analogni pin A1.

NAPOMENA: Datoteka sa shemama prevrtanja dodana je u spremište github.

Korak 11: SKETKE i više

SKICE i više
SKICE i više

Ažuriranje za mart 2015.:

  1. Dodana funkcionalnost za ispuštanje cijevi nakon zalijevanja kako bi se spriječilo stvaranje plijesni (Dječače! Sretan sam što nisam usmjerio smjer okretanja pumpe na L293D!)
  2. Opširnija evidencija uključuje datum/vrijeme početka i završetka zalijevanja, vlažnost početka i završetka te koliko je puta pumpa bila uključena tokom zalijevanja
  3. Ažurirana rutina grešaka: uređaj će se teško resetirati nakon 24 sata od ulaska u stanje greške
  4. Ponovo kompajlirano sa TaskScheduler 2.1.0
  5. Razni drugi ispravci grešaka

Od 18. novembra 2015. APIS je nadograđen sljedećim dodatnim funkcijama:

  1. Upotreba DirectIO biblioteke za bržu i lakšu promjenu pinova
  2. Upotreba biblioteke vremenske zone za pravilno prebacivanje između EST i EDT
  3. Dodana logika poništavanja odskakivanja gumba samo pomoću TaskScheduler-a
  4. Dodana funkcija ponavljanja gumba (vrijednosti ciklusa ako se dugme pritisne i zadrži, pri čemu se brzina ciklusa povećava nakon 5 ciklusa)
  5. Ponovno kompajlirano sa IDE 1.6.6 AVR 1.6.9 u odnosu na TaskScheduler 1.8.4
  6. Preseljeno u Github

BIBLIOTEKE:

APIS se zasniva na sljedećim bibliotekama:

  • EEPROM - dio Arduino IDE -a
  • Wire - dio Arduino IDE -a
  • EnableInterrupt - dostupno na Githubu
  • Vremenska zona - dostupno na Githubu
  • DirectIO - dostupno na Githubu

Ja sam izmijenio (račvao):

  • Vrijeme - dostupno na Githubu
  • RTClib - dostupno na Githubu

Ja sam ih razvio:

  • TM1650 - dostupno na Githubu
  • TaskScheduler - dostupno na Githubu
  • AvgFilter - dostupno na Githubu

SKIC:

Najnovija verzija APIS skice, uključujući datoteku sa shemama prevrtanja, dostupna je na Githubu

LISTI PODATAKA:

  • L293D: ovdje
  • RTC ploča za razbijanje: ovdje

Korak 12: *** POBJEDILI SMO !!! ***

*** OSVOJILI SMO !!! ***
*** OSVOJILI SMO !!! ***

Ovaj projekt osvojio je drugu nagradu na takmičenju Home Automation koje sponzorira Dexter Industries.

Provjeri! WOO-HOO !!!

Kućna automatizacija
Kućna automatizacija
Kućna automatizacija
Kućna automatizacija

Druga nagrada u kućnoj automatizaciji

Preporučuje se: