Inhoudsopgave:

Waarschuwingssysteem voor bodem met weinig vocht voor uw plant - Ajarnpa
Waarschuwingssysteem voor bodem met weinig vocht voor uw plant - Ajarnpa

Video: Waarschuwingssysteem voor bodem met weinig vocht voor uw plant - Ajarnpa

Video: Waarschuwingssysteem voor bodem met weinig vocht voor uw plant - Ajarnpa
Video: Wat doen organische stoffen en voeding voor je tuin? | Waarom voeden | Tuinmanieren 2024, November
Anonim
Waarschuwingssysteem voor bodem met weinig vocht voor uw plant
Waarschuwingssysteem voor bodem met weinig vocht voor uw plant

In verschillende woningen is het gebruikelijk om potten met verschillende soorten planten te vinden. En met het grote aantal dagelijkse activiteiten vergeten mensen hun planten water te geven en sterven ze door gebrek aan water.

Om dit probleem te voorkomen, hebben we besloten een systeem te maken om te informeren wanneer een plant geen water heeft. Zo vergeet je nooit meer je plant te irrigeren en blijft hij lang in leven. Vervolgens zullen we de hele ontwikkeling van dit project presenteren.

Benodigdheden

  • PCBWay aangepaste PCB
  • Analoge bodemvochtsensor voor Arduino
  • Arduino UNO
  • Overbruggingsdraden (generiek)
  • Standaard LCD - 16 x 2 blauw
  • UTSOURCE Draaipotentiometer 10k

Stap 1: Projectontwikkeling

Project Ontwikkeling
Project Ontwikkeling

Een van de manieren die we gebruiken om de hoeveelheid water in de plant te detecteren, is via de vochtparameter. Dus hoe minder water er in de pot van onze plant zit, hoe lager het bodemvocht.

Daarom moeten we een vochtigheidssensor gebruiken om de vochttoestand in onze plant te analyseren.

Hierdoor hebben we een circuit opgezet dat met Arduino in het breadboard is gemonteerd, om de bewaking en indicatie van een lage luchtvochtigheid van de cactuspot uit te voeren. Dus, door middel van het display LCD om onze gebruiker te informeren over het vocht, zoals weergegeven in figuur 1.

Stap 2: De vochtsensor in het circuit plaatsen

De vochtsensor in het circuit plaatsen
De vochtsensor in het circuit plaatsen
De vochtsensor in het circuit plaatsen
De vochtsensor in het circuit plaatsen

Van het bovenstaande circuit zullen we de sonde voor vochtigheidsmeting in de plant plaatsen die we willen bewaken. In ons project steken we een sonde in een kleine cactus, zoals weergegeven in figuur 2.

Nu zullen we zien hoe we stap voor stap werk kunnen projecteren en hierna zullen we leren hoe we de controlecode kunnen maken. In eerste instantie, wanneer we de sensor niet in de pot aansluiten, heeft het apparaat een laag vochtgehalte van 2% buiten de cactuspot. Dit is te zien in figuur 3.

Stap 3: Begrijp de vochtwaarden

Begrijp de vochtwaarden
Begrijp de vochtwaarden
Begrijp de vochtwaarden
Begrijp de vochtwaarden

Deze lage procentuele waarde staat voor een lage luchtvochtigheid. Nu, nadat de sensor in de grond van de cactuspot is gestoken, wordt een waarde van 36% weergegeven, zoals weergegeven in figuur 4. Dat wil zeggen, onze vochtigheid is laag en het systeem geeft het bericht Lage vochtigheid weer omdat de waarde lager is dan 60%.

De volgende stap is om de aarde van de kan van onze cactus te irrigeren en we kunnen de stijging van de waarde van de luchtvochtigheid tot 69% verifiëren.

Nadat we de werking van het project hebben begrepen, zullen we alle constructielogica presenteren om dit monitoringsysteem te creëren. Laten we beginnen!

Stap 4: Logisch programmeren

Hierna wordt de programmeerlogica gepresenteerd via de geconstrueerde code.

Aanvankelijk werd uitgeroepen tot de bibliotheek van Display LCD, variabelen en werd een object-LCD gemaakt met zijn verbindingspennen met Arduino UNO.

#erbij betrekken

#define sensor A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; byte UmidityPercent = 0, vocht = 0, Vorige Waarde = 0; int ValUmidade = 0, Analoge Waarde = 0; const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

Hierna werden de setup-functie en display LCD 16x2 geïnitialiseerd en werd de pin van de sensor geconfigureerd als input. Ten slotte hebben we de eerste meting van onze sensor gedaan en gebruikten we als referentie voor variabele PreviousValue, zoals hieronder wordt weergegeven.

{Serial.begin(9600); lcd.begin (16, 2); pinMode (sensor, INGANG); Vorige Waarde = analoog lezen (sensor); }

Met de gemaakte variabelen en de commando's in de void setup-functie, zullen we alle logische programmering in de loop-functie uitleggen.

//Le o valor do pino A0 do sensorAnalogValue = analogRead (sensor); //Mostra o valor da porta analogica geen seriële monitor Serial.print ("Analoge poort: "); Serial.println(AnalogValue); UmidityPercent = kaart (analoge waarde, 0, 1023, 0, 100); vochtigheid = 100 - UmidityPercentage;

In de lusfunctie werd de analoge waarde uitgelezen en de waarde werd toegewezen in een bereik van 0 en 100. Deze waarde vertegenwoordigt een percentage van bodemvocht. Als het vocht hoog is, nadert de waarde 0 en als het vocht laag is, nadert de waarde 100.

Om de weergave van de waarde te vergemakkelijken en om verwarring door de gebruiker te voorkomen, keren we deze logica om en stellen we voor dat 0% een lage luchtvochtigheid en 100% hoge luchtvochtigheid is. Dit is gedaan door middel van de berekening die is uitgevoerd na het in kaart brengen.

vocht = 100 - UmidityPercentage;

Na het lezen van de vochtigheidswaarde moet het op het LCD-scherm worden weergegeven. De volgende stap is om te controleren of de vochtwaarde verschilt van de waarde plus 1 of de waarde min 1, volgens de onderstaande voorwaarde.

if((vocht > (PreviousValue)+1) || (vocht < (PreviousValue)- 1))

Deze voorwaarde wordt gebruikt om te voorkomen dat het systeem dezelfde waarde meerdere keren op het LCD-scherm weergeeft. Maar als de voorwaarde waar is, zal het systeem de waarde op het LCD-scherm weergeven en controleren of de waarde meer of gelijk is aan 60% of minder dan 60%. het bericht Hoge vochtigheid, anders presenteert u het bericht Lage vochtigheid, zoals hieronder wordt weergegeven.

if((vocht > (PreviousValue)+1) || (vocht < (PreviousValue)- 1)) { lcd.setCursor(1, 0); lcd.print("Vocht: "); lcd.print(" "); lcd.setCursor(11, 0); lcd.print(vocht); lcd.print("%"); if (vocht = 60 && HighUmid == 0) { lcd.setCursor (2, 1); lcd.print(" "); lcd.setCursor(1, 1); lcd.print("Hoge vochtigheid"); HoogUmid = 1; LaagUmid = 0; } Vorige Waarde = vocht; }

Ten slotte zal het systeem de waarde van de variabele vochtigheid opslaan in de variabele PreviousValue om de waarde ervan te actualiseren. Elke keer dat een nieuwe waarde in het display wordt weergegeven, wordt de variabele PreviousValue geactualiseerd om te worden gebruikt in andere verwerkingscycli van de code. Daarom is dit een eenvoudig systeem dat wordt gebruikt om de vochtigheid van planten in onze residenties te controleren en gebruikers te informeren over het bodemvochtgehalte.

Stap 5: Erkenningen

Het Silícios Lab bedankt PCBWay voor zijn steun en samenwerking. En we hebben veel voordelen voor u. Verdien 10 gratis PCB's en veel bonenmunten (Meer weten) om te ruilen voor producten op de PCBWay-website.

Naast hen bedankt het Silícios Lab UTSOURCE voor zijn ondersteuning, voor het aanbieden van goedkope elektronische componenten van hoge kwaliteit en goede service.

Aanbevolen: