Sisukord:

APIS - automatiseeritud taimede niisutussüsteem: 12 sammu (koos piltidega)
APIS - automatiseeritud taimede niisutussüsteem: 12 sammu (koos piltidega)

Video: APIS - automatiseeritud taimede niisutussüsteem: 12 sammu (koos piltidega)

Video: APIS - automatiseeritud taimede niisutussüsteem: 12 sammu (koos piltidega)
Video: SCP-4715 демон, рожденный войной | класс объекта кетер | дети ночи / животное scp 2024, Detsember
Anonim
APIS - automatiseeritud taimede niisutussüsteem
APIS - automatiseeritud taimede niisutussüsteem

AJALUGU: (selle süsteemi järgmine areng on saadaval siin)

Taimede kastmise teemal on üsna palju juhendeid, nii et ma vaevalt leiutasin siin midagi originaalset. Selle süsteemi muudab erinevaks programmeerimine ja kohandamine, mis võimaldas paremini juhtida ja integreerida igapäevaellu.

Siin on video jootmisjooksust: jootmisjooks

Nii tekkis APIS:

Meil on kaks punase kuuma tšillipipra taime, mis on vaevalt "üle elanud" mitu meie puhkust ja pidasid sel hetkel peaaegu pereliikmeteks. Nad on läbi elanud äärmise põua ja ülekastmise, kuid on alati kuidagi taastunud.

Arduino-põhise taimede kastmise ehitamise idee oli peaaegu esimene idee, kuidas saaks Arduinot koduautomaatika projektina rakendada. Nii ehitati lihtne taimede kastmissüsteem.

Versioonil 1 ei olnud aga mingeid märke mulla niiskuse kohta ja ei olnud võimalik öelda, kas see hakkas taimi kastma või kaste oli mõne päeva pärast.

Uudishimu, nagu me kõik teame, tappis kassi ja versioon 2 ehitati neljakohalise 7 -segmendilise mooduliga, mis kuvab pidevalt praegust niiskust.

Sellest ei piisanud. Järgmine küsimus oli "millal viimati taimi kasteti"? (Kuna me olime harva kodus seda tunnistajaks). Versioon 3 kasutas 7 -segmendilist moodulit ka selle kuvamiseks, kui kaua aega tagasi viimane kastmisjooks toimus (jooksva tekstistringina).

Ühel õhtul algas jootmine kell 4 hommikul, äratades kõik üles. Masendav … Kuna APIS -i ööseks väljalülitamiseks ja päevaks sisse lülitamiseks oli liiga palju tööd, et vältida keset ööd kastmist, lisati versiooni 4 osana reaalajas kell, et seade öösel magama panna.

Kuna reaalajas kell nõuab korrapäraseid kohandusi (näiteks suveaja lüliti), sisaldab versioon 5 kolme nuppu, mis võimaldavad seadistada erinevaid taime kastmisparameetreid.

See ei piirdunud sellega. Märkasin, et niiskusandur kipub üsna kiiresti erodeeruma, tõenäoliselt tänu sellele, et see oli (disaini järgi) konstantse pinge all ja seetõttu oli sondide vahel pidev elektrivool (erodeeriv anood). Hiinast pärit odav mullaandur elas umbes nädala. Isegi tsingitud nael oli kuu ajaga “ära söödud”. Roostevabast terasest sond hoidis paremini, kuid märkasin, et isegi see loobub. Versioon 6 lülitab sondi sisse ainult 1 minutiks iga tund (ja kogu aeg jootmise ajal), vähendades seega oluliselt erosiooni (~ 16 minutit päevas vs 24 tundi ööpäevas).

Idee:

Töötage välja taimede jootmissüsteem, millel on järgmised võimalused:

  1. Mõõtke mulla niiskust
  2. Ettemääratud "madala" niiskuse märgini jõudmisel lülitage veepump sisse ja kastke taimi, kuni saavutatakse "kõrge" niiskuse märk
  3. Kastmist tuleks teha mitmel korral, eraldades tegevusetuse perioodid, et vesi saaks pinnasest küllastuda
  4. Süsteem peaks öösel "une" ja "ärkamise" vahel deaktiveeruma
  5. "Ärkamise" aeg tuleks nädalavahetustel kohandada hilisemale väärtusele
  6. Süsteem peaks pidama pumpamiskäikude logi
  7. Süsteem peaks kuvama praegust mulla niiskuse näitu
  8. Süsteem peaks kuvama viimase pumba töötamise kuupäeva/kellaaja
  9. Kastmisparameetrid peaksid olema reguleeritavad ilma ümberprogrammeerimiseta
  10. Peatage pumpamine ja näidake veateadet, kui pumba töötamine ei muuda niiskust (veetase või anduriprobleemid), vältides seadme üleujutamist ja vee lekkimist
  11. Süsteem peaks niiskusanduri sisse/välja lülitama, et vältida metalli erosiooni
  12. Süsteem peaks torudest vett tühjendama, et vältida hallituse teket nende sees

Järgmisi parameetreid tuleks konfigureerida nuppude abil:

  1. Niiskus "madal", %, pumba käivitamiseks (vaikimisi = 60 %)
  2. Niiskus "kõrge", %, pumba töötamise peatamiseks (vaikimisi = 65 %)
  3. Ühe kastmisperioodi kestus sekundites (vaikimisi = 60 sekundit)
  4. Sihtniiskuse saavutamiseks tehtud proovimiste arv (vaikimisi = 4 jooksu)
  5. Sõjaväe aeg ööseks välja lülitamiseks, ainult tunnid (vaikimisi = 22 või 22:00)
  6. Sõjalise aja aktiveerimine hommikul, ainult tunnid (vaikimisi = 07 või 7 hommikul)
  7. Nädalavahetuse korrigeerimine hommikuseks aktiveerimiseks, delta tunnid (vaikimisi = +2 tundi)
  8. Praegune kuupäev ja kellaaeg

APIS kirjutab EEPROM -i mällu 10 viimase jootmise jooksu kuupäeva/kellaaja. Logi saab kuvada, näidates jooksude kuupäeva ja kellaaega.

Üks paljudest asjadest, mida APIS -ist õppisime, on see, et tegelikult ei pea te taimi iga päev kastma, mis oli meie rutiin, kuni nägime mulla niiskuse näitu 7 -segmendilisel ekraanil …

1. samm: OSAD JA TÖÖRIISTAD

OSAD JA TÖÖRIISTAD
OSAD JA TÖÖRIISTAD
OSAD JA TÖÖRIISTAD
OSAD JA TÖÖRIISTAD

APIS -i ehitamiseks vajate järgmisi osi:

Juhtkarp ja torud:

  1. Arduino Uno pardal: saidil Amazon.com
  2. 12v peristaltiline vedelpump silikoontorudega: saidil Adafruit.com
  3. 4X numbriline LED-ekraan Digitaaltoru JY-MCU moodul: saidil Fasttech.com
  4. DS1307 reaalajas kella purunemisplaadi komplekt: saidil Adafruit.com (valikuline)
  5. Microtivity IM206 6x6x6mm taktilüliti: Amazon.com -is
  6. Vero pardal: saidil Amazon.com
  7. L293D mootorijuhi IC: saidil Fasttech.com
  8. 3 x 10 kOhm takistid
  9. Arduino projekteerib plastkorpust: saidil Amazon.com
  10. 12v vahelduvvoolu/alalisvoolu adapter 2,1 mm toitepistikuga: saidil Amazon.com
  11. Bambusest vardad
  12. Turvis ja natuke supercement liimi
  13. Super pehme latekskummist toru 1/8 "ID, 3/16" OD, 1/32 "sein, pool-selge merevaigukollane, 10 jalga. Pikkus: saidil McMaster.com
  14. Vastupidav nailonist tiheda tihendiga okastoruliitmik, tee 1/8 "toru ID, valge, 10 tk: McMaster.com
  15. Vastupidav nailonist tiheda tihendiga okastoruliitmik, Wye 1/8 "toru ID, valge, pakendid 10: McMaster.com
  16. Nagu tavaliselt, juhtmed, jootetööriistad jne.

Niiskusandur:

  1. Väike puutükk (1/4 "x 1/4" x 1 ")
  2. 2 x roostevabast terasest akne eemaldamise nõela: saidil Amazon.com
  3. Mulla niiskuse tuvastamise anduri moodul: saidil Fasttech.com

2. samm: MULLANE NIISKUSOND V1

MULLA NIISKUSOND V1
MULLA NIISKUSOND V1
MULLANE Niiskusandur V1
MULLANE Niiskusandur V1
MULLANE Niiskusandur V1
MULLANE Niiskusandur V1

Pinnase niiskust mõõdetakse kahe maasse sisestatud (umbes 1 tolli kaugusel) metallist sondi vahelise takistuse alusel. Skeemid on kujutatud pildil.

Esimene proovitud sond oli see, mida saate osta mitmetelt Interneti -teenuse pakkujatelt (nagu see).

Nende probleem on see, et fooliumitase on suhteliselt õhuke ja laguneb kiiresti (ühe või kahe nädala jooksul), nii et loobusin kiiresti sellest tsingitud naelal põhineva tugevama anduri jaoks valmistatud eeltöödeldud materjalist (pls. Vt järgmist sammu)).

3. samm: MULDA NIISKUSESAND V2

MULLANE Niiskusandur V2
MULLANE Niiskusandur V2
MULLANE Niiskusandur V2
MULLANE Niiskusandur V2

"Järgmise põlvkonna" sond oli kodus valmistatud kahest tsingitud naelast, puitplaadist ja paarist juhtmest.

Kuna mul oli juba kulunud toodetud sond, kasutasin uuesti ühendusdetaili ja sealt pärit elektroonikamoodulit, põhimõtteliselt vahetasin lihtsalt pinnase komponendi välja.

Tsingitud küüned erodeerusid minu üllatuseks (küll aeglasemalt kui õhuke foolium), kuid siiski kiiremini, kui sooviksin.

Kavandati veel üks sond, mis põhines roostevabast terasest akne eemaldamise nõeltel. (vt järgmist sammu).

4. samm: MULDA NIISKUSESAND V3 "Katana"

MULLANE Niiskusandur V3
MULLANE Niiskusandur V3
MULLANE Niiskusandur V3
MULLANE Niiskusandur V3

Roostevabast terasest sond (mis meenutab samuraimõõka, sellest ka nimi) on praegu kasutusel.

Usun, et kiiret erosiooni võib seostada asjaoluga, et sond oli alati elektripinge all (24x7), olenemata sellest, kui sageli tegelik mõõtmine toimus.

Selle leevendamiseks muutsin mõõtmisintervallid 1 tunniks (lõppude lõpuks EI OLE see reaalajasüsteem) ja ühendasin sondi ühe digitaalse tihvtiga püsiva 5 v asemel. Praegu töötab sond 24 tunni asemel ainult ~ 16 minutit päevas, mis peaks selle eluiga dramaatiliselt pikendama.

Samm 5: PÕHIMÕÕTE

PÕHILINE FUNKTSIONAALSUS
PÕHILINE FUNKTSIONAALSUS
PÕHILINE FUNKTSIONAALSUS
PÕHILINE FUNKTSIONAALSUS

APIS põhineb Arduino UNO plaadil.

APIS mõõdab mulla niiskust üks kord tunnis ja kui see langeb alla etteantud läve, lülitab pumba etteantud ajavahemiku jooksul ette kindlaksmääratud arv kordi, mis on eraldatud küllastusintervallidega.

Kui niiskuslävi on saavutatud, naaseb protsess kord tunnis mõõtmisrežiimi.

Kui soovitud niiskust ei ole võimalik saavutada, kuid alumine piir on saavutatud, on see samuti korras (vähemalt toimus kastmine). Põhjuseks võib olla õnnetu sondi paigutamine, kus see on niiskest pinnasest liiga kaugel.

Kui aga isegi alamniiskuse alampiiri ei suudetud saavutada, kuulutatakse välja veatingimus. (Tõenäoliselt sondi probleem või toiteämbris sai vesi otsa jne). Veateadetes magab seade 24 tundi ilma midagi tegemata ja proovib siis uuesti.

6. toiming: 7 SEGMENDI NÄITUS

7 SEGMENDI NÄITUS
7 SEGMENDI NÄITUS
7 SEGMENDI NÄITUS
7 SEGMENDI NÄITUS

TM1650 PÕHINE 7 SEGMENDI NÄITUS:

Algselt polnud APIS -il kuvamisvõimalusi. Ilma USB kaudu ühendamata oli võimatu öelda praegust mulla niiskustaset.

Selle parandamiseks lisasin süsteemile neljakohalise 7 segmendi kuva: saidil Fasttech.com

Ma ei leidnud kusagil selle mooduliga töötamiseks raamatukogu (ka mitte selle andmelehte), nii et pärast paaritunnist I²C pordi uurimist ja katsetamist otsustan ise draiveriteegi kirjutada.

See toetab kuni 16 -kohalisi kuvamisi (vaikimisi 4), võib kuvada ASCII põhimärke (pange tähele, et kõiki märke ei saa koostada 7 segmendiga, nii et tähti nagu W, M jne ei rakendata). punkti kuvamine moodulil, tähemärkide string (rohkem kui 4 tähe kuvamiseks) ja toetab 16 heledusastet.

Raamatukogu on saadaval arduino.cc mänguväljakul siin. TM1650 draiveriteek

Näidisvideo on saadaval siin

ANIMATSIOON:

Veejooksul rakendatakse natuke 7 -segmendilist animatsiooni.

  • Pumba sisselülitamisel töötavad ekraanil olevad digitaalsed punktid vasakult paremale, sümboliseerides veejooksu: jootmise animatsioonivideo
  • Küllastusperioodil jooksevad punktid ekraani keskelt väljapoole, sümboliseerides küllastust: küllastusanimatsioonivideo

Mittevajalik, kuid meeldiv puudutus.

7. samm: PUMP ja PUMPI JUHTIMINE

PUMP ja PUMPI JUHTIMINE
PUMP ja PUMPI JUHTIMINE
PUMP ja PUMPI JUHTIMINE
PUMP ja PUMPI JUHTIMINE

PUMP

Kasutasin taimede jootmiseks 12v peristaltilist vedelpumpa (saadaval siit). Pump tagab umbes 100 ml/min (mis on umbes 1/2 klaasi - seda on hea meeles pidada, kui seadistate veejooksu aja ülevoolu vältimiseks, ja see juhtus 8-))

PUMBA JUHTIMINE - L293D

Pumpa juhitakse L293D mootorijuhi kiibi kaudu. Kuna pöörlemissuund on eelseadistatud, peate juhtimiseks kasutama ainult kiibi lubamise tihvti. Suunatihvtid saab ühendada otse +5v ja GND alaliselt.

Kui te (nagu mina) polnud kindel, mis suunas pump läheb, saate siiski ühendada kõik kolm tihvti Arduinoga ja juhtida suunda programmiliselt. Vähem uuesti jootmist.

8. samm: KONFIGURATSIOON ja NUPUD

KONFIGURATSIOON ja NUPUD
KONFIGURATSIOON ja NUPUD
KONFIGURATSIOON ja NUPUD
KONFIGURATSIOON ja NUPUD

NUPUD:

Kasutasin kolme nuppu APIS -i seadistamiseks ja juhtimiseks.

Kõik nupuvajutused töödeldakse tihvtide katkestuste põhjal (PinChangeInt raamatukogu).

  • Punane (parempoolne) on nupp SELECT. See viib APIS -i konfiguratsioonirežiimi ja kinnitab ka väärtused.
  • Musta vasakpoolset ja keskmist nuppu (vastavalt PLUS ja MINUS) kasutatakse seadistatavate väärtuste suurendamiseks/vähendamiseks (konfigureerimisrežiimis) või praeguse kuupäeva/kellaaja ja viimase jootmise teabe kuvamiseks (tavarežiimis).

Kuna enamus ajast on ekraan välja lülitatud, siis "äratavad" kõik nupud APIS -i üles ja alles siis täidavad teisel vajutusel oma funktsiooni.

Ekraan lülitub välja pärast 30 -sekundilist tegevusetust (kui jootmine pole pooleli).

APIS jookseb käivitamisel läbi vaatamiseks konfiguratsiooniparameetrid: video

KONFIGURATSIOON:

APIS -il on neli konfigureerimisrežiimi:

  1. Seadistage jootmise parameetrid
  2. Seadistage reaalajas kell
  3. "Jõuga" kastmisjooks
  4. Vaadake üle kastmispäevik

KASUTAMISE PARAMETRID:

  1. Madal mulla niiskuslävi (alustage kastmist)
  2. Kõrge mulla niiskuslävi (lõpetage kastmine)
  3. Ühe kastmisperioodi kestus (sekundites)
  4. Kastmiskordade arv ühes partiis
  5. Mulla küllastusperioodi kestus ühe partii jooksul (minutites)
  6. Öörežiimi aktiveerimisaeg (sõjaväeline aeg, ainult tunnid)
  7. Öörežiimi lõppaeg (ainult sõjaväeline aeg, ainult tunnid)
  8. Nädalavahetuse kohandamine öörežiimi lõpuaja jaoks (tundides)

REAL AJAL KELLI SEADISTAMINE:

  1. Sajand (st 20 2015. aasta kohta)
  2. Aasta (st 15 2015. aastal)
  3. Kuu
  4. Päev
  5. Tund
  6. Minut

Pärast minutite kinnitamist seadistatakse kellaaeg sekunditega 00.

Seadistuste aeg on 15 sekundit, pärast mida kõik muudatused tühistatakse.

Salvestamisel salvestatakse parameetrid EEPROM -i mällu.

KASUTUSJUHENDUSE SUNNITAMINE:

Ikka pole kindel, miks ma selle rakendasin, kuid see on olemas. Pärast aktiveerimist lülitub APIS jootmisrežiimi. Kastmisrežiimile kehtivad siiski künnised. See tähendab, et kui sunnite jootma, kuid mulla niiskus on üle HIGH märgi, lõpetatakse jootmine kohe. Põhimõtteliselt toimib see ainult siis, kui mulla niiskus jääb LOW ja HIGH künniste vahele.

KASUTUSPÄEVA ÜLEVAADE:

APIS peab EEPROM -i mällu logi viimase 10 jootmise kohta, mida kasutaja saab vaadata. Salvestatakse ainult kastmisjooksu kuupäev/kellaaeg. Künniseid (sel ajal) ja HIGH künnise saavutamiseks kulunud jooksude arvu ei salvestata (kuigi järgmises versioonis võivad need olla).

9. samm: RTC: REAL AJALINE KELL

RTC: REAL AJAKELL
RTC: REAL AJAKELL

ÖINE REŽIIM

Kui APIS mind öösel äratas, tuli pähe mõte rakendada "öörežiim".

Öörežiim on siis, kui mõõtmisi ei toimu, ekraan on välja lülitatud ja jootmist ei toimu.

Tavalisel tööpäeval APIS "ärkab" kell 7 hommikul (seadistatav) ja siseneb öörežiimi kell 22:00 (seadistatav). Nädalavahetusel kasutab APIS äratuse viivitamiseks "nädalavahetuse reguleerimise" seadet (näiteks kella 9 -ni), kui nädalavahetuse kohandamine on 2 tundi).

RTC LÕHUTABEL vs "TARKVARA" RTC:

Kuupäeva/kellaaja jälgimiseks ja öörežiimide sisenemiseks/väljumiseks kasutasin riistvara RTC -d (saadaval siin).

Selle kasutamine on vabatahtlik, kuna visandeid saab koostada niinimetatud "tarkvara" RTC kasutamiseks (kasutades arduino millis () funktsionaalsust).

Tarkvara RTC kasutamise puuduseks on see, et APIS -i sisselülitamisel peate määrama kellaaja.

Muutsin standardset RTC raamatukogu nii, et see sobiks täpselt API -ga ja lahendaks ka millisekundilise ümbermineku probleemi. (Allalaadimiseks vaadake visandite sammu).

10. samm: KÕIK KOKKU ÜLES

KÕIKE KOKKU PANEMA
KÕIKE KOKKU PANEMA
KÕIKE KOKKU PANEMA
KÕIKE KOKKU PANEMA
KÕIKE KOKKU PANEMA
KÕIKE KOKKU PANEMA
KÕIKE KOKKU PANEMA
KÕIKE KOKKU PANEMA

Kogu süsteem (välja arvatud sond), sealhulgas pump, mahub Arduino Uno väikesesse kasti.

  1. TM1650 ekraan kasutab TWI -liidest, nii et SDA ja SDC juhtmed lähevad vastavalt Arduino tihvtidele A4 ja A5. Ülejäänud kaks juhet on +5v ja GND.
  2. RTC -plaat kasutab TWI -liidest, nii nagu eespool. (TM1650 ja RTC kasutavad erinevaid sadamaid, seega eksisteerivad nad rahulikult koos). RTC +5v tihvt on ühendatud arduino tihvtiga 12 (toiteallikaks on +5v asemel digitaalne pin). Ei mäleta, miks ma seda tegin, sa ei pea.
  3. L293D tihvtid on ühendatud järgmiselt: lubage (tihvt 1) asendisse D5 ja suunanupud 2 ja 7 vastavalt arduino tihvtidega D6 ja D7.
  4. NUPUD on ühendatud nuppudega D2, D8 ja D9 vastavalt SELECT, PLUS ja MINUS. (Nuppe rakendatakse allalastavate 10K takistitega-konfiguratsioonis "aktiivne-kõrge").
  5. PROBE mooduli +5v toide on ühendatud arduino kontaktiga 10 (perioodiliste mõõtmiste võimaldamiseks) ja sond analoogpistikuga A1.

MÄRKUS. Fritzingu skeemifail on lisatud githubi hoidlasse.

Samm 11: SKETCHES ja palju muud

SKETCHES ja palju muud
SKETCHES ja palju muud

Värskendus märtsis 2015:

  1. Lisatud funktsionaalsus torude tühjendamiseks pärast jootmist, et vältida hallituse teket (poiss! Mul on hea meel, et ma ei juhtinud L293D pumba pöörlemissuunda!)
  2. Ulatuslikum metsaraie sisaldab jootmisperioodi alguse ja lõpu kuupäeva/kellaaega, niiskuse algust ja lõppu ning seda, mitu korda pump kastmisprotsessi ajal sisse lülitas
  3. Vearutiini värskendati: seade lähtestatakse pärast 24 tunni möödumist veaolekusse sisenemisest
  4. Kompileeritud uuesti rakendusega TaskScheduler 2.1.0
  5. Erinevad muud veaparandused

Alates 18. novembrist 2015 uuendati APIS -i järgmiste lisafunktsioonidega:

  1. DirectIO teegi kasutamine kiiremaks ja lihtsamaks nööpnõelte vahetamiseks
  2. Ajavööndi teegi kasutamine EST ja EDT vahel õigeks vahetamiseks
  3. Lisatud nupu tagasilöögiloogika, kasutades ainult TaskSchedulerit
  4. Lisatud nupu kordamise funktsioon (väärtused tsüklit, kui nuppu vajutatakse ja hoitakse, tsükli kiirus suureneb pärast 5 tsüklit)
  5. Kompileeritud uuesti IDE 1.6.6 AVR 1.6.9 -ga TaskScheduler 1.8.4 vastu
  6. Kolis Githubi

RAAMATUKOGUD:

APIS põhineb järgmistel raamatukogudel:

  • EEPROM - osa Arduino IDE -st
  • Traat - osa Arduino IDE -st
  • EnableInterrupt - saadaval Githubis
  • Ajavöönd - saadaval Githubis
  • DirectIO - saadaval Githubis

Minu poolt muudetud (hargnenud):

  • Aeg - saadaval Githubis
  • RTClib - saadaval Githubis

Minu poolt välja töötatud:

  • TM1650 - saadaval Githubis
  • TaskScheduler - saadaval Githubis
  • AvgFilter - saadaval Githubis

SKETCH:

APIS -i eskiisi uusim versioon, sealhulgas fritzeerimisskeemifail, on saadaval Githubis

Andmelehed:

  • L293D: siin
  • RTC väljalülituslaud: siin

12. samm: *** VÕITSIME !!! ***

*** ME VÕITSIME !!! ***
*** ME VÕITSIME !!! ***

See projekt võitis Dexter Industriesi sponsoreeritud konkursil Koduautomaatika teise auhinna.

Vaata järgi! WOO-HOO !!!

Koduautomaatika
Koduautomaatika
Koduautomaatika
Koduautomaatika

Koduautomaatika teine auhind

Soovitan: