Innholdsfortegnelse:

Autonomt plantevanningssystem: 4 trinn
Autonomt plantevanningssystem: 4 trinn

Video: Autonomt plantevanningssystem: 4 trinn

Video: Autonomt plantevanningssystem: 4 trinn
Video: Bosch Indego installasjonsvideo. Trinn 4: Tilkobling til strømforsyning. 2024, Juli
Anonim
Autonomt plantevanningssystem
Autonomt plantevanningssystem
Autonomt plantevanningssystem
Autonomt plantevanningssystem
Autonomt plantevanningssystem
Autonomt plantevanningssystem

Dette prosjektet presenterer et smart autonomt plantevanningssystem. Systemet er autonomt i energi ved hjelp av et 12v batteri og et solcellepanel, og vanner anlegget når de riktige forholdene er klare, med et gjennomtenkt (håper jeg) feilsikkert system. Det er smart fordi det kommuniserte med brukeren (e) gjennom Telegram -appen.

Trinnene som systemet følger er som følger:

  • jordvanninnholdet overvåkes alltid;
  • hvis vanninnholdet i jorda er under en viss verdi (maks_jordfuktighet), vil systemet:

    • (?) sjekker at vanntanken ikke er tom (og under) vanningshendelsen for å unngå at pumpen går tørr;
    • (?) kontrollerer at minimum vannperiode mellom to vanningshendelser er overskredet. Dette gjøres for å unngå å vanne plantene for mange ganger i løpet av dagen (bedre å ha litt tørrhet på et tidspunkt), og for å legge til litt sikkerhet i tilfelle jordfuktighetssensoren er ødelagt;
    • (?) starte vanningen;
    • stopper vanningen når som helst:

      • (?) jordvanninnholdet når en viss verdi (maks_jordfuktighet) eller;
      • (?) vanntanken er tom, i så fall vil vanningen gjenoppta så snart den er fylt igjen, eller;
      • (?) vanningens varighet overstiger maksimal tillatt varighet for hver vanningshendelse (watering_max_time). Målet her er å unngå å kjøre pumpen til vanntanken er tom hvis det er en lekkasje i systemet som forhindrer at jordfuktigheten øker;
  • (?) sjekker at planter blir vannet minst hver gitt tidsperiode (maks_wo_vann), for å unngå at de dør hvis f.eks. jordfuktighetssensoren er ødelagt og gir alltid høye verdier;

Brukeren blir varslet av Telegram -meldinger ved hvert viktig trinn (angitt?). Brukeren kan også utløse en vanningshendelse manuelt fra Telegram, selv om vanninnholdet i jorda er høyere enn den oppgitte verdien (maks_jordfuktighet). Det er også mulig å slå hele systemet PÅ og AV, spørre om systemet er i gang, eller spør den nåværende verdien av vanninnholdet i jord (se Telegram -øyeblikksbilde).

Rekvisita

Materiale

Her er en liste over produktene som ble brukt for å bygge systemet. Jeg må si at jeg ikke mottar noen insentiver fra Amazon, hvorfra alle produktene ble kjøpt.

Slik kontrollerer du systemet:

  • NodeMCU -kort (ESP8266) for hjernen, 17,99 €
  • Stafettmodul, 11,99 €
  • 120 prototyping jumper wire, 6,99 € -> prototyping
  • 3 brødbrett, 8,99 € -> prototyper
  • Vanntett boks, 10,99 €
  • 525 deler motstandssett, 10,99 €
  • Trykt PCB med tilkoblinger som ligner på et brødbrett, 9,27 €
  • Elektriske ledninger 20, 22 eller 24 AWG avhengig av dine preferanser (20 er mer solid, men må reduseres for noen tilkoblinger, 22 er bra, 24 er billigere), 18,99 €

For autonomi i energi:

  • 12V batteri, 21,90 €
  • 10W wp 12V monokrystallinsk solcellepanel, 23,90 €
  • 12/24V ladekontroller, 13,99 €

For vanntanken:

  • 12V vannpumpe, 16,99 €
  • DC han/hun -kontakt (for tilkobling av pumpen), 6,99 €

Sensorene:

  • Vannstandsnivå, 7,99 €
  • Kapasitiv jordfuktighetssensor, 9,49 €
  • litt neglelakk for vanntetting av jordfuktighetssensoren, 7,99 €;

Og vanningssystemet:

Vanningssystem, 22,97 €

For totalt 237,40 €. Det er ikke billig! Men husk at det fortsatt er billigere enn et forhåndsbygd system, og med mange flere muligheter! Noen deler er også kun for prototyping (15,98 €), og jeg kjøpte mange komponenter i grupper på flere stykker for andre prosjekter, f.eks. 525 motstander er en gal mengde, du trenger ikke 3 NodeMCU -kort eller 6 reléer for dette prosjektet.

Trinn 1: Kode

For å reprodusere dette prosjektet trenger du noen verktøy, noe materiale og koden fra dette prosjektet.

Kode

For å få koden fra dette prosjektet, enten klone den (eller bedre, gaffel den) fra Github -depotet ved hjelp av GIT, og hvis du ikke vet hva GIT, klon og gaffel betyr, kan du bare laste den ned på datamaskinen din ved hjelp av denne lenken?.

Deretter kan du konfigurere den etter dine behov!

For å bruke Telegram må NodeMCU være koblet til internett. Jeg gjorde det ved hjelp av WIFI -modulen og mitt hjemme WIFI. For å konfigurere din egen tilkobling, åpne plant_watering.ino-skriptet i Arduino IDE, og fyll ut de manglende verdiene for wifi-legitimasjonen din (jeg antar at du har WiFi):

String ssid = "xxxxx"; // Navnet på Wifi String -passet ditt = "xxxxx"; // Wifi -passord

Deretter setter vi opp en Telegram -bot, som er en brukerkonto litt som du har, men som faktisk drives av en robot (NodeMCU). Følg trinnene beskrevet her for å gjøre det. Med få ord:

  • Åpne Telegram (og koble til kontoen din);
  • Lag en ny bot:

    • Søk i BotFather i kontaktene dine (skriv det i søkefeltet), og åpne en samtale med det (som du ville gjort med en ny kontakt);
    • Skriv /newbot i samtalen (se etter saken og inkluder /!)
    • Gi botens navn som du vil, men avslutt den med "bot" (f.eks. "Watering_balcony_bot");
    • Botfather gir deg et bot -token, hold det veldig hemmelig (ikke del det med GIT !!), vi bruker det i noen få trinn;
    • Søk det i kontaktene dine, og send den denne meldingen: /start
    • Kopier tokenet returnert av Botfather og lim det inn på plant_watering.ino -skriptet ditt her:

      String token = "xxxxxx: xxxxxxxxxxxxxxxxxxxxxxx"; // Telegram bot -token

Boten din lever nå!

For å gi den muligheten til å kommunisere med deg, må den kjenne din samtale -ID. Fordi vi ønsker å kunne dele hva boten sier med andre mennesker i tilfelle vi reiser ut, foretrekker jeg å opprette en gruppechat i stedet. Så opprett en (Ny gruppe), legg til boten din ved å søke i navnet, og legg til en tredje bot som heter IDBot midlertidig. Gi deretter navnet til gruppechatten din som du vil. Åpne gruppechatten, og skriv /getgroupid. IDBot vil returnere et nummer som -xxxxxxxxx (ikke glem minuset når du kopierer det!), Det er din gruppechat -ID!

Du kan også be /getid få din personlige ID, så boten din sender meldinger direkte til deg i stedet (ikke sender den til gruppen)

Kopier IDen, og lim den inn på plant_watering.ino -skriptet ditt her:

int chatID = -000000000; // Dette er ID -en til gruppechatten din Lim inn /getid her i stedet hvis du vil at boten skal sende meldinger direkte til deg

Fjern deretter IDBot fra gruppen din i tilfelle (vi vil ikke at noen data lekker ut).

For det siste trinnet må du installere CTBot- og ArduinoJson -bibliotekene. For å gjøre det, skriv ctrl+maj+I, søk på CTBot, og søk etter CTBot av Stefano Ledda, og klikk på installer. Gjenta deretter for ArduinoJson, og søk etter ArduinoJson av Benoit Blanchon, men installer versjon 5.13.5 foreløpig fordi CTBot ikke er kompatibel med den sjette versjonen ennå (du kan sjekke her om det er noen endringer).

Og det er det, koden din er klar! Nå kan du laste den opp til NodeMCU! Hvis det er noen feil, må du kontrollere at du valgte NodeMCU 1.0 som brettype, og at du bruker riktig versjon for bibliotekene dine.

Trinn 2: Verktøy

Verktøy

Verktøyene er veldig enkle, jeg brukte for dette prosjektet:

  • Et loddejern + tinn (f.eks. 220V 60W);
  • Et multimeter (mitt er en TackLife DM01M);
  • En flat skrutrekker (liten er bedre);
  • Skjære tang;

Hvis du har dem kan du også legge til noen wire strippere, men de er ikke uunnværlige.

Trinn 3: Montering

montering
montering

Du kan finne monteringen av delene ved hjelp av Fritzing for å åpne Fritzing -prosjektet i Github -depotet.

NB: NodeMCU er koblet til solkontrollen med en USB -kabel (den i skjematikken har ikke en). Se Material -delen for et eksempel på en solcellelader med USB.

Jeg gjorde alle egendefinerte deler tilgjengelige i fritzing -mappen fra Github -prosjektet (alt finnes på internett bortsett fra vannfløteren fordi jeg gjorde det).

Trinn 4: Bekreftelser

Jeg vil gjerne anerkjenne min fantastiske partner som lot meg gjøre dette i helgene! Og selvfølgelig alle skaperne som gjorde prosjektet mulig, for eksempel @shurillu for super CTBot -biblioteket, EstebanP27 for opplæringen min, som jeg lærte mye av for dette prosjektet! Jeg vil også takke svgrepo som jeg brukte SVGer som grunnlag for logoen.

Anbefalt: