Language Switcher Fallback

Kasvuhoone automaatika

Kui maakodus tahaks kasvuhoonet pidada, aga ise seal igapäevaselt ei viibi, siis tuleb ehitada midagi, mis sinu eest luuke avab ja sulgeb.

Video kõigepealt, aga allpool on ehitusprotsessist põhjalikumalt kirjutatud.

 

 

Olen lugenud paari variandi kohta, mis põhinesid kas õli ruumala või vee oleku muutumisel temperatuurile vastavalt (raamatust "Nupuka aiapidaja väikesed kavalused", Endel Holm). Tore, aga mul on selline tunne, et vähesed kasvuhooned kannatavad tormi käes lahtiste luukidega seista ja puhtalt temperatuuri järgi töötav süsteem võib sel puhul mitte reageerida vajalikul viisil.

Kuigi kuupäevi juures ei ole, on alljärgnevad tekstilõigud kirjutatud eri aegadel 2014 kevadest sügiseni, kuidas jupid parasjagu valmisid.

Plaan

Mul on äraproovimisel elektrilise luugiavaja idee, mille kesksed jupid oleksid põhimõtteliselt prügi staatuses kasutatud asjade hulgast pärit. Nimelt luuke liigutav mootor saab olema akutrellist, mille akud on ää surnd. Toide tuleks auto akust, mis automootorit pikalt vedada enam ei jõua, aga trell on talle hoopis lahjem koormus. Sisenditeks saab olema temperatuuri (ja niiskuse) sensor kasvuhoones sees, temperatuuri (ja niiskuse) sensor õues ning anemomeeter tuule kiiruse hindamiseks. Arduinot on hea lihtne programmeerida, seetõttu ajuks saab ATMega168 või midagi sellist, millele Arduino IDE suudab koodi kompileerida.

Oma kasvuhoone ehitasin juba luugiavamisüsteemile ette mõeldes. Sel on kummaski otsas kerge suur luuk, mis avaneb ülespoole. Minu süsteem koosneks trossidest, postidest ja blokkidest, mis luugi lahtise serva üles tõstavad. Trosside teisi otsi veaks trell keermelatti mööda liikuvast kinnitusest. Luukide tuule käes kinni püsimiseks peab neile siiski lisama raskused, kuna haake või muud taolist ei saa kasutada.

Doonor trell on juba hangitud osta.ee kaudu. Trelli eelis niisama mootori ees on, et vedava elemendi, keermelati kinnitamine on imelihtne ja laagritega on palju vähem jändamist. M8 latti kasutades sobib selle teist otsa hoidma rulluisulaager.

Auto aku on veel tarvis hankida. Kuna mul on juba varasemalt ehitatud mahtuvuslik akulaadija-desulfaator (mis see on?), mis on väga suurt ettevaatust nõudev seadeldis, aga  aitab ära koolenud pliiakusid ellu äratada, siis loodan sobiva aku kuskilt lausa niisama saada. Mitte igast akust ei saa selle laadijaga asja, aga mõni, mis autole liiga nõrgaks jäänud ja võibolla aastakese niisamagi seisnud, võtab natuke eluvaimu sisse küll.

Anemomeeter

Temperatuurisensorid on hiinast tellitud, alustan ehitust anemomeetrist, et kõik sisendid kokku saada. Kaalusin algul ka varianti, et tormi tuvastataks selle järgi, kui päevasel ajal on kahtlaselt pime - mis vajaks kell-kalendri mikroskeemi ja valgustundlikku takistit, aga leidsin lõpuks, et see on liiga kaudne ja võib liiga palju valepostiivseid tulemusi anda, kui inimese või looma, linnu vari sensorile langeb.  Seega anemomeeter.

Anemomeetri olulised osad on:

  • Tuule topsikud
  • Vardad, millele topsikud kinnituvad
  • Võll
  • Laager
  • Võlli pöörlemise andur, näiteks Hall'i efekti sensor ja magnet
  • Kinnitusdetailid võlli ja varraste (ülemine) ning tervikmehhanismi ja selle asukoha vahel (alumine)

Sattus kätte CD draivist pärit stepper mootor, millel tundus potentsiaali olla anemomeetri toorikuks. Sel on olemas laager, võll, Hall'i efekti sensor, magnet ja võrdlemisi normaalsed kinnitusvõimalused peal ja all.

Mootori lammutasin lahti ja eemaldasin mootori mähised, sest magneti juures need pidurdavad vaba liikumist. Juurde hankisin alumiiniumist vardad ja mingid toiduainetopsikud. Lisatavate detailide kaalu suhtes kavatsen olla nõudlik, sest laager oma algses funktsioonis kandis ainult CD-plaadi raskust ja väikest vedru vastusurvet.

Hall'i sensorid olid ilma tähistuseta, peale mootori tükeldamist kaardistasin multimeetri abiga nende ühendused ning sain teada, millised kaks väljaviiku peavad olema toitepinge või maa, kuna need olid kõigi sensoritega ühendatud. Halli sensoritel võib olla üks või kaks väljundit, nendel on kaks, pöörlemiskiiruse hindamiseks piisab ühe jälgimisest küll. Jootsin toiteotstele ja ühele suvalisele väljundile juhtmed külge. Ühendasin need arduinoga ja panin käima AnalogReadSerial koodinäite (tundus mugavam, kui multimeetri jälgimine, ja ostsilloskoopi mul käepärast pole). Asi töötas olenemata sellest, kumba pidi toide oli ühendatud. Kummaline, sest Hall'i sensoritel peaks sees olema võimendid, mis kindlat toite polaarsust tahaksid, aga kontrollisin veelkord - mõlemat pidi töötab. Magneti pööramine kutsus esile väikese väljundpinge muutumise, nagu peab. Surkisin ka teisi väljundeid ja leidsin, et kahel Hall'i sensoril kolmest oli väljund üsna äärmuse lähedal ja varieerus magneti asendiga vähe, aga ühel oli skaala keskpaigas ja varieerus rohkem. Jootsin juhtme sinna ümber.

Järgmiseks lisasin operatsioonivõimendi komparaatorina ja potentsiomeetri, et väikese pingevarieeruvuse asemel saada digitaalsignaalina loetavaid impulsse. Paigutasin skeemi kohe sellisesse kohta, kuhu ta lõplikult jääb, aga lisasin 3 asemel 4 isast pinheaderit - signaal, maa, toide, maa. Lõppversioonis ühenduvad kolm esimest, aga teine maa pistik laseb testimis- ja seadistusfaasis lükata otse sinnasamma mingi toite ja LEDi ning mugavalt väljundi pulseerimist jälgida (takistiga kokkujoodetud LEDe on mul robootika katsetuste aegadest). LEDi pealt nägin ära, et ühe täispöörde jooksul teeb komparaatori väljund 6 high-low tsüklit.

Vahepeal panin anemomeetri peamised mehaanilised osad ka kokku. Problemaatilisem, kui ma oodanuks, oli varraste kinnitamine CD draivi "hoidiku" külge. Sinna ei mahtunud kuidagi poldid ära. M4-d olid liiga jämedad, aga M3-de pead jälle liiga väljaulatuvad. Ja aukude puurimine läbi nende kahe metalldetaili oli pikk nüri töö (võibolla oli nüri hoopis puur...) Kuna poldid ei mahtunud, siis tõmbasin asja alustuseks traadiga kokku. Võibolla saan ta jäigemaks "mütsi" lisamisega, mis võlli ja elektroonikat katma hakkab, võibolla leian mingi muu kavalama kinnitusvahendi, jõuab veel ümber teha küll. Vardad tegin alumiinium proofiilist (ehituspoest 0,8€ eest saab), seda oli lihtne käevahel kõveraks painutada, nõnda et "müts" võimalikult hästi ilmastikuõrnasid juppe kataks. "Mütsi" ennast veel otsin.

Käisin tuulisemas kohas katsetamas, ja töötabki! Video ka. Seda on halvasti näha, aga LED vilgub. (Arduino on seal maas seetõttu, et kasutasin selle 5V regulaatorit, muudmoodi ta veel asjasse ei puutu.)

 

Energiakulu arvutused

Väga ümmargused arvutused, kui palju süsteem voolu võtaks ja kui tihti akut laadima pean:

12V akutrell võtab kerge, ühtlase koormuse juures 3-4 amprit (allikas: minu enda mõõtmised)
Luukide avamiseks või sulgemiseks kuluv tööaeg ... ütleme 1 minut operatisoon. Enamikul päevadel avatakse üks kord ja sultakse üks kord, mõni päev tormi või muu ilmamuutuse tõttu paar korda, ütleme keskmise 2,5 operatsiooni päevas. Energiat kulub mootoris päeva kohta 4A * 2,5 * 1/60h = 0,17Ah

Kontrolleri voolutarve. Leidsin allika, kus väidetakse, et barebones Arduino voolutarve on 6 mA, kui see midagi ei tee, aga ei ole ka magamisrežiimil (http://hwstartup.wordpress.com/2013/03/11/how-to-run-an-arduino-on-a-9v-...). Võtame ümmarguste aervutuste jaoks kontrolleri enda voolutarbeks 25 mA tegustemise ajal ja magavas olekus 100 uA - see on küll korraliku varuga. Energiakulu vastavalt 5V*0,025A = 125mW ja 5V*0,0001A = 0,5 mW.

7805 lineaarse toiteregulaatori energiakulu.
(sisendpinge - 5V)* väljundvool -> (12-5)*0,025 = 175 mW aktiivses olekus, (12-5)*0,0001 = 0,7 mW kontrolleri magavas olekus.

Kontroller ja regulaator kahepeale kokku vastavalt olekule 0,3W ja 0,0012W.

12 voldisest pingeallikast sellise võimsuse võtmine tähendab, et voolu suuruseks on I = P/V  0,3/12=0,025A ja 0,0012/12=0,0001A.

Aktiivses olekus peab kontroller veetma ööpäevas 2,5 minutit akende asentit muutes ja 48 korda (iga poole tunni tagant) mõõtmisteks 5 sekundit (anemomeetrile tasub natuke aega anda). Kokku ca 5 min. Ööpäeva voolutarve 5/60/24*0,025 + 24*0,0001 = 0,0025 Ah.

See autoaku peal mingi eriline kulu ei ole, isegi, kui ma alahindasin voolutarvet. Seega teen oma elu lihtsamaks (energiakulukat) 7805 regulaatorit kasutades.

Ära visatud autoakult, mille algne mahtuvus võis olla 40+ Ah, ootaksin ma peale ära viskamist ja mahtuvusliku laadija teraapiat näiteks huupi 10Ah mahtuvust. Sellega saaks süsteem toimida mahtuvus/päevakulu = 10/(0,17+0,0025) = 58 päeva. See tuli üllatavalt palju ... aga samas ma olen oma akutrelli juba pikka aega kasutanud sellise vana autoaku toitel, ilma seda kordagi laadimata. Loodetavasti ei teinud ma pingeregulaatori arvutustes mingit lolli viga.

Ja järgmisel suvel võiks võibolla ette võtta ka väikese tuulegeneraatori ekperimendi, mis süsteemi hooldusintervalli veel harvemaks venitaks, aga see ei ole praegu skoobis. Mul oleks hea meel saada valmis kasvõi kord nädalas laadimist vajav luugiavaja.

 

VÄRSKENDUS: Mõõdetud voolutarve (kood ilma DEBUG funktsioonita, st ei suhtle USB kaabli kaudu arvutiga ja kontroller on vähem aega ärkvel). Mu DIY Arduinol on toidet indikeeriv led, samuti SD kaardi moodulil - need võtavad voolu ka kontrolleri magamise ajal.

Kontrolleri magavas olekus 5mA st 12*0,005 = 0,06W - kohutavalt palju rohkem kui arvestatud. Tuleb need LEDid sealt ära korjata, sest väga suur osa peab olema nende kulu.
Mõõtmiste ajal 10mA või tsipa vähem. 12*0,01 = 0,12W - vähem kui varemalt arvutatud, aga see olek kestab ainult ca 12 sekundit iga mõõtmise kohta, seega pikas perspektiivis ei anna kokkuhoidu.

 

Luukide liigutamise mehhaanika

Luukide lahti ja kinnikerimist teeb akutrell, mille padrunisse on kinnitatud ühemeetrine keermelatt. Keermalati teine ots on kinnitatud laagriga. Latti mööda jookseb mutriga klots, millele kinnituvad luuke tõmbavad trossid. Trossid jooksevad üle blokkide, et sobivas suunas luuki sikutada.

Rulluisulaager on üsna lihtsalt leitav jubin, tema avasse mahub M8 keermelatt. Meeterkeermega lati halb külg on see, et keermed on üsna tihedalt ja katse näitas, et selle ühemeetrise lati peal mutri ühest otsast teise kerimiseks kulub mu trellil tervelt poolteist minutit. Plussiks aga on muidugi kättesaadavus.  Algul mõtlesin kasutada pikemat jätkmutrit, aga kuna tavalise suurusega mutrit oli lihtsam klotsi külge kinnitada (kui keevitamisvõimalust ei ole), siis võtsin ikkagi tavalise. Kogu selle keermelati kupatuse plussiks on aga väga väikese jõumomendi vajadus. Kui blokid ja tross vastavad valida, siis saaks ka palju-palju raskemaid asju nõnda liigutada. Ning tagasivajumine on samal põhjusel välistatud.

Latil jookseval klotsil peab olema veel mingi "rööbas" või juhtlatt või asi, mis hoiab teda koos keermelatiga ringi keerlemast, aga võimaldab piki keermelatti liikuda. Pika mõtlemise peale leidsin, et kõige lihsam on ehitada "vanker" mis sõidab mööda keermelatiga paralleelset seina. Kogu konstruktsiooni kooshoidmiseks oli mingit korpust vaja ja mul leidus paksu vineeri, millest tagasein teha. Ühtpidi keeramisel on üks ratas kõvemini maas, teistpidi keeramisel teine, aga üldiselt püsib asi seal seina lähedal. "Rataste" kasutamisega sain hõõrdumise väikeseks. Ideaalne oleks jäik tugilatt, mis istuks peaaegu lõtkuta igast küljest liikuva klotsi sisse, aga sellise hankimiseks mul ei tulnud ühtki head ideed. Minu tehtud kahest või õigemini korraga ühest punktist keerlemist takistava süsteemi häda on, et keermelatt ei ole ideaalselt jäik ja hakkab liikumisel võnkuma, kaasa võngub ka klots ning hüpleb oma tugiseina vastas. Müra on märgatav.

Klotsi jaoks kasutasin tammepuidu jupikest. Selgitasin välja selle mõõdu, kui kaugel kinnituspinnast saab olema akutrell-doonori pöörlemistelg ja märkisin klotsil sellest paar millimeetrit väiksema kauguse servast. Puurisin keermelatist jämedama augu. Võtsin poldi, millel pea sama suur, kui klotsi sisse mineval mutril, mähkisin natuke teipi ümber, et ta augu keskpaika satuks ja märkisin poldipea järgi mutri nurgad klotsile. Märkisin maalriteibiga mutri paksuse peenikesel puuril ja puurisin klotsi sisse augud, mis mutri nurkasid näitaks. Mutripesa peitliga väljalöömisel oli mul üks selle tööriistaga osavam inimene abiks, aga arvatavasti ka see ei ole eriti keeruline. Mutter mahtus üsna täpselt pesasse. Pikemaks kasutuseks oleks ikkagi hea liimi ka vahele panna, mida veel ei teinud.

Nüüd ühelt poolt takistab mutri väljakukkumist vähemalt sentimeetripaksune tammepuit. Teiselt poolt panin vastu metallitüki ja kinnitasin peenemate poltidega. Oleks saanud ka kruvidega, aga kaht polti saan lisaks kasutada trossiotste kinnitamiseks ja need kannatavat mitmekordset lahtivõtmist, kui vaja.

"Rataste" jaoks otsisin ühed suuremad seibid. Et metall-metalliga kontakt on minu intuitsiooni järgi väiksema hõõrdega kui metall-puiduga, siis lisasin väiksemad seibid - välimine on vajalik ka seetõttu, et kruvipea oli suure seibi augu jaoks liiga väike, sisemine on peamiselt hõõrdumise vähendamiseks. Päris telje ümber see asi pöörle, kuna seibi auk on omajagu suur, aga meenutab siiski veeremist liigub üsna kergelt. Kuna rattaid hoidvad kruvid kinnituvad väga klotsi ääre läehdale, siis siin on tammepuu tublisti kasuks võrreldes tavaliselt kättesaadava pehme broilerpuiduga. Kruve jõuga kinni keerata ei saa, selle kompenseerimiseks panin kruviauku liimi. Jääb loota, et seibiservad vineeri, mida mööda nad veerevad, väga ära ei räsi. Kui see peaks juhtuma, siis hangin mingid laiemad rattad.

Et keermelatt kindlamalt trellipadrunis püsiks, viilisin talle otsas kolm kanti sisse, iga padrunimoka jaoks. Laager kinnitub keermelati teise otsa kahe nylock ehk lukustuva mutriga. Laagri korpuse küljes hoidmiseks tegin augusae abil vineerist kolm kihti - kaks sellise auguga, mis laagri välisserva ära katab, aga mutter mahub sees pöörlema ja ühe sellise kuhu laager ise täpselt sisse istub. Vineer oli 8mm paks, aga laager on 7mm, seetõttu võtsin peitli abiga keskmisel tükil ühe spoonikihi maha. Nede tükkide lõikamisel tuleb ka tähele panna, et pöörlemistelg jääks seinast sama kaugele, kui trelli juures. Keskmise kihi kinnitasin tuginurkadega tagaseina külge, pealmine ja alumine on eemaldatavad kahe kruvi väljakeeramisega - see koht võib hiljem sättimist vajada.

Trellist viskasin välja (varuosade kasti) lüliti ja akuklemmide osa, sest releedest tulevad juhtmed hakkavad otse mootorisse ühenduma. Käepideme saagisin maha (läks ka varusade kasti - kes teab, mida ma järgmiseks ehitama hakkan...). Kinnitasin plastikkorpuse kruvide ja toetavate seibidega seina külge. Seejuures tuli ühele kruvile panna ka plastiku ja seina vahele seib, et liikuvad osad ilusti sirgel joonel oleks. Keerasin korpuse ta kruvidega kinni, aga kindlasti lisan väljapoole veel ühe tugeva kinnituse, sest ainult see plastik kaua sellist vibratsiooni ei talu.

Mehaanika ja elektroonika piirimailt käivad selle konstruktsiooni küljes ka piirangulülitid. Üleval kinnikerimise oma ja all lahtikerimise oma. Tegin neid lausa topelt - üks paar lüliteid on ühendatud mikrokontrolleriga ja nende lülitumisel peab kontroller kerimise peatama. Kuna need ei ole mul kõige töökindlamal viisil tehtud - kui juhe läbi lõigata, siis kontroller arvaks lihtsalt, et nuppu ei vajutata ja kogu lugu - siis tegin tagavarasüsteemi ka. Nimelt vedasin trelli ühe juhtme läbi nii klotsi ülemise kui alumise asendi juurest ja tegin sinna plekiribadest selllised kontruktsioonid, et kui klots oma tavaliselt lõpu andurist edasi sõidab, siis lükkab ühe plekiriba paigast ja katkestab sellega trellis voolu. Niimoodi ei saa trell kogu mu puusepatööd seal ära lõhkuda. Kontrolleriga ühendatud lõpu anduriks kasutasin suuremat sorti nupp-lüliteid, millele lisasin peale vetruvat materjali (see oli motoriiete kahtlase kvaliteediga kaitse, sarnaneb matkamadratsi materjalile). Vetruvust on vaja, sest peatumine ei toimu hetkega ja tugevalt surudes ilmselt läheks lüliti katki. Kui mul neid nuppe sahtlis poleks olnud, siis oleksin ostnud hoovaga lülitid, millele ei peaks midagi omaltpoolt juurde ehitama. Kui hädapeatuse lülitid plekitüki asemel osta lülitid, siis need peavad olema normaalasendis sisselülitatud tüüpi ja kannatama suuremat voolu, 5 amprit võiks ikka ära olla. Minu eksperimendi järgi akutrell võtab kerge koormuse ajal ühtlaselt töötades 3A, aga startimise hetkel üle 10A (vaata videot http://libahunt.ee/battery-drill-revival).

Elektroonika

Selle peatüki juures ma tunnen end võimetuna selgelt ja süstemaatiliselt asju seletama. Teen oma parima. Alustame sellest, et milliseid elektri/elektroonika juppe üldse vaja läheb:

  • Auto aku
  • Krokodilliotsikud või akuklemmid
  • Kaitsme pesa
  • 30A kaitse - võibolla sobib ka väiksem, võibolla sõltub doonor-drellist, mul 30A ja töö käigus läbi ei põlenud.
  • 12 voldine akutrell. Mootor peab korras olema, lüliti pole vajalik.
  • Relee moodul 4 releega, soovitavalt 12V mähiste pingega, aga skeemi väikesel muutmisel peaks toimima ka 5V oma. Neid saab dx.com või ebay-st hinnaklassis 6-8 EUR. Minu koodiga klapib "high level trigger" tüüp, kui on "low level", siis vaja koodi tsipa muuta.
  • Arduino kontroller - Arduino arendusplaadi hind jääb 20-30 euri kanti. Aga seda ei pea kasvuhoone sisse panema, peale prototüüpmist ja ärakatsetamist saab hankida ATMega328 kontrolleri ja mõned lisajupid, kasutada Arduinot uuele kontrollerile bootloaderi kirjutamiseks ja koodi üleslaadimiseks ning ainult selle kontrolleri sinna sisse panna. ATMega328, mis tuleb kasvuhoonesse jätta, maksab 5 EURi kanti (Oomipood) ja muud jupid mõne euri. Aga Arduino kalli arendusplaadiga saab siis muid asju edasi mängida. Ma ei jõua siin kohe kõike ära seletada, kuidas need Arduinod paljunevad, aga guugledamiseks vihje "barebones Arduino". Ja minu piltidel nähtava pool-arduino, ehitamise juhend on ka inglisekeelsena olemas - http://www.instructables.com/id/Small-form-factor-DIY-Arduino-on-stripboard/.
    Ühe tähtsa asja siiski ütlen DIY (odavate) Arduinode kohta, sest kui seda esimest korda uurima lähed, siis ilmselt tekib segapuder. Täismõõdus Arduino arendusplaat suhtleb arvutiga lihtsa USB juhtme kaudu - sellega programeeritakse ja jälgitakse seeriamonitori. Pisemas vormis Arduinod ja DIY Arduinod (ka minu oma) vajavad arvutiga suhtlemiseks FTDI kaablit. Aga FTDI kaabel funktsioneerib ainult siis, kui kontrolleril on peal bootloader - et DIY Arduinole seda peale saada, on vaja programmaatorit. Programmaatorina on võimalik kasutada töökorras Arduinot. Nüüd mine ja loe Arduino kohta, kui see teema on sulle uus.

Temperatuuriandurite osa:

  • Temperatuuri ja niiskussensorid DHT11 - 2 tükki. See on kõige odavam sensor, peaks jääma 2 EURi kanti tükk ebays või dx.com. (DHT22 ei tööta sama koodiga, aga kindlasti võimalik ühtima panna.)
  • 5 K takistid 2 tk.

SD kaarti osa (valikuline, seadeldis töötab ka ilma selleta):

  • SD-kaardi moodul. (Mooduli saab ka ise ehitada SD kaardi pesast, 3,3V regulaatorist ja mõnedest passiivkomponentidest.)
  • SD kaart (piisab väikesest mahust).

Lõpu andurid - et kontroller teaks, millal kerimine lõpetada:

  • Kaks mitte kõige pisemat nupp-lülitit, sellist, mis ei jää ON asendisse pidama. Pika vetruva hoovaga oleks paremad, kui minul leidunud.
  • Mingi vetruv materjal ... kui on nupp lülitid, siis tuleb sinna midagi juurde leiutada.
  • 10 K takistid 2 tk.
  • 10uF kondensaatorid 2 tk, minimaalselt 10V jaoks.

Hädakaitse lülitid - igaks juhuks. Kui kontrolleri ei peaks mingil põhjusel lõpu anduritele reageerima ja jätkuv kerimine ähvardab asja tükkideks lennutada on parem vooluahel lihtsalt katkestada.

  • Plekiribasid või  10A taluvad lülitid 2tk

Anemomeeter, mille ehitamist on kirjeldatud eespool:

  • CD draivi mootor (see, mis plaati keerutab) koos ta sees oleva Halli efekti sensoriga.
  • Operatsioonivõimendi LM358 (vajab ühepolaarset toidet, muundab Halli sensori analoogväljundi digitaalseks)
  • 10 K potentsiomeeter komparaatori seadistamiseks.

Muud, üldised:

  • Jämedad 2-soonelised juhtmed akust relee moodulini, relee moodulist trellini. 1-sooneline läbi kaitselülitite ning releede omavahel ühendamiseks.
  • Peenikesi mitmesoonelisi juhtmeid. Telefoni ja CAT5 kaablid on hea taaskasutusmaterjal.
  • Piikribasid (pinheader) ja kruviklemme et juhtmeid saaks lahti ühendada. (Kruviklemmidega saab ka peenikest trossi, mis aknaid sikutab, kinnitada.)
  • Prototüüpplaati, kus eri sensorite signaalijuhtmete juurde pistikuna (või otse juhtmetega) +5V ja GND ühendused teha. Lõpu andurite jaoks on vaja ka pull-up takistid ja häirete silumise kondensaatorid kuhugi kinnitada.

 

Komponente on paras posu ja mulle tundub lihtsam, kui üks suur elektriskeem, asju osade kaupa selgitada.

Mis kuhu Arduinoga ühendub?

Arduino I/O nr Ühendatud komponent  
0    
1    
2 DHT11 temperatuurisensor, kasvuhoones sees. 5K pull-up takisti.  
3 DHT11 temperatuurisensor, õues. 5K pull-up takisti.  
4 Anemomeeter - komparaatori väljund.  
5    
6 Relee, sulgemise + (nr1)  
7 Relee, sulgemise - (nr2)  
8 Relee, avamise + (nr3)  
9 Relee, avamise - (nr4)  
10 SD mooduli chip select  
11 SD mooduli MOSI  
12 SD mooduli MISO  
13 SD mooduli SCK  
A0    
A1    
A2    
A3 Lõpu andur sulgemisel. 10K pull-up takisti. Kondensaator (10uF?) GND-le, kontrolleripoolses otsas.  
A4 Lõpu andur avamisel. 10K pull-up takisti. Kondensaator (10uF?) GND-le, kontrolleripoolses otsas.  
A5    

 

Allpool piltidel on pull-up takistid ja moodulite ühendused joonistena näidatud.

Temperatuurisensorite pull-up takistid on parem panna sensori poolsesse juhtme otsa - sensorini peavad niikuinii jooksma lisaks infoedastus juhtmele ka +5V ja GND. Kokku kolm juhet.

Anemomeetrini on peavad jooksma 3 juhet: +5V, GND ja komparaatori väljund (Arduino sisend).

Lõpu anduritega oli igavene jama, kuni neil ei olnud kondensaatoreid - pikk anduri juhe toimis antennina ja korjas üles häireid, mistõttu kerimine liiga vara seisma pandi. Võimalik, et 10-st mikrofaradist oluselit väiksem väärtus toimiks ka, aga just sellised leidsin tol hetkel kolakastist, kui veaga maadlesin. Need igatahes toimivad minul. Nende lülitite pull-upid võivad olla Arduino poolses otsas (kulub vähem juhet), kondensaator peab seal olema. Kummagi lülitini jookseb Arduino sisendi ühendus ja GND - 2 juhet.

Relee moodulile on vaja anda mähiste toide 12V, GND, mis võib tulla läbi Arduino ja neli Arduino väljunti, iga relee jaoks. 12V käib VCC1 nimelisse kohta, jumperit VCC ja VCC1 vahel ei kasuta. 5V-d ei ole releede toimimiseks vaja minu katsete järgi. Aga kui testid midagi nõnda, et releedes voolu ei ole ja 12V on keerukas anda, siis 5V paneb indikaator LEDid põlema.

SD kaarti moodul on valikuline, selle ära jätmine ei sega midagi. Aga kui tahad seda kasutada, siis sellele läheb neli ühendust Arduino I/O-delt nagu tabelis ja +5V ja GND.

Arduino kood

Koodi saad alla laadida Githubist

https://github.com/libahunt/greenhouse ("Download ZIP" nupp paremal pool)

Lisaks on vaja teiste autorite librarysid:

  • DHT11 sensorite jaoks https://github.com/niesteszeck/idDHT11/archive/master.zip. (Sensorite jaoks on ka teisi librasid, see konkreetne nõuab, et sensorid oleksid ühendatud I/O-dele number 2 ja 3. Arduino Mega puhul on rohkem valikuid.)
  • SD kaarti jaoks https://github.com/greiman/SdFat/archive/master.zip - selle libra võtsin kasutusele, kui üritasin kompileeritud koodi ATMega168 peale mahutada, seal nimelt kriitiliselt vähe ruumi, kui hiljem loobusin sellest üritusest. Mõne koodirea muutmisega peaks saama SD kaarti tööle panna ka IDE-ga kaasas oleva sd libraga, aga ma hetkel ei viitsi seda ümber teha.

IDE versioon 1.0 puhul tuleb libraryd lahti pakkida ja paigutada kausta sketchbook/libraries ning IDE taaskäivituse järel on need olemas. Ma loodan, et ma nüüd midagi ära ei unustanud ja teised kasutatud librad on IDEga kaasas.

Minu kood on jagatud eri failide vahel (vahekaartid Arduino IDE-s). Kui kõike ei viitsi uurida-puurida, siis Settings on fail, mis tasub läbi lugeda, sest seal saab asju endale meelepäraseks muuta. Ja greenhouse.ino failis on seeriamonitoris debugimine sisse-välja lülitatav. Peale asjade korrasoleku kontrollimist tasub see välja lülitada, hoiab energiat kokku kontrolleri ärkvelolekut lühendades. (Koodi kommentaarid on inglise keeles, vabandan.)

Tänan tähelepanu eest ja soovin kõigile julget pealehakkamist ehitamisel-leiutamisel!

Update 2016

Aknad said korraliku vastukaalu, mis neid kinnises asendis hoiab.