Suoritamme kasvien automaattisen kastelun Arduinolla. Sisäkasvien automaattinen kastelu Arduinossa Mitä muuta voit tehdä


ArdAutomatic kastelujärjestelmä automatisoi sisäkukkien hoidon. Teemakaupoissa he myyvät tällaista mallia hulluun hintaan. Asia on kuitenkin sen arvoinen, koska kone säätelee itsenäisesti kasvin kosteuden "osia".

Tässä artikkelissa lukijaa pyydetään luomaan oma automaattinen kastelu arduinoon. Mikro-ohjain toimii tässä tapauksessa oheislaitteiden ohjausjärjestelmänä.

Tarvittavat työkalut ja oheislaitteet Arduino-mikrokontrolleriin perustuvan "Auto-watering" -projektin toteuttamiseen

Kastelulaite on laite, joka säätelee maaperän kosteutta. Laite lähettää tiedot kosteusanturille, joka ilmoittaa suunnitellulle automaattiselle kastelulle työn alkaessa. Ohjelman muodostamiseen käytetään ohjelmointikieltä C ++.

Taulukko tarvittavilla materiaaleilla:

Komponentti Kuvaus
Arduino Uno mikro-ohjain Alusta yhdistää oheislaitteet ja koostuu kahdesta osasta: ohjelmistosta ja laitteistosta. Kodinkoneiden luomiskoodi ohjelmoidaan ilmaisessa ympäristössä - Arduino IDE.

Jotta voit laatia ja toteuttaa ohjelman mikro-ohjaimella, sinun on ostettava USB-kaapeli. Itsenäistä toimintaa varten sinun tulee ostaa 10 V virtalähde.

Alustassa on 12 nastaa, joiden rooli on digitaalinen tulo ja lähtö. Käyttäjä valitsee jokaisen nastan toiminnot erikseen.

USB kaapeli Pakollinen "automaattisen arduinon kastelu" -järjestelmän suunnittelussa koodin kuljettamiseen.
Anturin liitäntäkortti - Troyka Shield Kortin avulla anturien oheislaitteet kytketään tavallisilla kaapeleilla. Reunoissa on 3-napaiset koskettimet - S + V + G.
Push-on riviliitin Toimii niputettujen johtojen puristimena. Rakenne kiinnitetään jousinapilla.
USB-sisääntulolla varustettu virtalähde

Maaperän kosteusanalysaattori

Ihanteellinen alustojen yhdistämiseen. Suunnittelussa on taskulamppu, joka osoittaa työn alkamisen.

Laite antaa signaalin, jos maaperä on kostutettu liikaa tai riittämättömästi. Liitäntä levyyn tehdään 3 johdolla.

● MAX syvyys upotuksessa maahan - 4 cm;

● MAX virrankulutus - 50 mA;

● Virtalähteen jännitteet - jopa 4 V.

Pumppu vesiuppoputkella Hallinta tapahtuu kytkimellä. Kaapelin pituus on jopa 2 metriä.
Voima-avain Suunniteltu avaamaan ja sulkemaan sähköpiiri. Jos käytät laitetta Arduino-automaattisen kastelun suunnittelussa, et tarvitse lisäkiinnitystä. Kytkentä pääpaneeliin tapahtuu myös 3 johdolla.
Liitosjohto - "isä-isä" Useat johdot yhdistävät oheislaitteita.
Liitosjohto - "äiti-isä" Johdotus kytkee myös oheislaitteet.
Sisäkukka Järjestelmä sopii erityyppisille sisäkasveille.

Kytkentäkaavio ja työalgoritmi projektissa "Avtopoliv", joka perustuu MK Arduinoon

Alla on algoritmi ja kytkentäkaavio projektista arduino-alustalla. Automaattinen kastelu on rakennettu seuraavasti:

  1. Asetamme anturin levyn mikrokontrolleriin.
  2. Yhdistämme kosteusanalysaattorin käyttämällä yllä kuvattua levyä samanlaiseen nastaan ​​- A0.
  3. Kiinnitämme anturin mikro-ohjaimeen:
    1. CS-nasta kytkeytyy nastaan ​​numero 9 levyllä.
    2. SPI-näytön nastat on kytketty saman levyn vastaavaan liittimeen.
  4. Aseta virtaavain nastan nro 4.
  5. Kytkemme kytkimen liittimien virtakytkimeen, merkitty kirjaimilla p +, p-.
  6. Nyt yhdistämme vesipumpun putkella riviliittimellä koskettimiin, joissa on kirjaimet l + ja l-. Vähitellen kaavio rakennetaan suunnittelijan eteen.
  7. Kiinnitetään kukkaruukuun kosketuspaneeli, joka analysoi kosteutta.
  8. Työnnä putken pää maaperään vedellä. Jos kasvin paino ruukun kanssa ei ylitä 2 kg, kiinnitämme letkun erikseen. Muuten vesipisarat voivat kaataa kukan.
  9. Laskemme vesipumpun vedellä täytettyyn pulloon.
  10. Yhdistämme rakenteen virtalähteeseen.

Alla tarjoamme kaksi vaihtoehtoista piiriä laitteellemme:

Anturi analysoi kosteustilan määrittämällä maan happamuuden. Ennen kastelulaitteen asettamista järjestelmään, laite on testattava ja kalibroitava:

  1. Kirjoitamme muistiin näytöllä näkyvät tiedot. Tässä tapauksessa anturi on juuttunut kuivaan astiaan. Tämä ilmoitetaan minimikosteutena.
  2. Kastelemme maata kasvin kanssa. Odotamme, että vesi kyllästää maaperän loppuun asti. Sitten kosketusnäytön lukema näyttää yhden tason. Saadut tiedot on tallennettava. Tämä tarkoittaa maksimaalista kosteutta.
  3. Muistikirjassa korjaamme vakiot HUM_MIN ja HUM_MAX kalibroinnin tuloksena saadulla arvolla. Rekisteröimme arvot ohjelmaan, jonka siirrämme sitten mikrokontrolleriin.

Yllä oleva kuvailee yhden kukan automaattisen kastelun suunnittelua. Sisäkasvien ystävien keskuudessa talo on kuitenkin kalustettu kukkaruukuilla. Toisaalta tämä kysymys näyttää monimutkaiselta: on tarpeen kytkeä useita pumppuja ja maaperän kosteusanalysaattoreita. Mutta on halvempi ja yksinkertaisempi ratkaisu automaattisen kastelun suunnitteluun.

Pumpun letkuun tehdään 25 senttimetrin reiät nastimella. Tuloksena oleviin reikiin työnnetään pallomaisia ​​kyniä. Tulos on:

  • kasviruukut rivissä ikkunalaudalla;
  • putki asennetaan kukkaruukuun niin, että vesi jokaisesta reiästä virtaa erilliseen ruukkuun;
  • voila: keksintö kastelee kaikkia kasveja samaan aikaan.

Käyttäjä valitsee itsenäisesti kasteluajan, mutta vain yhdelle kukalle. Kukat ovat usein saman painoisia ja kokoisia. Tämän seurauksena ruukkumulta kuivuu samassa ajassa. Tätä varten keksittiin yhdistelmämenetelmä: ruukkujen määrä jaetaan samanpainoisiin ja -kokoisiin ryhmiin.

Esimerkkikoodi Arduinolle "Auto-watering" -projektia varten

Siirrytään koodin ohjelmointiin:

// Lataa näytön kirjasto ja liitä se ohjelmaan #include "QuadDisplay2.h"; // Luo vakio, joka edustaa nastaa, johon vesipumppu on kytketty // #define VODPOMPA_PIN 4; // Luo vakio, joka ilmaisee kontaktin, johon liitimme // maaperän kosteusanalysaattori #define HUM_PIN A0; // Minimi kosteus #define HUM_MIN 200; // Maksimi kosteuden mukaan #define HUM_MAX 700; // Kastelutarkastusten välinen aika #define INTER 60000 * 3; // Ilmoita muuttuja, joka tallentaa kosteusarvon etumerkittömän int hum = 0; // Tähän muuttujaan tallennetaan aikaväli etumerkitön pitkä Aika = 0; // Ilmoita kohde QuadDisplay-luokasta ja välitä sitten kontaktin numerokilpi // CS QuadDisplay-näytön (9); // Luo menetelmä, joka vastaa näytön toiminnasta void setup (void) (// Suorita start () -menetelmä; // Ilmoita toiminto, joka vastaa vesipumpun lähdöstä // kosketa pinMode ( VODPOMPA_PIN, OUTPUT); // Näyttöön syttyy numero - 0 dis.displayInt (0);) // Luo menetelmä, joka vastaa nykyisestä kosteusarvosta void loop (void) (// Laske nykyinen kosteusarvo int humNow = analogRead (HUM_PIN); // Jos arvon ilmaisin ei ole sama kuin edellinen, niin ... if (humNow! = hum) (// Tallenna nyt saatu arvo hum = humNow; // Näytä arvo näytöllä displayInt (humNow);) // Aseta ehdot: jos määritetty käyttäjäaika on kulunut ja // maaperän kosteustila on tarpeettoman alhaisempi, niin ... if ((Aika == 0 || millis () - Aika> INTER) && hum< HUM_MIN) { // Даем сигнал о начале работы водяной помпы digitalWrite(VODPOMPA_PIN, HIGH); //Объявляем потом, длящийся 2 секунды delay(2000); // Завершаем работу помпы digitalWrite(POMP_PIN, LOW); // Ставим в значение переменной Time текущее время и добавляем 3 минуты Time = millis(); } }

Lisäksi voit katsoa pari mielenkiintoista videota kollegoiltamme.

Nykyään kasvien hoidon helpottamiseksi käytetään erilaisia ​​​​kastelujärjestelmiä, jotka mahdollistavat kunkin kasvityypin vesimäärän säätelyn, tiputuskastelun tai sprinklereiden käytön. Vettä säästyy, kasveille luodaan suotuisimmat olosuhteet kehitykselle. Tällaisten järjestelmien ainoa haittapuoli on jatkuvan valvonnan tarve, päälle / pois päältä kytkeminen tapahtuu manuaalisesti. Tämä on melko epämiellyttävää toimintaa, kastelun kesto kasvien tyypistä, ilmasto-olosuhteista ja tietystä järjestelmästä riippuen voi olla jopa kaksi tuntia. Tämän ongelman ratkaisemiseksi sinun tulee asentaa kasteluajastin painovoimajärjestelmiin.

Ensinnäkin sinun on selitettävä "painovoimajärjestelmien" käsite, muuten joissakin lähteissä voit löytää hauskoja selityksiä niiden toiminnan periaatteista ja täydellisen hydrodynamiikan ymmärtämättömyyden puutteesta.

Automaattiset kastelujärjestelmät puutarhaan - kaavio

Jotkut asiantuntijat väittävät, että painovoimajärjestelmien kasteluajastimet ovat niin hyviä, että ne voivat toimia 0-6 ilmakehän vedenpaineella. Ne toimivat nollapaineessa, vain mitään ei kasteta. Painovoima ei ole fyysinen käsite, vaan puhtaasti jokapäiväinen käsite. Ja se ei tarkoita paineen puuttumista, vaan jatkuvasti toimivien vesipumppujen puuttumista. Painovoimajärjestelmissä pumppu syöttää vettä vain varastosäiliöön, joka sijaitsee jonkin matkan päässä maasta. Veden ylätason ja sen poistumispaikan välisen korkeuseron vuoksi syntyy painetta, tämä paine saa vesivirran liikkumaan.

Miksi ajastimia käytetään useimmissa tapauksissa painovoimajärjestelmissä? Koska ne eivät voi toimia korkeissa paineissa, niiden sulkuventtiilit ovat liian hauraita ja niiden käyttömekanismi on heikko. Useimmissa laitteissa veden enimmäispaine ei voi ylittää 0,5 atm. Tällaisella paineella vesisäiliön tulee olla viiden metrin etäisyydellä maan pinnasta. Suurimmassa osassa kastelujärjestelmiä on varastosäiliöt, jotka sijaitsevat paljon alempana.

Ajastintyypit

Tällä hetkellä ostettavissa on kolmenlaisia ​​ajastimia:

  • mekaaninen. Yksinkertaisimmat ovat puoliautomaattiset ohjausjärjestelmät. Päällekytkentä tapahtuu manuaalisesti, sammuu automaattisesti tietyn ajan kuluttua (enintään 120 minuuttia). Ei vaadi virtalähdettä, sulkuventtiili on jousikäyttöinen. Edut ovat alhaiset kustannukset ja korkea luotettavuus. Haitat - et voi tulla toimeen ilman ihmisten läsnäoloa päälle kytkemisen aikana;

  • elektroninen mekaanisella ohjauksella. Kastelutilat ovat täysin automatisoituja, kasteluaikataulua voidaan säätää seitsemän päivän ajaksi, kastelun kesto on jopa 120 minuuttia. Edut - suhteellisen alhaiset kustannukset, helppo ohjelmointi ja hallinta. Haitat - kyvyttömyys liittää lisälaitteita;

  • elektroninen ohjelmoidulla ohjauksella. Uusimmissa laitteissa on mahdollisuus asettaa jopa 16 erikoistoimintoa. Haitat - korkeat kustannukset. Lisäksi kouluttamattomien käyttäjien voi olla vaikeaa asentaa ohjelmia.

Mekaanisia ajastimia käytetään harvoin, useimmiten kastelujärjestelmiä ohjataan jollakin elektronisten laitteiden tyypeistä. Veden syöttöä säätelee solenoidi (sähkömagneettinen) venttiili tai palloventtiili.

Ajastin kastelulle 2 rivillä, mekaaninen "Expert Garden"

  1. Solenoidiventtiili. Tietyllä hetkellä sähkömagneettiseen kelaan syötetään virtaa, sähkömagneettisen kentän vaikutuksesta ydin vedetään solenoidiin ja estää veden virtauksen. Jos virransyöttö katkeaa, jousi työntää sydäntä ylöspäin ja putken aukko avautuu. Ajastimissa toimintaperiaate voidaan kääntää - ilman jännitystä venttiili sulkeutuu jousella, ja kun tapahtuu voimakas magneettikenttä, se avautuu. Tämän toimintaperiaatteen ansiosta akkuvirtaa säästyy. Solenoidiventtiilin toiminta voidaan erottaa ominaisesta napsautuksesta avaamisen / sulkemisen aikana.
  2. Palloventtiili. Avaaminen/sulkeminen tapahtuu sähkömoottorilla toimivalla vaihteistolla. Virran säästämiseksi se on myös jatkuvasti suljetussa asennossa, se avautuu vain sen ajan, jolloin järjestelmä on kytketty päälle kastelua varten. Palloventtiilillä varustetun ajastimen käytön aikana kuuluu lyhyt ääni sähkömoottorin ja vaihteiston toiminnasta.

Tärkeä. Heti kun on olemassa jäätymisvaara, ajastin on kytkettävä pois päältä. Miksi? Käynnistyksen aikana staattorin käämeissä ilmaantuu suuria virtoja, heti kun roottori alkaa pyöriä, virta putoaa toimintatiloihin. Pakkasten aikana palloventtiili voi jäätyä hieman, sähkömoottorin teho ei riitä katkaisemaan sitä. Tämä tarkoittaa, että käynnistysvirrat kulkevat käämien läpi pitkään, mikä johtaa väistämättä niiden ylikuumenemiseen ja oikosulkuun. Ja itse vaihdelaatikkoa ei ole suunniteltu merkittäviin ponnistuksiin, vetovaihteet voivat epäonnistua. Tällaiset toimintahäiriöt vaativat monimutkaisia ​​korjauksia tai laitteen täydellisen vaihtamisen.

Mekaaniset elektroniset ajastimet (haittalasityyppi)

Erittäin helppokäyttöiset, luotettavat ja kestävät laitteet. Kastelujärjestelmän toimintatilojen valitsemiseksi sinun on suoritettava seuraavat vaiheet:

  • ruuvaa irti ylempi läpinäkyvä muovikansi. Sinun on työskenneltävä huolellisesti, älä menetä tiivistetiivistettä, se voi pudota;
  • käytä vasenta vaihtokytkintä asettaaksesi järjestelmän päällekytkentätiheyden, enimmäisaika on 72 tuntia;
  • aseta oikealla vaihtokytkimellä tietty kasteluaika, enintään 120 minuuttia.

Tärkeä. Elektronisen laitteen alkuperäinen lähtölaskenta alkaa ajastimen käynnistämisestä. Tämä tarkoittaa sitä, että jos esimerkiksi haluat, että kastelu kytketään päälle säännöllisin väliajoin kello viisi aamulla, ensimmäinen ajastinasetus on tehtävä samaan aikaan. Jatkossa kastelujärjestelmän käynnistysaika ei muutu.

Valmistajat, joissa on ajastin, toteuttavat täydellisen liitossarjan erikokoisten muoviputkien tai joustavien letkujen liittämiseen. Ajastin toimii kahdella AAA 1,5 V AA paristolla.

Kasteluajastin - valokuva

Elektroniset ajastimet ohjelmistoohjauksella

Nykyaikaisemmissa laitteissa on huomattavasti edistyneemmät toiminnot. Toimitussarja sisältää sovittimet putkistojen ja erikokoisten joustavien letkujen liittämiseen. Ohjelmistohallinnan konfigurointi kulkee näin:

  • poista muovinen kansi. Se on kierretty melko tiukasti tuotantolaitoksessa, ja on tehtävä huomattavia ponnisteluja;
  • Paina Time-painiketta, ohjelman asennusparametrit näkyvät elektronisessa näytössä. Aseta nykyinen aika ja viikonpäivä, toiminto on vahvistettava painamalla Set-painiketta;
  • Siirry jokaiseen viikonpäivään vuorotellen, valitse elektronisen ajastimen aika ja kesto. Nämä parametrit tallennetaan koko käyttöajan;
  • haluttaessa laitteeseen voidaan konfiguroida jopa 16 erilaista ohjelmaa. Paina Prog-painiketta ja aseta sitten tarvittava määrä ohjelmia. Kaikki syötetyt tiedot on vahvistettava painamalla Set-painiketta.

Laitteen sisään on asennettu melko suuri kondensaattori. Se on suunniteltu ilmoittamaan kriittisestä akun purkautumisesta ja kytkemään ajastin autonomiseen virtatilaan. Kun akun varaus on vähissä, näyttöön tulee varoitussignaali. Akut voivat edelleen toimia ilmestymishetkestä 2-3 päivää kastelujärjestelmän tiheydestä ja kestosta riippuen.

Täysin autonomisessa tilassa lauhdutin voi tarjota ajastimen 3-4 päiväksi. Jos paristoja ei vaihdeta tänä aikana, ajastin peruuntuu. Sen jälkeen kaikki aiemmin asetetut kastelutilat poistetaan muistista, sinun on toistettava asennusvaiheet alusta alkaen.

Valmiustilassa ajastin kuluttaa enintään 1,2 mA, käytön aikana virrankulutus kasvaa 350 mA:iin. Nämä ovat hyvin pieniä arvoja, joten laite voi toimia pelkästään paristoilla vähintään kauden. Valmistajat jättivät tämän ajan tarkoituksella, kastelujärjestelmän vuotuisen rutiinitarkastuksen aikana ennen käynnistystä on suositeltavaa asentaa uudet akut.

On olemassa malleja ajastimista, jotka on suunniteltu toimimaan suurissa ja monimutkaisissa kastelujärjestelmissä. Niissä on useita venttiileitä, joiden avulla voit ohjata useiden erillisten vyöhykkeiden kastelutiloja, jokaiselle niistä on asetettu omat parametrinsa. Moniventtiililaitteet voidaan kytkeä 220 V jännitteeseen tai niissä voi olla enintään kahdeksan AAA 1,5 V paristoa.

Mitä tietoja tulee ottaa huomioon antureita määritettäessä

Kasvien viljelyolosuhteet riippuvat suurelta osin ajastinohjelman oikeasta asetuksesta. Mitä pitäisi ottaa huomioon?

Kastelualueen jakaminen erillisiin vyöhykkeisiin ottaen huomioon viljelykasvien tyypit. Jokaisella niistä on omat vaatimuksensa, joissakin tapauksissa sinun on ostettava moniventtiiliset ajastimet.

Hydraulinen laskenta perustuu maksimivedenkulutukseen. Ajastimen tulee ottaa huomioon tallennuskapasiteetti kokonaisuudessaan. Jos automaattista pumppausta ei ole, sinun on valvottava itsenäisesti veden läsnäolo ja tarvittaessa täytettävä säiliöt.

Kastelujärjestelmien asennuksen jäljityksen analyysi. Suuret erot yksittäisten kastelulinjojen korkeuksissa voivat vaikuttaa merkittävästi niiden tuottavuuteen. Kastelussa tulee pitää mielessä paitsi kasteluaika myös kasveille tänä aikana syötettävän veden määrä.

Ajastimen asennuksen jälkeen on suositeltavaa tarkistaa järjestelmän toiminta. Tätä varten asetetaan vähimmäiskytkentäjaksot, tarkistetaan venttiilikäyttöjen oikea toiminta. Jos ajastin on normaalitilassa, voit aloittaa tietyn ohjelmoinnin ja laittaa järjestelmän automaattiseen toimintatilaan.

Ajastinohjelman asennus on paljon helpompaa, jos ostat sen mukana lisää antureita.

Ajastimen lisäominaisuudet

Anturiavusteisen kastelun elektroniset ajastimet voivat suorittaa useita lisätoimintoja, mikä tekee kasvien kasvattamisesta entistäkin helpompaa kasvihuoneissa tai ulkona.

  1. Sadetunnistin. Tällaisia ​​laitteita käytetään kastelun asennuksen aikana avoimilla alueilla. Sadeanturi lähettää signaalin elektroniseen laitteeseen, että luonnossa on sadetta. Ajastin reagoi näihin signaaleihin ja ohittaa yhden kastelun, joka osuu samaan aikaan sadejakson kanssa. Anturi on säädettävissä sadealueella 3 mm - 25 mm. Tämän laajan valikoiman avulla voit säätää kastelumääriä tarkemmin sääolosuhteiden mukaan. Nopeutetun poistotoiminnon avulla voit lopettaa kastelun mahdollisimman lyhyessä ajassa sateen alkamisen jälkeen, laitteet eivät vaadi lisähuoltoa. Tuuletusrenkaan asetuksista riippuen dacha palaa valmiustilaan viiveellä. Palautusaika alkuperäiseen asentoonsa riippuu suoraan kosteudesta ja ympäristön lämpötilasta. Tämä mahdollistaa merkittävien vedensäästöjen saavuttamisen.
  2. Kalvopumppu. Se voidaan asentaa liitokseen ajastimella tai erilliseen koteloon, valvoo vesitasoa varastosäiliöissä. Kun vesimäärä laskee alle kriittisen tason, pumppu käynnistyy automaattisesti täydentämään varantoja. Säiliöiden täyttämisen jälkeen pumppu sammuu.
  3. Radiokanavan maaperän kosteusanturi. Nykyaikaisin laite helpottaa huomattavasti kasvien hoitoa. Asennettuna useisiin paikkoihin sänkyihin, se estää kastelun ajastimen, jos maaperän kosteus on korkea. Nykyaikaisimmat laitteet lisäävät maatalouskasvien satoa vähintään 10%.
  4. Vedenpuhdistussuodatin. Suorittaa korkealaatuisen vedenpuhdistuksen, pidentää merkittävästi ajastimen toiminta-aikaa.

Lisävalvonta- ja ohjauslaitteita voi ostaa yhdessä kasteluajastimen kanssa tai erikseen.

Video - Kasteluajastimet painovoimajärjestelmille

Jokin aika sitten ajattelin, että kastelu olisi kiva automatisoida maalla. Myös joidenkin muskan käyttäjien arvosteluilla oli tärkeä rooli tämän päätöksen tekemisessä. Mutta koska elektroniikka ei ole profiilini, päätettiin tehdä projektin laitteisto-osasta mahdollisimman yksinkertaistettua ja mahdollisuuksien mukaan tehdä ilman LUT:ta, levyetsausta ja muita hankaluuksia. Lyhyesti sanottuna halusin toteuttaa järjestelmäni eräänlaisena vakiokomponenteista koottuna rakentajana, mutta onnistuuko se vai ei, on sinun päätettävissäsi.

UPD: lisätty luonnos Arduinolle.

1. Toiveiden ymmärtäminen ja projektin ajatusten järjestäminen
Projekti suunniteltiin alun perin suunnilleen näin: 4 tehokasta sprinkleriä (tulevaisuudessa 8), sama määrä solenoidiventtiilejä, relemoduuli niille, 16x2 näyttö, reaaliaikakello ja Arduino aivoina.
Odotin, että venttiilien ohjaamiseen riittäisi joku yksinkertainen valikko, jonka kautta voi asettaa nykyisen ajan, kastelun aloitusajan ja työn keston.
Sitten ajattelin, että 8 arduiinin syötteen antaminen näppäimistölle oli liikaa. Ja yleensä, kaikki näppäimistöt eivät ole yhtä hyödyllisiä kaikkialla, missä on perusteltua käyttää vain digitaalista lohkoa; Loppujen lopuksi sinun ei tarvitse vain syöttää numeroita, vaan myös toteuttaa valikon navigointi.
Ja jos on, on parempi käyttää ohjaussauvaa - tämä on monipuolisempi ratkaisu kuin numeronäppäimistö, ja ohjauksesta tulee "intuitiivista" ... tietysti, jos se voidaan tehdä tällä tavalla ... ja näyttö, ja helmi-maaliskuussa aloin debugaamaan sprinklerin luonnosta.
Ohjelmisto-osan kehittämisen aikana alkuperäiseen projektiin tehtiin vielä useita muutoksia. Erityisesti lisäsin useita lämpötila-kosteusantureita ja manuaalisen venttiilin ohjausyksikön. Lisäksi suojatakseni moottorin joutokäynniltä päätin laittaa tuloon vesivirtausanturin moottorin hätäpysäyttämiseksi, jos virtaus ei ole pitkittynyt.
Miksi antureita on niin paljon? Kyllä, ne eivät vain ole kovin kalliita, tyhjät tulot jäivät taululle, ja lämpötilan ja kosteuden tunteminen eri osissa sivustoa on hyödyllistä. Ajattelin asentaa anturit kasvihuoneeseen, kadulle ja pumppuaseman kaivoon, sekä sijoittaa maaperän kosteusanturin ja maaperän lämpötila-anturin jonnekin puutarhaan.
Yleisesti ottaen näytän sinulle paremmin arduiinin antureiden ja nastojen taulukon

2. Tarvittavien komponenttien hankinta
Tässä on luettelo Kiinasta ostetuista järjestelmäkomponenteista (ostin niistä suurimman osan aliexpressistä, mutta otin pari erää Ebaysta - siellä oli halvempaa). Kaksi erää on jo poistettu myynnistä, joten linkkien sijaan niihin tulee tilannekuvia - jotta kiinnostuneet tietävät mitä etsiä.
1, hinta 6,36 dollaria (erä toiselta myyjältä, koska myyjäni poisti tämän anturin myynnistä)
1, hinta 0,74 dollaria
1, hinta 0,63 dollaria
1, hinta 1,16 dollaria
1, hinta 0,56 dollaria
1, hinta 1,79 dollaria
1, hinta 1,1 dollaria
1, hinta 0,66 dollaria
1, hinta 0,5 dollaria
1, hinta 1,35 dollaria
1, hinta 3,56 dollaria
1, hinta 0,84 dollaria
3, hinta 0,99 $ kappaleelta, vain 2,97 $
4, hinta 5,59 dollaria kappaleelta, vain 22,36 dollaria
4, hinta 3,62 dollaria kappaleelta, vain 14,48 dollaria. Analogeja on helppo etsiä
4, hinta 0,95 dollaria per pari, vain 1,9 dollaria
Internetin kokonaiskustannukset - 60,96 dollaria

Seuraavat tuotteet ostettiin paikallisesta rautakaupasta:
2 kelaa kasteluletkua 5/8 (kukin 30 m) - 540 000 Valko-Venäjän ruplaa eli noin 28 dollaria
8 kytkintä 1/2 - 112 000 BYN eli noin 5,8 dollaria
3 teetä 1/2 - 60 000 Valko-Venäjän ruplaa eli noin 3 dollaria
8 liitintä 15 * 16 - 92 000 Valko-Venäjän ruplaa eli noin 4,8 dollaria
Offline-kulut yhteensä - 804 000 Valko-Venäjän ruplaa eli 41,2 dollaria

On myös syytä mainita, mikä ei kuulunut tähän listaan ​​- jotkut asiat tästä listasta pääsivät minun käsiini shareware (vanha roska), joidenkin asioiden hinnat unohdin vain. Tämä:
40 metriä 4-johtimista signaalikaapelia lämpötila-anturien kytkemiseen;
40 metriä halvinta 2-johtimista kuparikaapelia 12 voltin siirtämiseksi solenoidiventtiileihin;
2 RJ-11-jakajaa, joita käytettiin lähtöinä lämpötila- ja kosteusantureiden liittämiseen, ja 4 anturikaapeleiden liitintä;
2 RJ-45-jakajaa talossa sijaitsevan ohjausyksikön yhdistämiseen pumpun vieressä sijaitsevaan rele- ja maa-anturiyksikköön sekä 4 kaapeliliitintä;
vanha kaapeli (kierretty pari) - 30-40 metriä, arduinan yhdistämiseen relyushkin kanssa;
liitin levykeaseman liittämiseen, juotettu vanhasta emolevystä, ja nauhakaapeli levykeasemasta;
vanha 24 voltin virtalähde;
huonekalulevyn leikkaus, jonka paksuus on 12-16 mm, järjestelmän laatikoiden valmistukseen.

En tehnyt kuvia halkaisijasta ennen käyttöä, ne näyttävät suunnilleen tältä:

3. Sellaisen tekeminen, jota ei ostettu
Jotkut asiat piti syystä tai toisesta tehdä itsenäisesti romumateriaalista. Yritän tässä kuvata mitä ja miten se tehtiin ja miksi se tehtiin näin eikä toisin.

3.1 Maaperän kosteusanturi(toivottavasti pitkäikäinen)
Kuten näette, ostoslistalla ei ole maankosteusanturia, vaikka se on ilmoitettu projektissa. Tosiasia on, että itse ajatus PCB:n hautaamisesta ohuilla metallinauhoilla maahan tuntui minusta melko harhaanjohtavalta, joten päätin löytää paremman tavan. Selaillut nettiä, löysin teemafoorumilta hyviä vinkkejä ja esimerkkejä. Yleensä päätin tehdä samoin kuin siellä sanotaan: 2 johdinta, vastukset ja 3-johtiminen lanka. Katodina ja anodina käytettiin yhtä polkupyörän pinnaa, joka purettiin armottomasti palasiksi. Tässä vertauksena lahjoittajan palaset ja kokonaisuus puhuivat


Juotamme johtoja, vastuksia ja pinnan palasia - yleensä teemme kaiken kuten foorumilla on kirjoitettu


Sitten kiinnitämme anodin ja katodin väliaikaisesti muovailuvahaan, jotta neulomme tiivistetään sulateliimalla


Seuraavaksi otettiin muottiin pieni kuppi vauvajogurttia, tein siihen reiän langalle, asensin varovasti rakenteen sisään ja täytin sen Ceresit CX-5 ankkurointiaineella.






Foorumin jäsenet suosittelevat kipsiä, mutta se ei ollut käsillä, uskon, että nopeasti kovettuva sementti ei ole huonompi.
Kuivattu - avoin






Valmiilla anturilla kävelin varmuuden vuoksi öljymaalilla pari kerrosta, jotta anturi mittaa maan kosteutta, ei betonipalan kosteutta.

Tämän megadlaitteen käyttäminen edellyttää esikalibrointia. Tämä tehdään alkeellisella tavalla: otamme kuivan maaperän, työnnämme siihen kotitekoisen anturin, tarkistamme ja kirjoitamme saadun kosteusarvon. Sitten kaadamme sinne niin paljon vettä, että muodostuu pieni suo, ja poistamme jälleen arvon anturista.
Nopeasti kalibroitu tällä foorumin luonnoksella:
#define PIN_SOIL_LEFT 6 #define PIN_SOIL_RIGHT 7 #define PIN_SOIL_HUMIDITY 0 void setup () (Serial.begin (9600); pinMode (PIN_SOIL_LEFT, OUTPUT); pinMode (PIN_SOIL_RIGHT, OUTPUtT); , HIGH); digitalWrite (PIN_SOIL_RIGHT, LOW);) else (digitalWrite (PIN_SOIL_LEFT, LOW); digitalWrite (PIN_SOIL_RIGHT, HIGH);)) void loop () (setSensorPolarity (true) ; viive (1000); int arvo1 = analoginen Read ( PIN_SOIL_HUMIDITY); viive (1000); setSensorPolarity (false); viive (1000); // kääntää lukeman int arvo2 = 1023 - analogRead (PIN_SOIL_HUMIDITY); reportLevels (arvo1, arvo2) ;) void reportLevels (int arvo1, int arvo2) (int avg = (arvo1 + arvo2) / 2; String msg = "avg:"; msg + = avg; Serial.println (msg);)
Minun tapauksessani anturin arvo oli hieman yli 200 kuivassa maassa ja hieman alle 840 märässä maassa.
Nyt meillä on tietyn maaperän vähimmäis- ja enimmäiskosteus, ne on syötettävä vastaaviin vakioihin pääpiirustuksessa. Siinä kaikki!

3.2 Virtalähde venttiileille
Kiinasta oli tietysti mahdollista ostaa tavallinen 12 voltin virtalähde, joka tuottaa vähintään 1 ampeerin, mutta isänmaan roskakorista löytyi kasa vanhaa romua laturista kuolleesta ruuvimeisselistä, joka antoi puolet ulos. ampeeria 24 voltin jännitteellä. Siksi ostettiin LM2596 buck-muunnin, joka integroitiin sitten onnistuneesti vanhaan lohkoon. En ottanut erillisiä kuvia prosessista, mutta tämä ei koske tätä arvostelua ... Tässä on muokattu lohko venttiilin kanssa, se kulkee esimerkkinä


Lohkon runkoon tehtiin reikä kätevää jännitteensäätöä varten. Nyt ruuvimeisselillä ja yleismittarilla voit asettaa minkä tahansa jännitteen välillä 5 - 24 volttia. Siitä tuli mielestäni aika hyvä. Valitettavasti napsautin Aloha_ alasmuuntimista... Mutta minun tapauksessani kaikki näyttää olevan kunnossa, ylikuumenemista ei havaittu.

3.3 Sprinkleritelineet
Et varmasti voi ostaa tätä tavaraa kaupasta! Koska sitä tehtiin 4 kpl erikoistilauksesta :) Vaikka täällä kaikki on yksinkertaista: puolen tuuman putki metrin korkuinen, alhaalta tehdään 90 asteen mutka ja 30-40 cm pitkä kulma hitsataan niin. että pidike voidaan kiinnittää maahan halutussa paikassa. Yläosassa langan tulee olla puoli tuumaa sisäpuolinen (minun tapauksessani on vain hitsattu holkki), alareunassa - koska se on mukavampaa kenelle tahansa. Minun tapauksessani on ulkopuolinen puoli tuuman kierre, mutta kuten käytäntö on osoittanut, olisi parempi olla sisäkierre, niin minun ei tarvitsisi ensin ruuvata kytkintä, sitten liitintä tai venttiiliä siihen ... Yleensä en ajatellut sitä etukäteen, joten sain lisäkustannuksia kytkimistä :(
Havainnollistavia kuvia pidikkeestä - täältä:




Ja hieman kauempana tulee kuva käytössä olevasta pidikkeestä.

3.4 Laatikot ohjausyksikölle ja releelle
Aluksi ajattelin sijoittaa kaikki polivaattorin osat yhteen laatikkoon ja varustaa sen lähdöillä venttiileihin (12 volttia), pumppuun (220 volttia) ja itse antureille. Sitten päätin kuitenkin murskata polivaattorin teho- ja heikkovirtaosat, ja releen napsauttaminen aikaisin aamulla olisi erittäin kyseenalaista nautintoa. Näin ollen arduino, ohjaussauva, painikkeet, näyttö ja reaaliaikainen kellolevy pysyvät "koti"-laatikossa, ja releet sijoitetaan laatikkoon ulkopuolelle, lähemmäksi moottoria ja venttiilejä.
Ohjausyksikön kokoamiseen tarvitsin huonekalulevyn, höyhenporat painikkeiden reikiin ja ohjaussauvan sekä palapelin reikiä varten näyttöä varten

Poraa, sahaa ja kokoa laatikko spoilerin alle













Seuraavaksi avaamme halkaisijat (puhelin ja kierretty pari), juotamme johdot niihin ja laitamme ne kuumasulateliimaan. Katso tästä tarkemmin






Näyttö ja reaaliaikainen kello yhdistettiin tällä tavalla yhdeksi kokonaisuudeksi


Ja sitten tämä rakenne kiinnitettiin juhlallisesti itsekierteittävillä ruuveilla laatikkoon. Myös joystick oli ruuvattu kiinni. Nyt ohjausyksikkö näyttää ulospäin tältä:


Jää vain heittää aivot laatikkoon - ja ohjausyksikkö on valmis.
Nyt huomio. Esteettejä, lapsia ja raskaana olevia naisia ​​kehotetaan ehdottomasti olemaan avaamatta seuraavaa spoileria... Koska et näe kauniita tauluja, joita Yurok, ksiman ja muut tunnetut henkilöt voivat tehdä. Mutta näet levyn asennuksen ChinaPodvalPromin parhaiden perinteiden mukaisesti: johdotus raitojen sijaan ja kuumasulatus, jotta kaikki ei hajoa. Siksi varoitan sinua vielä kerran: älä avaa spoileria! Ota sanani vastaan, tämä taulu toimii, mutta on parempi olla katsomatta :)

Spoileri, älä avaa sitä, siellä on uzhos ja kyshmar!

Siksi avasit sen, vai mitä? No, okei, ihaile... Älä heitä tomaatteja!









Ohjausyksikkö on kytketty releyksikköön kahdella kierretyllä parilla. "Aivojen" vuorovaikutukseen venttiilien ja moottorin kanssa riittää 5 ohjauslinjaa ja 2 linjaa lisää releen syöttämiseen (5 volttia ja maadoitus), mutta siellä on myös virtausmittari (virtaa on jo, joten vain 1 rivi tarvitaan), maaperän kosteusanturi (3 riviä) ja 4 LEDiä, jotka näyttävät venttiilien nykyisen tilan. Yhteensä 15 riviä 16 käytettävissä olevasta rivistä on käytössä.
Relelohkossa on itse releiden lisäksi sisäänrakennetut pistorasiat moottorille ja venttiilin virransyötölle sekä tavanomainen kytkin moottorin pakkokäynnistystä varten. Itse yksikkö on tehty samoista huonekalulevyn palasista kuin ohjausyksikkökin, mutta se näyttää tavalliselta puulaatikolta. Imuaukossa kaksi kierrettyä paria on johdotettu piirilevyyn moottorireleen, venttiilireleen, LEDien, kosteusanturin ja veden virtausanturin liittimien kautta. Seinään tehtiin harkitusti reiät johtimia varten venttiileihin, kytkimeen ja moottorireleen ohjattavaan pistorasiaan.


Liittimessä johdot tuodaan ulos solenoidiventtiileihin


Ulkona ruuvasin pistorasian moottorille, jota ohjasi arduino, ja kytkimen moottorin manuaalista käynnistämistä varten


Kaikki johdot reititetään ja tuodaan ulos tarvittaessa... näyttää siltä


Sisäseinään on ilmestynyt pistorasia 12 voltin virtalähteelle, se näkyy myös täällä


Valmiissa muodossa kaikki näyttää tältä:


Selitän hieman mitä ja miten. Koteloon syötetään virtaa, ja sisällä on piilotettu lohko 12 voltin venttiileille, moottorirele ja venttiilirele. Virta menee ulos moottoriin (pistorasiaan), ja myös kytkin moottorin manuaalista ohjaamista varten tuodaan ulos (se on rinnakkain releen kanssa). Lisäksi on mahdollista liittää maaperän kosteus- ja vedenvirtausantureita, mutta ne ovat tyhjiä. Miksi – kerron vähän tarkemmin.
4. Toiminnan kuvaus
Itse asiassa tässä on epätäydellinen sarja elektronisia komponentteja kokoonpanoa varten


Aluksi jotain tämän "mustekala" koottiin arduinasta ja pienestä joukosta oheislaitteita, juuri tätä ihmettä käytin luonnoksen virheenkorjauksessa


Minimi, kuten jo sanoin, päätettiin tehdä joystick-ohjaus, ja seuraavat vähimmäisvaatimukset valikkokohtia syntyivät:
1. Päivämäärän ja ajan asetukset
2. Kasteluaikataulun asetukset
3. Tiedot antureista
4. Pakotetun uudelleenkäynnistyksen mahdollisuus

Onnistuin toteuttamaan sen ja jopa pärjäsin englanninkielisen näytön 1602 kanssa - LCD_1602_RUS-kirjasto auttoi, mikä mahdollisti 8 kyrillisen merkin "tekemisen". Sen jälkeen englanninkielisiin kirjaimiin sekoitettuna oli mahdollista muodostaa venäjänkielisiä nimiä ruokalistakohdille, jotka ovat varsin ymmärrettäviä vanhuksille (vanhemmilleni). Lopullisen luonnoksen koko on vajaat 1400 riviä puristettuna 45 kilotavuun.
Kokoonpanon tulos:
Luonnos käyttää 19 626 tavua (63 %) laitteen muistista. Yhteensä 30 720 tavua on käytettävissä.
Globaalit muuttujat käyttävät 1 316 tavua (64 %) kasaa, jättäen 732 tavua paikallisille muuttujille. Enimmäismäärä: 2 048 tavua.

Onneksi muistin puutteesta ei ole varoituksia.
Itse luonnos ei ole vielä täällä, julkaisen sen ajan myötä. Haluan hieman täsmentää koodia :)
Mikä toimi ja mikä ei? No, mustekalalla kaikki sujui :) Valitettavasti elämä tekee omat säätönsä ja aivojen, releiden ja antureiden erottamisen jälkeen jokin lakkasi toimimasta... Ensinnäkin analogiset anturit. Valitettavasti nyt, kaapelien pituuden vuoksi, ne eivät toimi minulle - vastaavasti "MAA" -valikkokohdassa näkyy nolla lämpötila ja kosteus. Tiettyjä ajatuksia tämän korjaamisesta on, mutta toistaiseksi ei ole aikaa. En vieraile vanhempieni luona dachassa kovin usein, enkä tee vain sprinkleriä, vaan myös toista työmatkaa ... Joka tapauksessa, otan mielelläni vastaan ​​käytännön neuvoja lukijoilta.
Toiseksi virtausmittarin kytkeminen ei ollut mahdollista heti - tällä kertaa ei ollenkaan johtojen pituuden vuoksi. Laitoin sen hätäisesti moottorin sisäänkäynnille, heti takaiskuventtiilin jälkeen, kuten kävi ilmi - hänellä ei ole paikkaa siellä. Anturi ei ilmeisesti ole täysin tiivis, ja kun vesi nousee, ilmaa vuotaa kotelon mikrorakojen kautta, minkä seurauksena pumppu ei vedä vettä. Kun poistin sen, yritän laittaa sen pumpun ulostuloon - sen pitäisi toimia, mutta ehkä se vuotaa vähän.
Nyt työtoiminnallisuuteen. No, aikataulu on selvä - juuri sitä varten projekti aloitettiin. Mutta joskus sinun täytyy vain kytkeä sprinkleri päälle hetkeksi, ja tätä varten tein kaksi pakotettua kastelutilaa: rajoitettu ja loputon. Rajoitettu tila aktivoidaan painamalla painiketta lyhyesti, tällaisen kastelun kesto voidaan määrittää asetuksissa. Jos painat painiketta uudelleen, kastelu lopetetaan ennen aikataulua. Pitkä painallus käynnistää loputtoman kastelun - voit sammuttaa sen uudelleen painamalla painiketta.
No, ja kiva lisä - lämpötilan katselu kaivossa pumppausasemalla, kasvihuoneessa ja kadulla.
Kerran päivässä arduinan pakotettu uudelleenkäynnistys on suunniteltu.

5. Kiillotuskoneen kokoaminen
Teen tässä pienen poikkeaman ja annan vedenpainekomponenttien tekniset ominaisuudet.
Pumppu Puolalaisen Omnigenan JY1000:lla on valmistajan mukaan seuraavat ominaisuudet:
Tuottavuus: 60 l / min;
Suurin nostokorkeus: 50 m;
Tehonkulutus: 1100 W;
Enimmäisimusyvyys: 8 m.

Lisäksi löydettiin tällainen hyödyllinen kaavio.

tässä


Ja tietysti älä unohda, että tuottavuus riippuu suuresti kaivon syvyydestä ja suodattimien tukkeutumisesta.

Solenoidiventtiili nimetön, mutta löysin monilta sivuilta (esimerkiksi) jotain tällaista:
Jännite: DC 12V;
Virta: 0,5A;
Paine: 0,02-0,8 MPa;
Tuottavuus on 3-25 l/min.
Lisäksi on optimistinen lausunto: Veden paine: hydrostaattinen paine 1,2 MPa, joka kesti 5 minuuttia, ei repeämää, muodonmuutosta, vuotoa.... Nuo. 5 minuutissa venttiili kestää jopa huomattavasti korkeamman paineen kuin standardi "enintään 0,8 MPa".
Tässä näet venttiilin eri kulmista


Voin myös huomata, että testasin venttiiliä heikomman virtalähteen päällä ja se avautui ongelmitta 9 voltilla.
Ja jotta venttiilit toimisivat ilman ongelmia puutarhan kosteudessa, minun piti laittaa kekseliäisyyteeni ja löytää käyttöä vanhoille muovipulloille.
Hei Bonaqua!


Tässä on yksi venttiili sellaisissa vaatteissa, ehkä näet sen paremmin täällä

Esitys sprinkleri, on tietojen mukaan 700 - 1140 l / h tai noin 11,7 - 19 l / min nesteen paineessa 0,21 - 0,35 MPa.
Kuten näette, ihanteellisissa olosuhteissa pumppu tuottaa liian paljon virtausta, mikä on yksinkertaisesti fyysisesti mahdotonta "ylittää" venttiiliä, saati sitten sprinkleriä. Tulevaisuudessa sanon, että minun tapauksessani kaivo on kaukana ihanteellisesta eikä saavuttanut 60 l / min. Sitten ajattelin, että paine putoaisi myös moottorista kaukaisimpaan sprinkleriin menevän letkun pituuden takia (lähes 30 metriä), joten päätin olla murehtimatta asiaa liikaa. Sitten "tuotantotestien" aikana liitin kolme sprinkleriä moottoriin samanaikaisesti. Kävi ilmi, että ne valuvat hyvin heikosti, eikä edes paine riitä pyörimissuunnan muuttamiseksi. Se näytti tältä: sprinkleri pyörii, kunnes se osuu sektorin rajoittimeen, ja pyöriminen pysähtyy. Jos poistat sektorirajoittimen, niin ympyrässä pyöriminen on enemmän tai vähemmän ongelmatonta, mutta kastelussäde on 2-3 metriä. Heitin yhden sprinklerin pois - parani vähän ja yritettiin jopa pyörittää, mutta säde oli silti max 4 metriä. Mutta yksi sprinkleri toimii loistavasti - iskee hyvin pitkälle (mittanauhalla mitattuna suihkuttaa 9 metriä vain matkalla), eikä pyörimisessä ole ongelmia ...
Itse sprinklerit voidaan säätää tarpeidesi mukaan:
- katkaise suihku avaamalla suutinta vastapäätä oleva ruuvi;
- muuta suihkun kulmaa ja vastaavasti etäisyyttä nostamalla tai laskemalla suutinta vastapäätä olevaa levyä;
- vaihda kastelusektoria rajoittimilla tai poista rajoittimen lukko kokonaan.
Tässä lähikuvia "ohjaimista"








Sprinkleri pidikkeessä ja mukana tulevalla letkulla/langalla näyttää tältä:

6. Työ
Ohjausyksikkö pystyy näyttämään kellonajan lisäksi mitä tahansa hyödyllistä tietoa, kuten lämpötilan ja kosteuden. Siellä voit myös asettaa kastelun alkamisen ja keston aikataulun mukaan sekä kastelun keston painikkeella aktivoituna.
Lyhyellä painalluksella yhtä neljästä painikkeesta voit kytkeä kastelun päälle tietyksi ajaksi (asetettu asetuksissa), pitkä painallus kytkee päälle "lopettoman" tilan, ts. tietyn siiman kastelu voidaan sammuttaa vain samalla painikkeella tai se sammuu, jos siima on sammutettava aikataulun mukaisesti. Vaikka miksi toistan itseäni? Anna minulle dioja!
Täältä näet asetukset:











Tässä - tarkastelemme lämpötilaa ja kosteutta






Täältä saamme tietoa

Tältä anturikolhoosi itse asiassa näyttää maaoloissa. Kuisti


Pit


Kasvihuone


Nämä anturit eivät kerro vielä mitään, miksi - selitetty yllä



Ja lopuksi... Seitsemän ongelmaa - yksi nollaus:

Ja nyt - video, mihin voimme mennä ilman sitä.
1. Miniretki - mitä on kastelulaitteen valikossa. Anturit eivät olleet kytkettyinä, joten kaikki näkyy nolilla.


2. Polivaattorin asettaminen kytkemään päälle 2. ja 3. rivi yhden minuutin ajaksi


3. Miltä kastelu näyttää kokeeseen asetetun aikataulun mukaan


4. Miltä ajoitettu kastelu näyttää kastelulaitteen näytössä


5. Testaa kastelu painikkeesta - päälle ja pois päältä. En näytä sprinklerin työtä, mutta rehellisesti - kaikki toimii


6. Sprinkleri ja sen säätö: mikä kääntyy minne, kääntyy ja korjaa


7. Sprinklerin käyttö pienellä sektorilla lähietäisyydeltä

7. Vertailu markkinatarjouksiin
Venäjän markkinoilla saatavilla oleva vaihtoehto on Gardena-järjestelmä, jota myydään OBI:ssa. Voit ottaa ohjausyksikön hintaan 13 590 ruplaa ja vielä 3 990 ruplaa, lopullinen hinta on vain 29 550. Se on tietysti hienoa ja näyttää kauniilta. Mutta antaa melkein 500 amerikkalaista rahaa ... Ja ymmärtääkseni - tässä ei ole mukana sprinklereitä, liittimiä ja letkuja! Okei, katsotaan lisää.
Taas Gardena on samassa myymälässä, mutta siellä on jo 6-linjainen järjestelmä. Se koostuu vedensyöttöajastimesta 11190 ruplaa ja 6990 ruplaa - yhteensä 18180 eli lähes 300 Bakua... Letkut ja sprinklerit, kuten edellisessä tapauksessa, on ostettava erikseen.
Ebay tarjosi välittömästi ohjausyksikön ja venttiilit noin 60 dollarilla plus ~ 35 dollarin toimituskulut - loppujen lopuksi melkein sata. Vaihtoehtoisesti Rain Bird ESP-RZX Series 4- ja Hunter XC 400i -ohjaimet (ilman venttiileitä) ovat saatavilla hintaan, joka on vähintään 75 dollaria ilman toimituskuluja. Venttiilit ovat erilliset; esimerkiksi metsästäjän hinta on 22 taalaa kappaleelta, tukkumyynti on halvempaa.

Ja jälkisanan sijaan. Onko järkevää minun vaivautua keksimään polkupyörää, jos se on jo markkinoilla? Mielestäni kyllä. Mitä sain tästä henkilökohtaisesti? Ensinnäkin merkittävät säästöt, toiseksi kyky toteuttaa järjestelmä haluamallani tavalla, ja kolmanneksi se oli minulle vain mielenkiintoista. Toteuta projektisi ja älä pelkää tehdä virheitä. Vain se, joka ei tee mitään, ei erehdy!

Nyt luvattu koodi arduinalle. Voit ladata sen, lisäsin kommentteja tekstiin, jos mahdollista, mutta nimenomaan tässä koodissa virtausmittari ei ehkä toimi (tai ei toimi oikein).

Aion ostaa +101 Lisää suosikkeihin Pidin arvostelusta +128 +247

Haluatko, että kasvisi kommunikoivat, kun ne tarvitsevat kastelua? Tai vain pitää sinut ajan tasalla maaperän kosteustasoista?

Tässä artikkelissa tarkastellaan automatisoitua kasteluprojektia maaperän kosteustason anturilla:

Maaperän kosteusanturin yleiskatsaus

Nämä anturit on helppo kytkeä. Kaksi kolmesta liittimestä ovat teho (VCC) ja maadoitus (GND). Anturia käytettäessä on suositeltavaa katkaista ajoittain virtalähde mahdollisen hapettumisen välttämiseksi. Kolmas lähtö on signaali (sig), josta otamme lukemat. Anturin kaksi kosketinta toimivat muuttuvan vastuksen periaatteella - mitä enemmän maaperässä on kosteutta, sitä paremmin kontaktit johtavat sähköä, vastus putoaa, signaali SIG-koskettimessa kasvaa. Analogiset arvot voivat vaihdella riippuen syöttöjännitteestä ja mikro-ohjaimesi analogisten nastojen resoluutiosta.

Anturin liittämiseen voidaan käyttää useita vaihtoehtoja. Alla olevassa kuvassa näkyvä liitin:

Toinen vaihtoehto on joustavampi:

Ja tietysti voit juottaa koskettimet suoraan anturiin.

Jos aiot käyttää anturia asunnon ulkopuolella, kannattaa lisäksi harkita kontaktien suojaamista lialta ja suoralta auringonvalolta. Voi olla syytä harkita kotelointia tai suojapinnoitetta suoraan kosteusanturin koskettimiin ja johtimiin (katso alla oleva kuva).

Maaperän kosteustason anturi, jossa on suojapinnoite koskettimissa ja eristetyt johtimet liittämistä varten:

Ongelma maaperän kosteustason anturin herkkyydestä

Yksi tämäntyyppisten antureiden haitoista on niiden herkkien elementtien hauraus. Esimerkiksi Sparkfun ratkaisee tämän ongelman käyttämällä lisäpinnoitetta (Electroless Nickel Immersion Gold). Toinen vaihtoehto anturin käyttöiän pidentämiseksi on syöttää siihen virtaa suoraan lukemia otettaessa. Arduinoa käytettäessä kaikki rajoittuu HIGH-signaalin syöttämiseen nastaan, johon anturi on kytketty. Jos haluat käyttää anturia suuremmalla jännitteellä kuin Arduino tarjoaa, voit aina käyttää ylimääräistä transistoria.

Maaperän kosteudenhallinta - Projektiesimerkki

Alla olevassa projektissa käytetään kosteustason anturia, Arduino-levyn analogia - RedBoard ja LCD-näyttöä, joka näyttää tiedot maaperän kosteustasosta.

SparkFun maaperän kosteusanturi:

Punainen johto (VCC) liitetään Arduinon 5 V:iin, musta johto maahan (GND), vihreä johto signaaliin analogiseen nastaan ​​0 (A0). Jos käytät erilaista analogista nastaa Arduinossa, muista tehdä tarvittavat muutokset alla olevaan mikrokontrolleriluonnokseen.

LCD-näyttö on kytketty 5 V:iin, maahan ja digitaaliseen nastaan ​​2 (voit myös muuttaa ja tehdä muutoksia koodiin) kommunikoimaan mikro-ohjaimen kanssa sarjaliikenneprotokollaa käyttäen.

On syytä huomata, että jos haluat pidentää anturin käyttöikää, voit kytkeä sen virran digitaaliseen nastaan ​​ja syöttää siihen vain tietoja luettaessa ja sammuttaa sen sitten. Jos anturissa on jatkuvasti virtaa, sen anturielementit alkavat pian ruostua. Mitä enemmän maaperässä on kosteutta, sitä nopeammin korroosio tapahtuu. Toinen vaihtoehto on kiinnittää muuntimeen Paris-kipsiä. Tämän seurauksena kosteutta pääsee sisään, mutta korroosio hidastuu merkittävästi.

Arduino ohjelma

Luonnos on melko yksinkertainen. Jotta voit siirtää tietoja LCD-näytölle, sinun on sisällytettävä Software Serial -kirjasto. Jos sinulla ei ole sitä, voit ladata sen täältä: Arduino GitHub

Lisäselvityksiä annetaan koodin kommenteissa:

// Esimerkki maaperän kosteustason anturin käytöstä LCD-näytöllä.

SoftwareSerial mySerial (3,2); // nasta 2 = TX, nasta 3 = RX (ei käytössä)

int thresholdUp = 400;

int thresholdDown = 250;

int sensorPin = A0;

String DisplayWords;

int sensorValue;

mySerial.write (254);

mySerial.write (128);

// tyhjennä näyttö:

mySerial.write ("");

mySerial.write ("");

// siirrä kohdistin LCD-näytön ensimmäisen rivin alkuun:

mySerial.write (254);

mySerial.write (128);

// "Kuivaa, kastele!"

mySerial.write (254);

mySerial.write (192);

mySerial.print (DisplayWords);

) else if (sensorValue> = thresholdUp) (

// siirrä kohdistin näytön toisen rivin alkuun:

mySerial.write (254);

mySerial.write (192);

mySerial.print (DisplayWords);

// siirrä kohdistin näytön toisen rivin alkuun:

mySerial.write (254);

mySerial.write (192);

mySerial.print (DisplayWords);

Ohjelma käyttää erilaisia ​​minimi- ja maksimiarvoja. Tämän seurauksena keskiarvo voi luonnehtia kosteutta riippuen siitä, onko maaperä märkä vai kuivattu. Jos et halua käyttää tätä keskiarvoa, maksimi- ja minimiarvojen voidaan olettaa olevan samat. Kokeet kuitenkin osoittavat, että ehdotettu lähestymistapa mahdollistaa maaperässä tapahtuvien prosessien tarkemmin karakterisoinnin. Reaalimaailmassa ei ole tarkkaa tarkkaa keskiarvoa. Voit siis leikkiä alueen näytteenotolla. Jos olet kiinnostunut prosesseista, jotka tapahtuvat maaperässä vuorovaikutuksessa veden kanssa, lue esimerkiksi täältä: Wiki. Prosessit ovat varsin monimutkaisia ​​ja mielenkiintoisia.

Joka tapauksessa sinun on säädettävä muuttujat omien olosuhteiden mukaan: maaperän tyyppi, vaadittu kosteustaso. Joten testaa, kokeile, kunnes löydät oikeat arvot.

Kosteusanturin tietojen lukemisen organisoinnin ja niiden näyttämisen jälkeen projektia voidaan kehittää edelleen järjestämällä automaattinen kastelujärjestelmä.

Kosteustason anturi osana Arduinoon perustuvaa automaattista kastelujärjestelmää:

Kastelun automatisoimiseksi tarvitsemme lisäosia: mahdollisesti hihnapyöriä, vaihteita, moottoria, kytkintä, transistoreita, vastuksia. Luettelo riippuu projektistasi. No, kaikkea, mitä jokapäiväisessä elämässä on käsillä. Yksi esimerkki on esitetty yksityiskohtaisemmin alla:

Tämä on yksi monista vaihtoehdoista moottorin asentamiseksi automaattiseen kastelujärjestelmään. Pyörä voidaan asentaa suoraan veteen. Tässä tapauksessa laitokseen syötetään vettä nopealla pyörimisellään. Yleensä voit näyttää mielikuvituksesi.

Tasavirtamoottorin kytkentäkaavio () SparkFunin Arduinon kopion esimerkkiä käyttäen on esitetty alla:

Alla on luonnos Arduinosta (itse asiassa se on sama kuin yllä, pienellä lisäyksellä moottorin ohjaamiseksi):

// Luonnos lukee tiedot anturista ja näyttää maaperän kosteustason

// jos maaperä on kuiva, moottori käynnistyy

// Ohjelmistosarjakirjastoa käytetään toimimaan näytön kanssa

#include & ltSoftwareSerial.h & gt

// Liitä nasta kommunikointia varten LCD-näytöllä sarja-RX-protokollalla Arduinon digitaaliseen nastaan ​​2

SoftwareSerial mySerial (3,2); // nasta 2 = TX, nasta 3 = RX (käyttämätön)

// Ohjaamme moottoria tapilla 9.

// Tämän nastan on ehdottomasti tuettava PWM-modulaatiota.

const int motorPin = 9;

// Tässä asetetaan joitain vakioita.

// Vakioiden asettaminen riippuu sen ulkoisen ympäristön olosuhteista, jossa anturia käytetään

int thresholdUp = 400;

int thresholdDown = 250;

// Aseta pin A0 Arduinoon toimimaan anturin kanssa:

int sensorPin = A0;

pinMode (motorPin, OUTPUT); // aseta nasta, johon moottori on kytketty lähdöksi

mySerial.begin (9600); // aseta baudinopeudeksi 9600 baudia

viive (500); // odota näytön latautumista

// Tässä määritetään merkkijono, joka tallentaa näytettävät tiedot

// nestekidenäyttöön. Arvot muuttuvat

// maaperän kosteustasosta riippuen

String DisplayWords;

// SensorValue-muuttuja tallentaa anturin analogisen arvon nastasta A0

int sensorValue;

sensorValue = analogRead (sensorPin);

mySerial.write (128);

// tyhjennä näyttö:

mySerial.write ("");

mySerial.write ("");

// siirrä kohdistin LCD-näytön ensimmäisen rivin alkuun: mySerial.write (254);

mySerial.write (128);

// kirjoita tarvittavat tiedot näyttöön:

mySerial.write ("Water Level:");

mySerial.print (sensorValue); // Käytä arvoille .printtiä .writen sijaan

// Nyt tarkastetaan kosteustaso aiemmin asetettuja numeerisia vakioita vastaan.

// Jos arvo on pienempi kuin thresholdDown, näytä sanat:

// "Kuivaa, kastele!"

// siirrä kohdistin näytön toisen rivin alkuun:

mySerial.write (254);

mySerial.write (192);

DisplayWords = "Kuivaa, kastele!";

mySerial.print (DisplayWords);

// käynnistä moottori matalilla kierroksilla (0 - pysäytys, 255 - maksiminopeus):

analogWrite (motorPin, 75);

// Jos arvo ei ole pienempi kuin thresholdDown, on suoritettava tarkistus, ei

// onko se suurempi kuin kynnysUp ja jos suurempi,

// näytä teksti "Märkä, jätä!":

) else if (sensorValue> = thresholdUp) (

// siirrä kohdistin näytön toisen rivin alkuun:

mySerial.write (254);

mySerial.write (192);

DisplayWords = "Märkä, jätä se!";

mySerial.print (DisplayWords);

// sammuta moottori (0 - pysäytys, 255 - maksiminopeus):

analogWrite (motorPin, 0);

// Jos vastaanotettu arvo on minimin ja maksimin välillä

// ja maa oli ennen märkä, mutta nyt se kuivuu,

// näytä teksti "Dry, Water it!" (eli kun me

// lähestyy thresholdDown). Jos maaperä olisi kuiva ja nyt

// kosteuttaa nopeasti, näyttöön tulee sana "Wet, Leave it!" (eli kun me

// lähestyy thresholdUp):

// siirrä kohdistin näytön toisen rivin alkuun:

mySerial.write (254);

mySerial.write (192);

mySerial.print (DisplayWords);

viive (500); // Puolen sekunnin viive lukemien välillä

Onnea kasveillesi automaattiseen kasteluun!

Kun seuraava kukka kuivui, tajusin, että olisi mukava automatisoida kasteluprosessi jotenkin. Koska olen varma, että hän kuoli veden puutteeseen.
Päätin koota rakenteen, joka kasteli kukan minulle. Tuloksena sain sellaisen laitteen, joka selviää tehtävistään melko hyvin:

Kahden säätimen avulla voit säätää kerralla kasteltavan veden määrää sekä kastelujen välistä ajanjaksoa. Ketä kiinnostaa - tarkemmat ohjeet tällaisen laitteen tekemiseen. Käytin Arduino Megaa aivojen pohjaan.
Sprinklerin kokoamiseen tarvitaan useita osia ja enintään 30 minuuttia vapaa-aikaa.

Käytetyt komponentit:

  • Arduino Mega (se oli juuri käsillä, mutta mikä tahansa muu kelpaisi)
  • Pumppu ja silikoniputki (auton tuulilasin pesupumppu käy - voit ostaa sen mistä tahansa auton osista tai voit ostaa pienen uppopumpun ebaysta)
  • Virtalähde
  • Kaksi säädettävää vastusta säätöön (mikä tahansa)
  • IRL3705N bipolaarinen transistori
  • Kaksi vastusta (100 ohmia ja 100 kohmia)
  • Diodi (mikä tahansa)
  • Vesisäiliö ( minun tapauksessani muovilaatikko Ikeasta)
  • Layout

Keräämme kaiken seuraavan järjestelmän mukaisesti:

Tai selkeämmin:

Tässä mitä sain:

Testataan pumppu ensin. Syötetään 5V siihen. Jos hän sumisesi, kaikki on kunnossa, jatka eteenpäin.

Liitä nyt pumppu Arduinoon. Tehdään koepalautaan pieni valjaat pumpun ohjaamiseksi arduinolla.

Yritetään ohjata pumppua Arduinolla. Täytetään tällainen koodi

int pumpPin = 5; void setup () (pinMode (pumpPin, OUTPUT); digitalWrite (pumpPin, LOW);) void loop () (digitalWrite (pumpPin, HIGH); viive (1000); digitalWrite (pumpPin, LOW); viive (1000);)

Jos se soi ajoittain, kaikki on taas kunnossa.

Nyt meidän on lisättävä kaksi säädintä. Kytketään laitteeseen muuttuvat vastukset ja tarkistetaan niiden suorituskyky.

Täytä tällainen koodi Arduinoon

int volyymiPin = A0; void setup () (pinMode (volumePin, INPUT); Serial.begin (9600);) void loop () (Serial.println (analogRead (volumePin)); viive (100);)

Siirrytään Serial Monitoriin ja varmistetaan, että nupin pyöriminen reagoi. Sen pitäisi muuttua noin 0:sta 1024:ään

Nyt on jäljellä saada kaikki toimimaan yhdessä.

Tässä on itse sprinklerikoodi:

// Ensimmäinen säädin ohjaa veden virtausaikaa (4 - 15 sekuntia) #define MAX_FLOWTIME 15 // sekuntia #define MIN_FLOWTIME 4 // sekuntia // Toinen säädin ohjaa kastelutiheyttä kerran päivässä - kerran viikossa#määrittää MAX_PERIOD 7 // päivää #määrittää MIN_PERIOD 1 // päivää #määrittää MAX 1015 #määrittää MIN 0 int volyymiPin = A0; // Nasta, johon on kytketty säädin, joka vastaa kasteluveden määrästä int periodPin = A1; // Pin, johon säädin on kytketty, joka vastaa kastelujen välisestä ajasta int pumpPin = 5; // Pin, johon pumpun ohjaus on kytketty int tilavuus; int jakso; // Toimenpide, joka käynnistää pumpun tilavuuden määritetyksi ajaksi tyhjä vesi () (digitalWrite (pumpPin, HIGH); // käynnistä pumppu viive (äänenvoimakkuus); digitalWrite (pumpPin, LOW); // sammuta pumppu viive (jakso); ) void setup () (pinMode (pumpPin, OUTPUT); digitalWrite (pumpPin, LOW);) void loop () ( // Lue säätimien (muuttuvien vastusten) arvot ja tuo ne määritettyihin rajoihin tilavuus = kartta (analogRead (volumePin), MIN, MAX, MIN_FLOWTIME, MAX_FLOWTIME) * 1000; jakso = kartta (analogRead (periodPin), MIN, MAX, MIN_PERIOD, MAX_PERIOD) * 1000 * 60 * 60 * 24; vesi (); )

Kaikki on valmista. Nautitaan levosta. ja tiedät aina, että kasvisi saavat vettä.

Jaa tämä