Turinys:

Autonominė augalų laistymo sistema: 4 žingsniai
Autonominė augalų laistymo sistema: 4 žingsniai

Video: Autonominė augalų laistymo sistema: 4 žingsniai

Video: Autonominė augalų laistymo sistema: 4 žingsniai
Video: Laistymo sistemos paruošimas žiemai išpučiant oro kompresoriumi 2024, Lapkritis
Anonim
Autonominė augalų laistymo sistema
Autonominė augalų laistymo sistema
Autonominė augalų laistymo sistema
Autonominė augalų laistymo sistema
Autonominė augalų laistymo sistema
Autonominė augalų laistymo sistema

Šiame projekte pristatoma išmani autonominė augalų laistymo sistema. Sistemos energija yra savarankiška, naudojant 12 voltų bateriją ir saulės kolektorių, ir laistyti augalą, kai visos tinkamos sąlygos yra sukurtos, naudojant gerai apgalvotą (tikiuosi) nesėkmingą sistemą. Tai protinga, nes bendravo su vartotoju (-ais) per „Telegram“programą.

Sistemos atliekami šie veiksmai:

  • visada stebimas vandens kiekis dirvožemyje;
  • jei dirvožemio vandens kiekis yra mažesnis už tam tikrą vertę (max_soil_moisture), sistema:

    • (?) patikrina, ar vandens bakas nėra tuščias (ir laistymo metu), kad nebūtų pažeista sausa siurblys;
    • (?) tikrina, ar viršytas minimalus vandens laikotarpis tarp dviejų laistymo įvykių. Tai daroma siekiant išvengti augalų per daug laistymo per dieną (geriau tam tikru momentu šiek tiek išdžiūti) ir papildomai apsaugoti, jei dirvožemio drėgmės jutiklis sulūžtų;
    • (?) pradėti laistyti;
    • sustabdo laistymą, kai:

      • (?) dirvožemio vandens kiekis pasiekia tam tikrą vertę (max_soil_moisture) arba;
      • (?) vandens bakas yra tuščias, tokiu atveju laistymas bus atnaujintas, kai tik jis bus vėl užpildytas, arba;
      • (?) laistymo trukmė viršija didžiausią leistiną kiekvieno laistymo įvykio trukmę (laistymo_max_laikas). Čia siekiama išvengti siurblio veikimo tol, kol vandens rezervuaras nebus tuščias, jei sistemoje yra nuotėkis, dėl kurio dirvožemio drėgmė nepadidėtų;
  • (?) tikrina, ar augalai yra laistomi bent kiekvieną tam tikrą laikotarpį (max_wo_water), kad jie nenumirtų, jei pvz. dirvos drėgmės jutiklis sugedęs ir visada grąžina aukštas vertes;

Vartotojui apie kiekvieną svarbų žingsnį (pažymėtą?) Pranešama telegramos pranešimais. Vartotojas taip pat gali rankiniu būdu suaktyvinti laistymą iš „Telegram“, net jei dirvožemio vandens kiekis yra didesnis nei nurodyta vertė (max_soil_moisture). Taip pat galima įjungti ir išjungti visą sistemą, paklausti, ar sistema veikia, ar paklausti dabartinės dirvožemio vandens vertės (žr. Telegramos momentinę nuotrauką).

Prekės

Medžiaga

Čia yra produktų, naudojamų kuriant sistemą, sąrašas. Turiu pasakyti, kad negaunu jokių paskatų iš „Amazon“, iš kurios buvo pirkti visi produktai.

Norėdami valdyti sistemą:

  • „NodeMCU“plokštė (ESP8266) smegenims, 17,99 €
  • Relės modulis, 11,99 €
  • 120 prototipų jungiamųjų laidų, 6,99 € -> prototipų kūrimas
  • 3 duonos lentos, 8,99 € -> prototipų kūrimas
  • Neperšlampama dėžutė, 10,99 €
  • 525 vnt rezistorių komplektas, 10,99 €
  • Spausdinta PCB su jungtimis, panašiomis į duonos lentą, 9,27 €
  • Elektros gyslos laidai 20, 22 arba 24 AWG, priklausomai nuo jūsų pageidavimų (20 yra tvirtesnis, tačiau kai kurių jungčių atveju jį reikia sumažinti, 22 yra geras, 24 yra pigesnis), 18,99 €

Dėl energijos autonomijos:

  • 12V baterija, 21,90 €
  • 10W wp 12V monokristalinė saulės baterija, 23,90 €
  • 12/24V įkrovimo valdiklis, 13,99 €

Dėl vandens rezervuaro:

  • 12V vandens siurblys, 16,99 €
  • DC kištukinė/moteriška jungtis (siurbliui prijungti), 6,99 €

Jutikliai:

  • Vandens lygio plaukiklis, 7,99 €
  • Talpus dirvožemio drėgmės jutiklis, 9,49 €
  • šiek tiek nagų lako dirvožemio drėgmės jutikliui hidroizoliuoti, 7,99 €;

Ir laistymo sistema:

Laistymo sistema, 22,97 €

Iš viso už 237,40 €. Tai nėra pigu! Tačiau atminkite, kad ji vis tiek yra pigesnė nei iš anksto sukurta sistema ir turi daug daugiau galimybių! Be to, kai kurios dalys yra skirtos tik prototipų kūrimui (15,98 €), o aš įsigijau daug komponentų grupėmis po kelis gabalus kitiems projektams, pvz. 525 rezistoriai yra beprotiška suma, šiam projektui jums nereikia nei 3 „NodeMCU“plokščių, nei 6 relių.

1 žingsnis: kodas

Norėdami atkurti šį projektą, jums reikės tam tikrų įrankių, medžiagos ir šio projekto kodo.

Kodas

Norėdami gauti šio projekto kodą, klonuokite jį (arba geriau - šakute) iš „Github“saugyklos naudodami GIT, o jei nežinote, ką reiškia GIT, klonas ir šakutė, tiesiog atsisiųskite jį į savo kompiuterį naudodami šią nuorodą?.

Tada sukonfigūruokite jį pagal savo poreikius!

Norėdami naudoti „Telegram“, „NodeMCU“turi būti prijungtas prie interneto. Aš tai padariau naudodamas jo WIFI modulį ir namų WIFI. Norėdami sukonfigūruoti savo ryšį, atidarykite „plant_watering.ino“scenarijų „Arduino IDE“ir užpildykite trūkstamas „Wi-Fi“prisijungimo duomenų reikšmes (darau prielaidą, kad turite „WiFi“):

Eilutė ssid = "xxxxx"; // „Wifi String Pass“pavadinimas = "xxxxx"; // „Wifi“slaptažodis

Tada nustatysime „Telegram“robotą, kuris yra vartotojo abonementas, panašus į jūsų, bet iš tikrųjų valdomas roboto (jūsų „NodeMCU“). Norėdami tai padaryti, atlikite čia aprašytus veiksmus. Keliais žodžiais:

  • Atidarykite „Telegram“(ir prisijunkite prie savo paskyros);
  • Sukurkite naują robotą:

    • Ieškokite „BotFather“savo kontaktuose (įveskite jį paieškos juostoje) ir atidarykite pokalbį su juo (kaip tai darytumėte su bet kuriuo nauju kontaktu);
    • Pokalbyje įveskite /newbot (stebėkite atvejį ir įtraukite /!)
    • Pavadinkite savo robotą kaip norite, bet užbaikite jį žodžiu „bot“(pvz., „Watering_balcony_bot“);
    • „Botfather“suteikia jums roboto žetoną, laikykite jį labai paslaptyje (nesidalinkite juo naudodami GIT !!), mes jį naudosime keliais žingsniais;
    • Ieškokite jo savo kontaktuose ir atsiųskite jam šį pranešimą: /start
    • Nukopijuokite „Botfather“grąžintą prieigos raktą ir įklijuokite jį į „plant_watering.ino“scenarijų čia:

      String token = "xxxxxx: xxxxxxxxxxxxxxxxxxxxxxxxx"; // Telegramos roboto žetonas

Jūsų robotas dabar gyvas!

Kad ji galėtų bendrauti su jumis, ji turi žinoti jūsų pokalbio ID. Kadangi norime, kad galėtume pasidalyti tuo, ką sako robotas, su kitais žmonėmis tuo atveju, jei išeisime atostogauti, verčiau kurti grupinį pokalbį. Taigi sukurkite vieną (nauja grupė), pridėkite savo robotą ieškodami jo pavadinimo ir laikinai pridėkite trečiąjį robotą, pavadintą IDBot. Tada pavadinkite savo grupės pokalbį taip, kaip norite. Atidarykite grupės pokalbį ir įveskite /getgroupid. IDBot grąžins tokį skaičių kaip -xxxxxxxxx (nepamirškite jo nukopijuodami minuso!), Tai jūsų grupės pokalbio ID!

Taip pat galite paprašyti /getid gauti jūsų asmeninį ID, todėl jūsų robotas siųs pranešimus tiesiai jums (nesiųsdamas to į grupę)

Nukopijuokite ID ir įklijuokite jį į savo plant_watering.ino scenarijų čia:

int chatID = -000000000; // Tai jūsų grupės pokalbio ID Jei norite, kad robotas siųstų žinutes tiesiai jums, įklijuokite čia /getid

Tada pašalinkite IDBot iš grupės tik tuo atveju (nenorime, kad nutekėtų jokie duomenys).

Paskutiniame etape turėsite įdiegti „CTBot“ir „ArduinoJson“bibliotekas. Norėdami tai padaryti, įveskite ctrl+maj+I, ieškokite CTBot ir ieškokite CTBot pagal Stefano Ledda ir spustelėkite įdiegti. Tada pakartokite „ArduinoJson“ir ieškokite Benoit Blanchon „ArduinoJson“, tačiau kol kas įdiekite 5.13.5 versiją, nes „CTBot“dar nesuderinama su šešta versija (čia galite patikrinti, ar yra kokių nors pakeitimų).

Ir viskas, jūsų kodas paruoštas! Dabar galite įkelti jį į „NodeMCU“! Jei yra kokių nors klaidų, patikrinkite, ar kaip plokštės tipą pasirinkote „NodeMCU 1.0“ir ar naudojate tinkamą bibliotekų versiją.

2 žingsnis: įrankiai

Įrankiai

Įrankiai yra labai paprasti, aš naudojau šiam projektui:

  • Lituoklis + skarda (pvz., 220V 60W);
  • Multimetras (mano yra „TackLife DM01M“);
  • Plokščias atsuktuvas (mažesnis yra geriau);
  • Pjovimo replės;

Jei jų turite, taip pat galite pridėti vielos nuėmiklių, tačiau jie nėra būtini.

3 žingsnis: Surinkimas

Surinkimas
Surinkimas

Dalių surinkimą galite rasti naudodami „Fritzing“, kad atidarytumėte „Fritzing“projektą „Github“saugykloje.

NB: „NodeMCU“yra prijungtas prie saulės įkrovimo valdiklio USB kabeliu (schemoje jo nėra). Saulės įkrovimo valdiklio su USB pavyzdį rasite skyriuje Medžiaga.

Aš padariau visas pasirinktines dalis „Github“projekto fritzing aplanke (viską galima rasti internete, išskyrus vandens plūdurą, nes aš jį padariau).

4 žingsnis: Padėkos

Norėčiau padėkoti savo nuostabiam partneriui, kuris man leido tai padaryti savaitgaliais! Ir, žinoma, visi kūrėjai, padedantys įgyvendinti projektą, pvz., @Shurillu super CTBot bibliotekai, EstebanP27 už jo pamoką, iš kurios daug išmokau šiam projektui! Taip pat norėčiau padėkoti „svgrepo“, iš kurio logotipo pagrindu naudojau SVG.

Rekomenduojamas: