Inhoudsopgave:

Autonoom plantenbewateringssysteem: 4 stappen
Autonoom plantenbewateringssysteem: 4 stappen

Video: Autonoom plantenbewateringssysteem: 4 stappen

Video: Autonoom plantenbewateringssysteem: 4 stappen
Video: Autonoom (feat. Rät N FrikK) 2024, November
Anonim
Autonoom plantenbewateringssysteem
Autonoom plantenbewateringssysteem
Autonoom plantenbewateringssysteem
Autonoom plantenbewateringssysteem
Autonoom plantenbewateringssysteem
Autonoom plantenbewateringssysteem

Dit project presenteert een slim autonoom plantenbewateringssysteem. Het systeem is autonoom in energie met behulp van een 12v-batterij en een zonnepaneel, en geeft de plant water wanneer de juiste omstandigheden zijn ingesteld, met een goed doordacht (hoop ik) storingsvrij systeem. Het is slim omdat het via de Telegram-app met de gebruiker(s) communiceert.

De stappen die het systeem volgt zijn als volgt:

  • het bodemwatergehalte wordt altijd gecontroleerd;
  • als het bodemwatergehalte onder een bepaalde waarde ligt (max_soil_moisture), dan:

    • (?) controleert of de watertank niet leeg is (en tijdens) de bewatering om schade aan het drooglopen van de pomp te voorkomen;
    • (?) controleert of de minimale waterperiode tussen twee gietbeurten wordt overschreden. Dit wordt gedaan om te voorkomen dat de planten te veel water geven gedurende de dag (het is beter om op een bepaald moment een beetje droog te zijn), en om enige veiligheid te bieden in het geval dat de bodemvochtsensor kapot is;
    • (?) start de irrigatie;
    • stopt de irrigatie wanneer:

      • (?) het bodemwatergehalte een bepaalde waarde bereikt (max_soil_moisture) of;
      • (?) de watertank leeg is, in welk geval de beregening wordt hervat zodra deze weer gevuld is, of;
      • (?) de besproeiingsduur overschrijdt de maximaal toegestane duur voor elke besproeiingsgebeurtenis (bewatering_max_time). Het doel hier is om te voorkomen dat de pomp draait totdat de watertank leeg is als er een lek in het systeem is waardoor het bodemvocht niet zou toenemen;
  • (?) controleert of planten ten minste elke bepaalde tijd worden bewaterd (max_wo_water), om te voorkomen dat ze doodgaan als b.v. de bodemvochtsensor is kapot en geeft altijd hoge waarden terug;

De gebruiker wordt bij elke belangrijke stap op de hoogte gebracht door Telegram-berichten (aangeduid met ?). De gebruiker kan ook handmatig een irrigatiegebeurtenis van Telegram activeren, zelfs als het bodemwatergehalte hoger is dan de opgegeven waarde (max_soil_moisture). Het is ook mogelijk om het hele systeem AAN en UIT te zetten, te vragen of het systeem in bedrijf is, of de huidige waarde van het bodemwatergehalte te vragen (zie Telegram snapshot).

Benodigdheden

Materiaal

Hier is een lijst van de producten die zijn gebruikt om het systeem te bouwen. Ik moet zeggen dat ik geen incentives ontvang van Amazon, waarvan alle producten zijn gekocht.

Om het systeem te bedienen:

  • NodeMCU-bord (ESP8266) voor de hersenen, 17,99 €
  • Relaismodule, 11.99€
  • 120 prototyping jumperdraden, 6.99€ -> prototyping
  • 3 breadboards, 8,99€ -> prototyping
  • Waterdichte doos, 10,99 €
  • 525 stuks weerstanden kit, 10,99€
  • Bedrukte PCB met aansluitingen vergelijkbaar met een breadboard, 9,27€
  • Elektrisch gevlochten draden 20, 22 of 24 AWG, afhankelijk van uw voorkeur (20 is steviger maar moet voor sommige verbindingen worden verkleind, 22 is goed, 24 is goedkoper), 18,99 €

Voor de autonomie in energie:

  • 12V batterij, 21,90€
  • 10W wp 12V monokristallijn zonnepaneel, 23,90€
  • 12/24V laadregelaar, 13,99 €

Voor de watertank:

  • 12V waterpomp, 16.99€
  • DC mannelijke/vrouwelijke connector (om de pomp aan te sluiten), 6,99 €

De sensoren:

  • Waterpeil vlotter, 7.99€
  • Capacitieve bodemvochtsensor, 9,49€
  • wat nagellak om de bodemvochtsensor waterdicht te maken, € 7,99;

En het irrigatiesysteem:

Irrigatiesysteem, 22.97€

Voor een totaal van 237,40€. Dat is niet goedkoop! Maar houd er rekening mee dat het nog steeds goedkoper is dan een kant-en-klaar systeem, en met veel meer mogelijkheden! Sommige onderdelen zijn ook alleen voor prototyping (15,98 €), en ik heb veel componenten in groepen van meerdere stukken gekocht voor andere projecten, b.v. 525 weerstanden is een gek aantal, je hebt geen 3 NodeMCU-kaarten nodig, noch 6 relais voor dit project.

Stap 1: Coderen

Om dit project te reproduceren, heb je wat gereedschap, wat materiaal en de code van dit project nodig.

Code

Om de code van dit project te krijgen, moet je deze ofwel klonen (of beter: fork) vanuit de Github-repository met behulp van GIT, en als je niet weet wat GIT, clone en fork betekent, download het dan gewoon op je computer via deze link ?.

Configureer het vervolgens naar uw behoeften!

Om Telegram te gebruiken, moet de NodeMCU verbonden zijn met internet. Ik deed het met behulp van de WIFI-module en mijn wifi thuis. Om je eigen verbinding te configureren, open je het plant_watering.ino-script in Arduino IDE en vul je de ontbrekende waarden in voor je wifi-inloggegevens (ik neem aan dat je wifi hebt):

String ssid = "xxxxx"; // Naam van uw Wifi String-pas = "xxxxx"; // Wifi wachtwoord

Vervolgens zullen we een Telegram-bot opzetten, een gebruikersaccount die een beetje lijkt op die van u, maar die wordt beheerd door een robot (uw NodeMCU). Volg hiervoor de stappen die hier worden beschreven. In een paar woorden:

  • Open Telegram (en maak verbinding met uw account);
  • Maak een nieuwe bot:

    • Zoek BotFather in je contacten (typ het in de zoekbalk) en open er een gesprek mee (zoals je zou doen met elk nieuw contact);
    • Typ /newbot in het gesprek (let op de zaak en voeg de /!)
    • Geef je bot een naam zoals je wilt, maar eindig hem met "bot" (bijv. "watering_balcony_bot");
    • Botfather geeft je een bot-token, houd het heel geheim (deel het niet via GIT!!), we zullen het in een paar stappen gebruiken;
    • Zoek het in je contacten en stuur het dit bericht: /start
    • Kopieer het token dat door Botfather is geretourneerd en plak het hier in je plant_watering.ino-script:

      Tekenreekstoken = "xxxxxx:xxxxxxxxxxxxxxxxxxxxxxxx"; // Telegram-bottoken

Je bot is nu in leven!

Om het de mogelijkheid te geven om met u te communiceren, moet het uw gespreks-ID weten. Omdat we willen kunnen delen wat de bot zegt met andere mensen voor het geval we op vakantie gaan, maak ik liever een groepschat aan. Maak er dus een aan (Nieuwe groep), voeg uw bot toe door op de naam te zoeken en voeg tijdelijk een derde bot toe met de naam IDBot. Geef je groepschat vervolgens een naam zoals je wilt. Open je groepschat en typ /getgroupid. IDBot retourneert een nummer zoals -xxxxxxxxx (vergeet het minteken niet wanneer u het kopieert!), dat is uw groepschat-ID!

Je kunt ook /getid vragen om je persoonlijke ID te krijgen, zodat je bot in plaats daarvan berichten rechtstreeks naar je zal sturen (niet naar de groep)

Kopieer de ID en plak deze hier in uw plant_watering.ino-script:

int chat-ID = -00000000; // Dit is de ID van je groepschat Plak de /getid hier in plaats daarvan als u wilt dat de bot berichten rechtstreeks naar u verzendt

Verwijder vervolgens IDBot uit uw groep voor het geval dat (we willen niet dat er gegevens worden gelekt).

Voor de laatste stap moet u de CTBot- en ArduinoJson-bibliotheken installeren. Typ hiervoor ctrl+maj+I, zoek in CTBot en zoek naar CTBot van Stefano Ledda en klik op installeren. Herhaal dan voor ArduinoJson, en zoek naar ArduinoJson van Benoit Blanchon, maar installeer voorlopig versie 5.13.5 omdat CTBot nog niet compatibel is met de zesde versie (je kunt hier kijken of er wijzigingen zijn).

En dat is alles, uw code is klaar! Nu kunt u het uploaden naar de NodeMCU! Als er fouten zijn, controleer dan of je NodeMCU 1.0 hebt geselecteerd als het bordtype en of je de juiste versie voor je bibliotheken gebruikt.

Stap 2: Gereedschap

Gereedschap

De tools zijn heel eenvoudig, ik gebruikte voor dit project:

  • Een soldeerbout + blik (bijv. 220V 60W);
  • Een multimeter (de mijne is een TackLife DM01M);
  • Een platte schroevendraaier (klein is beter);
  • Snij tang;

Als je die hebt kun je ook wat draadstrippers toevoegen, maar die zijn niet onmisbaar.

Stap 3: Montage

samenkomst
samenkomst

Je kunt de assemblage van de onderdelen vinden met Fritzing om het Fritzing-project te openen in de Github-repository.

NB: de NodeMCU is via een USB-kabel verbonden met de zonnelaadcontroller (die in het schema heeft er geen). Zie de sectie Materiaal voor een voorbeeld van een zonnelaadcontroller met een USB.

Ik heb alle custom onderdelen beschikbaar gesteld in de fritzing folder van het Github project (allemaal te vinden op internet behalve de water floater want die heb ik gemaakt).

Stap 4: Dankbetuigingen

Ik wil mijn geweldige partner bedanken die me dit in de weekenden heeft laten doen! En natuurlijk alle makers die het project mogelijk hebben gemaakt, zoals @shurillu voor de super CTBot-bibliotheek, EstebanP27 voor zijn tutorial waarvan ik veel heb geleerd voor dit project! Ik wil ook graag svgrepo bedanken waarvan ik SVG's heb gebruikt als basis voor het logo.

Aanbevolen: