Kazalo:

Avtonomni sistem zalivanja rastlin: 4 koraki
Avtonomni sistem zalivanja rastlin: 4 koraki

Video: Avtonomni sistem zalivanja rastlin: 4 koraki

Video: Avtonomni sistem zalivanja rastlin: 4 koraki
Video: Агрогороскоп с 03 по 07 мая 2022 года 2024, November
Anonim
Avtonomni sistem zalivanja rastlin
Avtonomni sistem zalivanja rastlin
Avtonomni sistem zalivanja rastlin
Avtonomni sistem zalivanja rastlin
Avtonomni sistem zalivanja rastlin
Avtonomni sistem zalivanja rastlin

Ta projekt predstavlja pameten avtonomni sistem zalivanja rastlin. Sistem je energetsko avtonomen z uporabo 12-voltne baterije in sončne celice ter zaliva rastlino, ko so za to primerni pogoji, z dobro premišljenim (upam) sistemom, ki je odporen na napake. Pameten je, ker je z uporabniki komuniciral prek aplikacije Telegram.

Koraki, ki jim sledi sistem, so naslednji:

  • vsebnost vode v tleh se vedno spremlja;
  • če je vsebnost vode v tleh pod določeno vrednostjo (max_soil_moisture), sistem:

    • (?) preveri, ali rezervoar za vodo ni prazen (in med) zalivanjem, da se prepreči poškodba črpalke, ki deluje na suho;
    • (?) preveri, da je minimalno obdobje med dvema zalivanjem preseženo. To se naredi, da se rastline čez dan ne zalivajo prevečkrat (bolje je, da se na določeni točki malo posušijo) in da se doda varnost, če je senzor vlažnosti tal pokvarjen;
    • (?) začeti namakanje;
    • namakanje ustavi kadar koli:

      • (?) vsebnost vode v tleh doseže določeno vrednost (max_soil_moisture) ali;
      • (?) je rezervoar za vodo prazen; v tem primeru se bo namakanje nadaljevalo takoj, ko se ponovno napolni, ali;
      • (?) trajanje zalivanja presega največje dovoljeno trajanje za vsak zalivalni dogodek (zalivanje_max_time). Cilj je preprečiti delovanje črpalke, dokler rezervoar za vodo ni prazen, če v sistemu pušča, kar bi preprečilo povečanje vlažnosti tal;
  • (?) preveri, ali se rastline zalivajo vsaj v določenem časovnem obdobju (max_wo_water), da se izognejo njihovi smrti, če npr. senzor vlažnosti tal je pokvarjen in vedno vrača visoke vrednosti;

Sporočila Telegrama uporabnika obvestijo na vsakem pomembnem koraku (označeno?). Uporabnik lahko ročno sproži tudi namakalni dogodek iz Telegrama, tudi če je vsebnost vode v tleh višja od dane vrednosti (max_soil_moisture). Možno je tudi vklopiti in izklopiti celoten sistem, vprašati, ali sistem deluje ali vprašati trenutno vrednost vsebnosti vode v tleh (glejte posnetek Telegrama).

Zaloge

Material

Tu je seznam izdelkov, uporabljenih za izdelavo sistema. Moram reči, da od Amazona, od katerega so bili kupljeni vsi izdelki, ne prejemam nobenih spodbud.

Za nadzor sistema:

  • NodeMCU plošča (ESP8266) za možgane, 17,99 €
  • Relejni modul, 11,99 €
  • 120 prototipskih mostičnih žic, 6,99 € -> izdelava prototipov
  • 3 plošče, 8,99 € -> izdelava prototipov
  • Vodotesna škatla, 10,99 €
  • Komplet uporov 525 kosov, 10,99 €
  • Tiskano tiskano vezje s povezavami, podobnimi matični plošči, 9,27 €
  • Električne žice 20, 22 ali 24 AWG, odvisno od vaših želja (20 je trdnejše, vendar jih je treba pri nekaterih povezavah zmanjšati, 22 je dobro, 24 je cenejše), 18,99 €

Za avtonomno energijo:

  • 12V baterija, 21,90 €
  • 10W wp 12V monokristalna sončna celica, 23,90 €
  • Krmilnik polnjenja 12/24V, 13,99 €

Za rezervoar za vodo:

  • 12V vodna črpalka, 16,99 €
  • Moški/ženski konektor DC (za priključitev črpalke), 6,99 €

Senzorji:

  • Plavalec za nivo vode, 7,99 €
  • Kapacitivni senzor vlažnosti tal, 9,49 €
  • nekaj laka za nohte za hidroizolacijo senzorja vlažnosti tal, 7,99 €;

In namakalni sistem:

Namakalni sistem, 22,97 €

Skupaj 237,40 €. To ni poceni! Vendar ne pozabite, da je še vedno cenejši od vnaprej izdelanega sistema in z veliko več zmogljivostmi! Tudi nekateri deli so samo za izdelavo prototipov (15,98 €), veliko komponent pa sem kupil v skupinah po več kosov za druge projekte, npr. 525 uporov je nora količina, za ta projekt ne potrebujete 3 plošč NodeMCU niti 6 relejev.

1. korak: Koda

Za reprodukcijo tega projekta potrebujete nekaj orodij, nekaj materiala in kodo iz tega projekta.

Koda

Če želite pridobiti kodo iz tega projekta, jo klonirajte (ali bolje razcepite) iz skladišča Github z uporabo GIT -a, in če ne veste, kaj pomeni GIT, kloniranje in vilice, jo preprosto prenesite v računalnik s to povezavo?.

Nato ga prilagodite svojim potrebam!

Za uporabo Telegrama mora biti NodeMCU povezan z internetom. To sem naredil z uporabo WIFI modula in domačega WIFI. Če želite konfigurirati svojo povezavo, odprite skript plant_watering.ino v Arduino IDE in vnesite manjkajoče vrednosti za svoje poverilnice za wifi (predvidevam, da imate WiFi):

Niz ssid = "xxxxx"; // Ime vašega prehoda za niz Wifi = "xxxxx"; // Geslo za Wi -Fi

Nato bomo nastavili Telegram bota, ki je uporabniški račun, podoben vašemu, vendar ga dejansko vodi robot (vaš NodeMCU). Če želite to narediti, sledite korakom, opisanim tukaj. Z nekaj besedami:

  • Odprite Telegram (in se povežite z vašim računom);
  • Ustvarite novega bota:

    • Poiščite BotFather v svojih stikih (vnesite ga v iskalno vrstico) in odprite pogovor z njim (tako kot pri vsakem novem stiku);
    • V pogovor vnesite /newbot (pazite na primer in vključite /!)
    • Poimenujte svojega bota, kot želite, vendar ga končajte z "bot" (npr. "Watering_balcony_bot");
    • Botfather vam daje žeton bota, naj bo zelo skrivnost (ne delite ga z GIT -om !!), uporabili ga bomo v nekaj korakih;
    • Poiščite ga v stikih in mu pošljite to sporočilo: /start
    • Kopirajte žeton, ki ga je vrnil Botfather, in ga prilepite v skript plant_watering.ino tukaj:

      Žeton niza = "xxxxxx: xxxxxxxxxxxxxxxxxxxxx"; // Žeton za Telegram bot

Vaš bot je zdaj živ!

Če želite, da lahko komunicira z vami, mora poznati vaš ID pogovora. Ker želimo biti sposobni deliti, kar bot govori z drugimi ljudmi, če gremo na počitnice, raje ustvarim skupinski klepet. Zato ustvarite enega (Nova skupina), dodajte svojega bota tako, da poiščete njegovo ime, in začasno dodajte tretjega bota z imenom IDBot. Nato poimenujte svoj skupinski klepet, kot želite. Odprite skupinski klepet in vnesite /getgroupid. IDBot bo vrnil številko, na primer -xxxxxxxxx (ne pozabite na minus, ko jo kopirate!), To je vaš ID skupinskega klepeta!

Prav tako lahko zaprosite /getid za pridobitev vašega osebnega dokumenta, zato bo vaš bot namesto tega poslal sporočila neposredno vam (ne pošlje ga skupini)

Kopirajte ID in ga prilepite v skript plant_watering.ino tukaj:

int chatID = -000000000; // To je ID vašega skupinskega klepeta Namesto tega prilepite /getid, če želite, da bo bot pošiljal sporočila neposredno vam

Nato za vsak slučaj odstranite IDBot iz svoje skupine (ne želimo, da bi prišlo do uhajanja podatkov).

Za zadnji korak boste morali namestiti knjižnici CTBot in ArduinoJson. Če želite to narediti, vnesite ctrl+maj+I, poiščite CTBot in poiščite CTBot Stefana Ledde ter kliknite namesti. Nato ponovite za ArduinoJson in poiščite ArduinoJson od Benoita Blanchona, vendar za zdaj namestite različico 5.13.5, ker CTBot še ni združljiv s šesto različico (tukaj lahko preverite, ali so kakšne spremembe).

In to je to, vaša koda je pripravljena! Zdaj ga lahko naložite v NodeMCU! Če je nekaj napak, preverite, ali ste za vrsto plošče izbrali NodeMCU 1.0 in ali uporabljate pravo različico za svoje knjižnice.

2. korak: Orodja

Orodja

Orodja so zelo preprosta, za ta projekt sem uporabil:

  • Spajkalnik + kositer (npr. 220V 60W);
  • Multimeter (moj je TackLife DM01M);
  • Ploščati izvijač (majhen je boljši);
  • Rezalne klešče;

Če jih imate, lahko dodate tudi nekaj odstranjevalcev žice, vendar niso nepogrešljivi.

3. korak: Montaža

Montaža
Montaža

Sestavo delov lahko najdete s Fritzingom, da odprete projekt Fritzing v skladišču Github.

Opomba: NodeMCU je s krmilnikom solarnega polnjenja povezan s kablom USB (tisti na shemi ga nima). Glejte razdelek Material za primer solarnega regulatorja polnjenja z USB -jem.

Vse dele po meri sem dal v mapo za fritzing iz projekta Github (vse je mogoče najti na internetu, razen vodnega plavalca, ker sem ga naredil).

4. korak: Zahvala

Rad bi se zahvalil svojemu čudovitemu partnerju, ki mi je to omogočil med vikendi! In seveda vsi ustvarjalci, ki so omogočili projekt, na primer @shurillu za knjižnico super CTBot, EstebanP27 za njegovo vadnico, iz katere sem se veliko naučil za ta projekt! Prav tako bi se rad zahvalil svgrepu, iz katerega sem uporabil SVG kot osnovo za logotip.

Priporočena: