Kazalo:

APIS - avtomatiziran namakalni sistem rastlin: 12 korakov (s slikami)
APIS - avtomatiziran namakalni sistem rastlin: 12 korakov (s slikami)

Video: APIS - avtomatiziran namakalni sistem rastlin: 12 korakov (s slikami)

Video: APIS - avtomatiziran namakalni sistem rastlin: 12 korakov (s slikami)
Video: The Insane Works of HITEN GOOLAB | ADA South Africa - Aquascaping Podcast 2024, November
Anonim
APIS - avtomatiziran namakalni sistem rastlin
APIS - avtomatiziran namakalni sistem rastlin

ZGODOVINA: (naslednji razvoj tega sistema je na voljo tukaj)

Na temo zalivanja rastlin je kar nekaj navodil, zato sem tukaj komaj izumil nekaj izvirnega. Ta sistem je drugačen, saj je v njem vnešeno veliko programiranja in prilagajanja, kar omogoča boljši nadzor in integracijo v vsakodnevno življenje.

Tukaj je video posnetek zalivanja: zalivalni tek

Tako je nastal APIS:

Imamo dve rdeči pekoči čili papriki, ki sta komaj "preživeli" več naših počitnic in na tej točki skoraj veljali za družinske člane. Preživeli so hudo sušo in prekomerno zalivanje, vendar so si vedno nekako opomogli.

Zamisel o izgradnji zalivanja rastlin na osnovi Arduina je bila skoraj prva ideja, kako bi lahko Arduino uporabili kot projekt avtomatizacije doma. Tako je bil zgrajen preprost sistem zalivanja rastlin.

Vendar pa različica 1 ni kazala na vlažnost tal in ni bilo mogoče ugotoviti, ali gre za zalivanje rastlin ali pa je zalivanje nekaj dni stran.

Vsi vemo, da je radovednost ubila mačko, različica 2 pa je bila zgrajena s 4 -mestnim 7 -segmentnim modulom za prikaz trenutne vlažnosti.

To ni bilo dovolj. Naslednje vprašanje je bilo "kdaj je bil rastline nazadnje zalivan"? (Ker smo bili le redko doma priča temu). Različica 3 je s 7 -segmentnim modulom prikazala tudi, kako dolgo nazaj je prišlo do zadnjega zalivanja (kot tekoči besedilni niz).

Nekega večera se je zalivanje začelo ob 4. uri zjutraj in zbudilo vse. Moteče … Ker je bilo preveč dela, da bi izklopili APIS za noč in vklopili za cel dan, da bi preprečili zalivanje sredi noči, je bila dodana ura v realnem času, ki je napravo ponoči uspavala v okviru različice 4.

Ker ura v realnem času zahteva periodične nastavitve (na primer časovni pas za poletni čas), različica 5 vključuje tri gumbe, ki omogočajo nastavitev različnih parametrov zalivanja rastlin.

Tu se ni ustavilo. Opazil sem, da sonde za vlago precej hitro erodirajo, kar je verjetno posledica dejstva, da je (po načrtu) pod konstantno napetostjo, zato je med sondami stalni električni tok (erodirajoča anoda). Poceni sonda za zemljo iz Kitajske je preživela približno teden dni. Tudi pocinkan žebelj je bil v enem mesecu "pojedel". Sonda iz nerjavečega jekla se je bolje držala, vendar sem opazil, da tudi to obupa. Različica 6 vklopi sondo le 1 minuto vsako uro (in ves čas med zalivanjem), s čimer se dramatično zmanjša erozija (~ 16 minut na dan v primerjavi s 24 urami na dan).

Ideja:

Razviti zalivalni sistem rastlin z naslednjimi zmogljivostmi:

  1. Izmerite vlažnost tal
  2. Ko dosežete vnaprej določeno oznako "nizka" vlažnost, vklopite vodno črpalko in zalivajte rastline, dokler ne dosežete oznake "visoke" vlažnosti
  3. Zalivanje je treba izvajati v več poteh, ločenih z obdobji neaktivnosti, da se omogoči nasičenje vode z zemljo
  4. Sistem se mora ponoči med časom "spanja" in "prebujanja" deaktivirati
  5. Čas bujenja je treba za vikende prilagoditi poznejši vrednosti
  6. Sistem mora voditi dnevnik črpanja
  7. Sistem mora prikazati trenutne odčitke vlažnosti tal
  8. Sistem mora prikazati datum/čas zadnjega obratovanja črpalke
  9. Parametre zalivanja je treba prilagoditi brez ponovnega programiranja
  10. Ustavite črpanje in navedite stanje napake, če delovanje črpalke ne povzroči spremembe vlažnosti (izven vode ali težave s senzorjem), ki preprečuje poplavljanje naprave in uhajanje vode
  11. Sistem mora vklopiti/izklopiti sondo za vlago, da se izogne eroziji kovin
  12. Sistem mora odvajati vodo iz cevi, da prepreči nastanek plesni v njih

Naslednje parametre je treba nastaviti z gumbi:

  1. Oznaka "nizka" vlažnost, v %, za zagon delovanja črpalke (privzeto = 60 %)
  2. Oznaka "visoka" vlažnost, v %, za ustavitev delovanja črpalke (privzeto = 65 %)
  3. Trajanje enega zalivanja, v sekundah (privzeto = 60 sekund)
  4. Število ponovljenih poskusov za dosego ciljne vlažnosti (privzeto = 4 teka)
  5. Vojaški čas za deaktiviranje ponoči, samo ure (privzeto = 22 ali 22:00)
  6. Vojaški čas za aktiviranje zjutraj, samo ure (privzeto = 07 ali 7 zjutraj)
  7. Vikend prilagoditev za jutranjo aktivacijo, delta ure (privzeto = +2 uri)
  8. Trenutni datum in ura

APIS zapiše datum/čas 10 zadnjih zalivanj v pomnilnik EEPROM. Lahko se prikaže dnevnik, ki prikazuje datum in čas tekov.

Ena izmed mnogih stvari, ki smo se jih naučili iz APIS -a, je, da vam rastlin dejansko ni treba zalivati vsak dan, kar je bila naša rutina, dokler nismo videli odčitkov vlažnosti tal na 7 -segmentnem zaslonu …

1. korak: DELI in ORODJA

DELI IN ORODJA
DELI IN ORODJA
DELI IN ORODJA
DELI IN ORODJA

Za izdelavo APIS -a boste potrebovali naslednje dele:

KONTROLA IN CEVI:

  1. Plošča Arduino Uno: na Amazon.com
  2. 12v Peristaltična črpalka za tekočino s silikonskimi cevmi: na Adafruit.com
  3. 4X numerični LED zaslon z digitalno cevjo JY-MCU modul: na Fasttech.com
  4. DS1307 Komplet deske za prikaz ure v realnem času: na Adafruit.com (neobvezno)
  5. Taktično stikalo Microtivity IM206 6x6x6mm: na Amazon.com
  6. Vero tabla: na Amazon.com
  7. IC gonilnika motorja L293D: na Fasttech.com
  8. 3 upori 10kOhm
  9. Arduino načrtuje plastično ohišje: na Amazon.com
  10. 12v AC/DC adapter z 2,1 mm vtičnico: na Amazon.com
  11. Bambusova nabodala
  12. Tekalna plast in malo supercementnega lepila
  13. Super mehka gumijasta cev iz lateksa 1/8 "ID, 3/16" OD, 1/32 "stena, polprozorna jantarna barva, 10 čevljev Dolžina: na McMaster.com
  14. Vzdržljiv najlonski tesnilni okov iz tesno zaprte cevi, T-nastavek za 1/8 "ID cevi, bel, paketi po 10: na McMaster.com
  15. Trpežna najlonska tesno oporna cevna okovja, Wye za 1/8 "ID cevi, bela, pakiranja po 10: na McMaster.com
  16. Kot običajno, žice, orodja za spajkanje itd.

SONDA VLAŽNOSTI:

  1. Majhen kos lesa (1/4 "x 1/4" x 1 ")
  2. 2 x igle za odstranjevanje aken iz nerjavečega jekla: na Amazon.com
  3. Modul senzorja za zaznavanje vlažnosti tal: na Fasttech.com

2. korak: SONDA VLAGE 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 tal se meri na podlagi upora dveh kovinskih sond, vstavljenih v tla (približno 1 cm narazen). Sheme so prikazane na sliki.

Prva sonda, ki sem jo poskusil, je bila tista, ki jo lahko kupite pri številnih internetnih ponudnikih (kot je ta).

Težava pri teh je v tem, da je raven folije razmeroma tanka in hitro erodira (v enem ali dveh tednih), zato sem hitro opustil to vnaprej izdelano za trdnejše senzor, ki temelji na pocinkanem žeblju (glejte naslednji korak).

3. korak: SONDA VLAGE TLA V2

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

Sonda "naslednje generacije" je bila doma narejena iz dveh pocinkanih žebljev, lesene deske in nekaj žic.

Ker sem že imel dotrajano izdelano sondo, sem ponovno uporabil priključni kos in elektronski modul iz njega, v bistvu sem samo zamenjal talno komponento.

Pocinkani žeblji so na moje presenečenje tudi erodirali (čeprav počasneje kot tanka folija), vendar še vedno hitreje, kot bi si želel.

Druga sonda je bila zasnovana na osnovi igel za odstranjevanje aken iz nerjavečega jekla. (glej naslednji korak).

4. korak: SONDA ZA VLAGO TLA V3 "Katana"

SONDA VLAGNOSTI TLA V3
SONDA VLAGNOSTI TLA V3
SONDA VLAGNOSTI TLA V3
SONDA VLAGNOSTI TLA V3

Sonda iz nerjavečega jekla (ki spominja na samurajski meč, od tod tudi ime) je tista, ki se trenutno uporablja.

Verjamem, da je hitro erozijo mogoče pripisati dejstvu, da je bila sonda vedno pod električno napetostjo (24x7), ne glede na to, kako pogosto je potekala dejanska meritev.

Da bi to ublažil, sem spremenil merilne intervale, da so enkrat na 1 uro (navsezadnje to NI sistem v realnem času), in namesto stalnih 5V sondo priključil na enega od digitalnih zatičev. Trenutno se sonda napaja le ~ 16 minut na dan namesto 24 ur, kar bi moralo znatno podaljšati njeno življenjsko dobo.

5. korak: OSNOVNA FUNKCIONALNOST

OSNOVNA FUNKCIONALNOST
OSNOVNA FUNKCIONALNOST
OSNOVNA FUNKCIONALNOST
OSNOVNA FUNKCIONALNOST

APIS temelji na plošči Arduino UNO.

APIS meri vlažnost tal enkrat na uro in če pade pod vnaprej določen prag, vklopi črpalko za vnaprej določeno časovno obdobje vnaprej določeno število krat, ločenih z intervali "nasičenosti".

Ko je dosežen ciljni prag vlažnosti, se postopek vrne v način merjenja enkrat na uro.

Če ciljne vlažnosti ni mogoče doseči, vendar je bila dosežena spodnja meja, je to tudi v redu (vsaj nekaj zalivanja je bilo). Razlog je lahko nesrečna namestitev sonde, kjer je predaleč od vlažne zemlje.

Če pa tudi spodnje meje vlažnosti ni mogoče doseči, se navede napaka. (Najverjetneje je prišlo do težave s sondo ali pa je v vedru za dovod zmanjkalo vode itd.). Pod pogojem napake bo enota 24 ur spala, ne da bi pri tem kaj naredila, nato pa poskusila znova.

Korak 6: 7 ZASLON SEGMENTA

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

716 SEGMENTNI ZASLON TM1650:

Prvotno APIS ni imel zmožnosti prikaza. Brez povezave prek USB -ja ni bilo mogoče določiti trenutne ravni vlažnosti tal.

Če želite to odpraviti, sem sistemu dodal 4 -mestni 7 -segmentni zaslon: na Fasttech.com

Nikjer nisem našel knjižnice, ki bi delovala s tem modulom (niti podatkovnega lista zanj), zato sem se po nekaj urah preiskovanja in preizkušanja vrat I²C odločil, da bom sam napisal knjižnico gonilnikov.

Podpira zaslone do 16 številk (pri čemer so 4 privzete vrednosti), lahko prikaže osnovne znake ASCII (upoštevajte, da niso vsi znaki sestavljeni iz 7 segmentov, zato črke, kot so W, M itd., Niso izvedene)., Podpira decimalno točkovni prikaz na modulu, tekoči niz znakov (za prikaz več kot 4 črk) in podpira 16 stopinj svetlosti.

Knjižnica je na voljo na igrišču arduino.cc tukaj. Knjižnica gonilnikov TM1650

Vzorec videa je na voljo tukaj

ANIMACIJA:

Med vožnjo z vodo je izvedenih nekaj 7 segmentnih animacij.

  • Medtem ko je črpalka vklopljena, digitalne pike na zaslonu tečejo po vzorcu od leve proti desni, kar simbolizira vodni tok: video animacije zalivanja
  • V obdobju "nasičenosti" pike tečejo od središča zaslona navzven, kar simbolizira nasičenost: animacijski video nasičenosti

Nepotreben, a prijeten dotik.

7. korak: ČRPALA in NADZOR ČRPALKE

ČRPALA in NADZOR ČRPALKE
ČRPALA in NADZOR ČRPALKE
ČRPALA in NADZOR ČRPALKE
ČRPALA in NADZOR ČRPALKE

ČRPALKA

Za zalivanje rastlin sem uporabil 12v Peristaltično tekočinsko črpalko (na voljo tukaj). Črpalka zagotavlja približno 100 ml/min (kar je približno 1/2 kozarca - dobro si zapomnite, ko konfigurirate čas obratovanja vode, da se izognete prelivanju, in to se je zgodilo 8-)

NADZOR ČRPALKE - L293D

Črpalko krmili čip gonilnika motorja L293D. Ker je smer vrtenja vnaprej nastavljena, morate za krmiljenje uporabiti le zatič za omogočanje čipov. Smerne zatiče je mogoče priključiti neposredno na +5v in GND.

Če vi (tako kot jaz) niste bili prepričani, v katero smer bo šla črpalka, lahko še vedno vse tri zatiče priključite na Arduino in programsko nadzirate smer. Manj ponovnega spajkanja.

8. korak: KONFIGURACIJA in GUMBI

KONFIGURACIJA in GUMBI
KONFIGURACIJA in GUMBI
KONFIGURACIJA in GUMBI
KONFIGURACIJA in GUMBI

GUMBI:

Za konfiguracijo in nadzor APIS sem uporabil tri gumbe.

Vsi pritiski na gumbe se obdelujejo na podlagi prekinitev z zatiči (knjižnica PinChangeInt).

  • Rdeča (skrajno desno) je gumb SELECT. APIS vstopi v konfiguracijski način in potrdi vrednosti.
  • Črna skrajna leva in srednja tipka (PLUS oziroma MINUS) se uporabljata za povečanje/zmanjšanje nastavljivih vrednosti (v konfiguracijskem načinu) ali prikaz trenutnega datuma/časa in podatkov o zadnjem zalivanju (v običajnem načinu).

Ker je zaslon večino časa izklopljen, bodo vsi gumbi najprej "zbudili" APIS in šele nato ob drugem pritisku opravili svojo funkcijo.

Zaslon se izklopi po 30 sekundah nedejavnosti (razen če poteka zalivanje).

APIS teče po konfiguracijskih parametrih ob zagonu za pregled: video

KONFIGURACIJA:

APIS ima štiri konfiguracijske načine:

  1. Konfigurirajte parametre zalivanja
  2. Nastavite uro v realnem času
  3. "Prisilno" zalivanje
  4. Preglejte dnevnik zalivanja

PARAMETRI ZALIVANJA:

  1. Nizek prag vlažnosti tal (začnite z zalivanjem)
  2. Prag visoke vlažnosti tal (ustavite zalivanje)
  3. Trajanje enega samega zalivanja (v sekundah)
  4. Število zalivanj v eni seriji
  5. Trajanje obdobja nasičenja tal med poteki znotraj ene serije (v minutah)
  6. Čas aktiviranja nočnega načina (vojaški čas, samo ure)
  7. Končni čas nočnega načina (vojaški čas, samo ure)
  8. Vikend prilagoditev za končni čas nočnega načina (v urah)

NASTAVITEV URNE ČASNE URE:

  1. Stoletje (tj. 20 za leto 2015)
  2. Leto (tj. 15 za leto 2015)
  3. Mesec
  4. Dan
  5. Ura
  6. Minuta

Ura se po potrditvi minut nastavi s sekundami, nastavljenimi na 00.

Nastavitve imajo časovno omejitev 15 sekund, po kateri se vse spremembe prekličejo.

Po shranjevanju se parametri shranijo v pomnilnik EEPROM.

PRILOŽENJE ZALIVANJA

Še vedno nisem prepričan, zakaj sem ga uvedel, vendar obstaja. Ko je aktiviran, APIS preide v način zalivanja. Način zalivanja pa je še vedno pod pragom. To pomeni, da se zalivanje nemudoma konča, če prisilno zalivate, vendar je vlažnost tal nad oznako HIGH. V bistvu to deluje le, če je vlažnost tal med nizkim in visokim pragom.

PREGLED DNEVNIKA ZALIVANJA:

APIS vodi dnevnik zadnjih 10 zalivanj v pomnilniku EEPROM, ki ga lahko uporabnik pregleda. Shranjen je le datum/čas zalivanja. Mejne vrednosti (takrat) in število ponovitev, ki so bile potrebne za dosego praga HIGH, se ne shranijo (čeprav bi v naslednji različici morda bile).

9. korak: RTC: URNIKA ČASA

RTC: URNI ČAS
RTC: URNI ČAS

NOČNI NAČIN

Ko me je APIS ponoči zbudil, se mi je porodila ideja o uvedbi "nočnega načina".

Nočni način je, ko ni meritev, zaslon je izklopljen in zalivanje ne teče.

Na običajen delovni dan se APIS "zbudi" ob 7. uri zjutraj (nastavljivo) in vstopi v nočni način ob 22. uri (nastavljivo)., če je prilagoditev za vikend 2 uri).

RTC BREAKOUT BOARD proti "SOFTWARE" RTC:

Uporabil sem strojno opremo RTC (na voljo tukaj) za sledenje datuma/ure in vstop/izhod iz nočnih načinov.

Uporaba ni obvezna, saj se lahko skice sestavijo za uporabo tako imenovane "programske opreme" RTC (z uporabo funkcije millis () arduina).

Pomanjkljivost uporabe programske opreme RTC je, da morate vsakič, ko se APIS vklopi, nastaviti čas.

Standardno knjižnico RTC sem spremenil tako, da se natančno ujema z API -jem, prav tako pa sem se izognil vprašanju milis prevračanja. (Za prenos glejte korak skice).

10. korak: ZDRUŽITE VSE SKUPAJ

SKUPAJ VSE
SKUPAJ VSE
SKUPAJ VSE
SKUPAJ VSE
SKUPAJ VSE
SKUPAJ VSE
SKUPAJ VSE
SKUPAJ VSE

Celoten sistem (razen sonde), vključno s črpalko, se prilega v majhno škatlo za Arduino Uno.

  1. Zaslon TM1650 uporablja vmesnik TWI, zato žice SDA in SDC gredo na Arduino nožice A4 oziroma A5. Drugi dve žici sta +5v in GND.
  2. Plošča RTC uporablja vmesnik TWI, tako kot zgoraj. (TM1650 in RTC uporabljata različna vrata, zato mirno sobivajo). RTC +5v pin je priključen na arduino pin 12 (napaja se prek digitalnega pin namesto +5v). Ne spomnite se, zakaj sem to storil, ni vam treba.
  3. Zatiči L293D so povezani na naslednji način: omogočite (nožica 1) na D5, zatiča za smer 2 in 7 pa na arduino zatiči D6 oziroma D7.
  4. GUMBI so povezani z zatiči D2, D8 in D9 za SELECT, PLUS in MINUS. (Gumbi so izvedeni s spuščenimi 10K upori-v konfiguraciji "aktivno visoko").
  5. Napajanje modula PROBE +5V je priključeno na arduino pin 10 (za omogočanje periodičnih meritev), sonda pa na analogni pin A1.

OPOMBA: Datoteka s shemami preoblikovanja je bila dodana v skladišče github.

11. korak: SKICE in drugo

SKICE in še več
SKICE in še več

Posodobitev marca 2015:

  1. Dodana funkcionalnost za odvajanje cevi po zalivanju, da se prepreči nastanek plesni (fant! Vesel sem, da nisem usmeril žične smeri vrtenja črpalke na L293D!)
  2. Obsežnejša sečnja vključuje datum/čas začetka in konca zalivanja, vlažnost začetka in konca ter kolikokrat je bila črpalka vključena med zalivanjem
  3. Posodobljena rutina napak: naprava se bo po 24 urah po vnosu stanja napake ponastavila
  4. Ponovno sestavljeno z TaskScheduler 2.1.0
  5. Različni drugi popravki napak

18. novembra 2015 je bil APIS nadgrajen z naslednjimi dodatnimi funkcijami:

  1. Uporaba knjižnice DirectIO za hitrejše in enostavnejše menjave pinov
  2. Uporaba knjižnice časovnega pasu za pravilno preklapljanje med EST in EDT
  3. Dodana logika odstranjevanja gumbov samo z uporabo TaskSchedulerja
  4. Dodana funkcija ponovitve gumba (vrednosti se spreminjajo, če gumb pritisnete in držite, pri čemer se hitrost cikla poveča po 5 ciklih)
  5. Ponovno sestavljeno z IDE 1.6.6 AVR 1.6.9 proti TaskScheduler 1.8.4
  6. Preseljeno v Github

KNJIŽNICE:

APIS temelji na naslednjih knjižnicah:

  • EEPROM - del Arduino IDE
  • Wire - del Arduino IDE
  • EnableInterrupt - na voljo v Githubu
  • Časovni pas - na voljo na Githubu
  • DirectIO - na voljo na Githubu

Jaz sem spremenil (razcepil):

  • Čas - na voljo na Githubu
  • RTClib - na voljo na Githubu

Jaz razvil:

  • TM1650 - na voljo na Githubu
  • TaskScheduler - na voljo v Githubu
  • AvgFilter - na voljo na Githubu

SKIC:

Najnovejša različica skice APIS, vključno s datoteko shem fritzing, je na voljo na Githubu

PODATKI:

  • L293D: tukaj
  • Odklopna plošča RTC: tukaj

12. korak: *** ZMAGALI SMO !!! ***

*** ZMAGALI SMO !!! ***
*** ZMAGALI SMO !!! ***

Ta projekt je osvojil drugo nagrado na natečaju Home Automation, ki ga sponzorira Dexter Industries.

Preverite! WOO-HOO !!!

Domača avtomatizacija
Domača avtomatizacija
Domača avtomatizacija
Domača avtomatizacija

Druga nagrada za avtomatizacijo doma

Priporočena: