Sadržaj:

Autonomni sistem za zalijevanje biljaka: 4 koraka
Autonomni sistem za zalijevanje biljaka: 4 koraka

Video: Autonomni sistem za zalijevanje biljaka: 4 koraka

Video: Autonomni sistem za zalijevanje biljaka: 4 koraka
Video: Automatika za zalivanje 2024, Novembar
Anonim
Autonomni sistem za zalijevanje biljaka
Autonomni sistem za zalijevanje biljaka
Autonomni sistem za zalijevanje biljaka
Autonomni sistem za zalijevanje biljaka
Autonomni sistem za zalijevanje biljaka
Autonomni sistem za zalijevanje biljaka

Ovaj projekt predstavlja pametan autonomni sistem zalijevanja biljaka. Sustav je autonomni u energiji koristeći bateriju od 12 volti i solarni panel i zalijeva postrojenje kad se za to stvore pravi uvjeti, s dobro smišljenim (nadam se) sistemom otpornim na kvarove. Pametan je jer je komunicirao s korisnicima putem aplikacije Telegram.

Koraci koje sistem slijedi su sljedeći:

  • uvijek se prati sadržaj vode u tlu;
  • ako je sadržaj vode u tlu ispod određene vrijednosti (maksimalna_vlaga_ tla), sistem:

    • (?) provjerava da rezervoar za vodu nije prazan (i tokom) zalijevanja kako bi se izbjeglo oštećenje pumpe koja radi na suho;
    • (?) provjerava da li je premašen minimalni period vode između dva zalijevanja. Ovo se radi kako bi se izbjeglo previše zalijevanje biljaka tokom dana (bolje da se u nekom trenutku malo osuši), te da bi se dodala izvjesna sigurnost u slučaju da se pokvari senzor vlažnosti tla;
    • (?) započeti navodnjavanje;
    • zaustavlja navodnjavanje kad god:

      • (?) sadržaj vode u tlu dostigne određenu vrijednost (maksimalna_vlaga_ tla) ili;
      • (?) rezervoar za vodu je prazan, u tom slučaju će se navodnjavanje nastaviti čim se ponovo napuni, ili;
      • (?) trajanje zalijevanja premašuje maksimalno dozvoljeno trajanje za svaki događaj zalijevanja (zalijevanje_max_time). Ovdje je cilj izbjeći pokretanje pumpe dok se spremnik za vodu ne isprazni ako dođe do curenja u sustavu koje bi spriječilo povećanje vlažnosti tla;
  • (?) provjerava da li se biljke zalijevaju barem svaki određeni vremenski period (max_wo_water), kako bi se izbjeglo njihovo odumiranje ako npr. senzor vlažnosti tla je pokvaren i uvijek vraća visoke vrijednosti;

Telegram poruke obavještavaju korisnika o svakom važnom koraku (označeno?). Korisnik također može ručno pokrenuti događaj navodnjavanja iz Telegrama, čak i ako je sadržaj vode u tlu veći od zadane vrijednosti (max_soil_moisture). Takođe je moguće uključiti i isključiti cijeli sistem, pitati je li sistem u funkciji ili pitati trenutnu vrijednost sadržaja vode u tlu (pogledajte snimak Telegrama).

Supplies

Materijal

Ovdje je lista proizvoda koji su korišteni za izgradnju sistema. Moram reći da ne primam nikakve poticaje od Amazona, od kojeg su svi proizvodi kupljeni.

Za upravljanje sistemom:

  • NodeMCU ploča (ESP8266) za mozak, 17,99 €
  • Relejni modul, 11,99 €
  • 120 prototipa kratkospojnika, 6,99 € -> izrada prototipa
  • 3 ploče, 8,99 € -> izrada prototipa
  • Vodootporna kutija, 10,99 €
  • Komplet otpornika 525 komada, 10,99 €
  • Štampana PCB sa priključcima sličnim matičnoj ploči, 9,27 €
  • Električne žice 20, 22 ili 24 AWG ovisno o vašim željama (20 je čvršće, ali ih je potrebno smanjiti za neke veze, 22 je dobro, 24 je jeftinije), 18,99 €

Za autonomiju energije:

  • 12V baterija, 21,90 €
  • 10W wp 12V monokristalni solarni panel, 23,90 €
  • Kontroler punjenja 12/24V, 13,99 €

Za rezervoar za vodu:

  • Pumpa za vodu 12V, 16,99 €
  • Muški/ženski DC priključak (za povezivanje pumpe), 6,99 €

Senzori:

  • Plovak za vodostaj, 7,99 €
  • Kapacitivni senzor vlažnosti tla, 9,49 €
  • malo laka za nokte za hidroizolaciju senzora vlažnosti tla, 7,99 €;

I sistem navodnjavanja:

Sistem za navodnjavanje, 22,97 €

Za ukupno 237.40 €. To nije jeftino! Ali imajte na umu da je i dalje jeftiniji od unaprijed izgrađenog sistema i s mnogo više mogućnosti! Također, neki dijelovi služe samo za izradu prototipa (15,98 €), a mnoge komponente sam kupio u grupama od nekoliko komada za druge projekte, npr. 525 otpornika je luda količina, ne trebaju vam 3 NodeMCU ploče, niti 6 releja za ovaj projekt.

Korak 1: Šifra

Da biste reproducirali ovaj projekt, trebat će vam neki alati, nešto materijala i kôd iz ovog projekta.

Kod

Da biste dobili kôd iz ovog projekta, ili ga klonirajte (ili bolje, forkite) iz spremišta Github koristeći GIT, a ako ne znate šta GIT, kloniranje i fork znači, jednostavno ga preuzmite na svoj računar pomoću ove veze?.

Zatim ga konfigurirajte prema svojim potrebama!

Za korištenje Telegrama, NodeMCU mora biti spojen na internet. Učinio sam to koristeći WIFI modul i kućni WIFI. Da biste konfigurirali vlastitu vezu, otvorite script_watering.ino skriptu u Arduino IDE-u i popunite vrijednosti koje nedostaju za vaše WiFi vjerodajnice (pretpostavljam da imate WiFi):

String ssid = "xxxxx"; // Naziv vašeg Wifi String pass = "xxxxx"; // Lozinka za WiFi

Zatim ćemo postaviti Telegram robota, koji je korisnički račun sličan vašem, ali ga zapravo vodi robot (vaš NodeMCU). Da biste to učinili, slijedite korake opisane ovdje. U nekoliko reči:

  • Otvorite Telegram (i povežite se sa svojim nalogom);
  • Kreirajte novog robota:

    • Pretražite BotFather u svojim kontaktima (upišite ga u traku za pretraživanje) i otvorite razgovor s njim (kao što biste učinili sa svakim novim kontaktom);
    • Upišite /newbot u razgovor (pazite na slučaj i uključite /!)
    • Imenujte svog bota kako želite, ali završite s "bot" (npr. "Watering_balcony_bot");
    • Botfather vam daje žeton bota, čuvajte ga u tajnosti (nemojte ga dijeliti pomoću GIT -a !!), upotrijebit ćemo ga u nekoliko koraka;
    • Pretražite ga u svojim kontaktima i pošaljite mu ovu poruku: /start
    • Kopirajte token koji je vratio Botfather i zalijepite ga u skriptu plant_watering.ino ovdje:

      Token niza = "xxxxxx: xxxxxxxxxxxxxxxxxxxxxx"; // Telegram bot token

Vaš bot je sada živ!

Da bi mu omogućio komunikaciju s vama, mora znati vaš ID razgovora. Budući da želimo biti u mogućnosti podijeliti ono što bot govori s drugim ljudima u slučaju da izađemo na godišnji odmor, radije bih umjesto toga stvorio grupni chat. Zato stvorite jednog (Nova grupa), dodajte bota pretraživanjem njegovog imena i privremeno dodajte trećeg bota po imenu IDBot. Zatim imenujte grupni chat kako želite. Otvorite grupni chat i upišite /getgroupid. IDBot će vratiti broj kao što je -xxxxxxxxx (ne zaboravite minus kada ga kopirate!), To je vaš ID grupnog chata!

Također možete zatražiti /getid da dobije vaš lični dokument, tako da će vaš bot umjesto toga slati poruke direktno vama (ne šaljući ga grupi)

Kopirajte ID i zalijepite ga u skriptu plant_watering.ino ovdje:

int chatID = -000000000; // Ovo je ID vašeg grupnog chata Umjesto toga zalijepite /getid ako želite da bot šalje poruke direktno vama

Zatim uklonite IDBot iz svoje grupe za svaki slučaj (ne želimo da cure podaci).

Za posljednji korak morate instalirati biblioteke CTBot i ArduinoJson. Da biste to učinili, upišite ctrl+maj+I, pretražite CTBot i potražite CTBot od Stefana Ledde, a zatim kliknite instaliraj. Zatim ponovite za ArduinoJson i potražite ArduinoJson od Benoita Blanchona, ali za sada instalirajte verziju 5.13.5 jer CTBot još nije kompatibilan sa šestom verzijom (ovdje možete provjeriti postoje li promjene).

I to je to, vaš kôd je spreman! Sada ga možete učitati na NodeMCU! Ako postoje neke greške, provjerite jeste li odabrali NodeMCU 1.0 za tip ploče i koristite li ispravnu verziju za svoje biblioteke.

Korak 2: Alati

Alati

Alati su vrlo jednostavni, koristio sam ih za ovaj projekt:

  • Lemilica + lim (npr. 220V 60W);
  • Multimetar (moj je TackLife DM01M);
  • Ravni odvijač (sitniji je bolji);
  • Kliješta za rezanje;

Ako ih imate, možete dodati i neke skidače žice, ali one nisu neophodne.

Korak 3: Montaža

Montaža
Montaža

Sklop dijelova možete pronaći pomoću Fritzinga za otvaranje projekta Fritzing u spremištu Github.

Napomena: NodeMCU je povezan sa solarnim regulatorom punjenja USB kablom (onaj na shemi nema takav). Pogledajte odjeljak Materijal za primjer solarnog regulatora punjenja s USB -om.

Sve prilagođene dijelove učinio sam dostupnima u fascikli za fritzing iz projekta Github (svi se mogu pronaći na internetu osim vodenog plovka jer sam ga napravio).

Korak 4: Zahvalnice

Želeo bih da zahvalim svom divnom partneru koji mi je to omogućio tokom vikenda! I naravno svi tvorci koji su omogućili projekt, poput @shurillu za super CTBot biblioteku, EstebanP27 za njegov vodič iz kojeg sam puno naučio za ovaj projekt! Također bih želio zahvaliti svgrepu iz kojeg sam koristio SVG -ove kao osnovu za logo.

Preporučuje se: