Indholdsfortegnelse:

Advarselssystem for lav fugtig jord til din plante: 5 trin
Advarselssystem for lav fugtig jord til din plante: 5 trin

Video: Advarselssystem for lav fugtig jord til din plante: 5 trin

Video: Advarselssystem for lav fugtig jord til din plante: 5 trin
Video: Razmnožavanje smokve na jednostavan način 2024, November
Anonim
Advarselssystem for jord med lav fugtighed til din plante
Advarselssystem for jord med lav fugtighed til din plante

I flere boliger er det almindeligt at finde krukker med forskellige plantetyper. Og med det store antal daglige aktiviteter glemmer folk at vande deres planter, og de ender med at dø på grund af mangel på vand.

For at undgå dette problem besluttede vi at oprette et system til at informere, når et anlæg ikke har vand. På denne måde glemmer du aldrig at skylle din plante, og den vil forblive i live i lang tid. Dernæst vil vi præsentere hele udviklingen af dette projekt.

Forbrugsvarer

  • PCBWay Custom PCB
  • Analog jordfugtighedssensor til Arduino
  • Arduino UNO
  • Jumperwires (generisk)
  • Standard LCD - 16 x 2 blå
  • UTSOURCE Rotationspotentiometer 10k

Trin 1: Projektudvikling

Projektudvikling
Projektudvikling

En af de måder, vi bruger til at registrere mængden af vand i anlægget, er gennem fugtparameteren. Så jo mindre vand der er i krukken på vores plante, jo lavere er jordens fugtighed.

Derfor skal vi bruge en fugtighedsføler til at analysere fugtighedstilstanden i vores anlæg.

Gennem det oprettede vi et kredsløb monteret i brødbrættet med Arduino for at udføre overvågning og indikation af lav fugtighed i kaktusglas. Så ved hjælp af displayets LCD -display til at informere vores bruger om fugtigheden, som det er vist i figur 1.

Trin 2: Indsætning af fugtføleren i kredsløbet

Indsætning af fugtføleren i kredsløbet
Indsætning af fugtføleren i kredsløbet
Indsætning af fugtføleren i kredsløbet
Indsætning af fugtføleren i kredsløbet

Fra ovenstående kredsløb vil vi indsætte sonden til fugtighedsmåling i det anlæg, som vi ønsker at overvåge. I vores projekt indsætter vi en sonde i en lille kaktus, som vist i figur 2.

Nu vil vi se, hvordan vi projekterer arbejde trin-for-trin og herefter vil lære at oprette kontrolkoden. I første omgang, når vi ikke tilslutter sensoren inde i krukken, har enheden et lavt fugtindhold på 2% udenfor kaktusglas. Dette kan ses i figur 3.

Trin 3: Forstå fugtværdierne

Forstå fugtværdierne
Forstå fugtværdierne
Forstå fugtværdierne
Forstå fugtværdierne

Denne lave procentværdi repræsenterer en lav luftfugtighed. Nu, efter at sensoren er indsat i kaktusglasets jord, vises en værdi på 36%, som det er vist i figur 4. Det vil sige, at vores fugtighed er lav, og systemet viser meddelelsen Lav fugt, fordi værdien er mindre end 60%.

Det næste trin er at skylle jorden i vores kaktus kande, og vi kan kontrollere stigningen i fugtighedsværdien til 69%.

Efter at have forstået, hvordan projektet fungerer, vil vi præsentere al konstruktionslogik for at oprette dette overvågningssystem. Lad os komme i gang!

Trin 4: Logisk programmering

Herefter vil programmeringslogikken blive præsenteret gennem den konstruerede kode.

Oprindeligt blev det erklæret biblioteket med Display LCD, variabler og blev skabt til et objekt LCD med sine stifter til forbindelse med Arduino UNO.

#omfatte

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

Efter dette blev opsætningsfunktionen og displayet 16x2 initialiseret, og sensorens stift blev konfigureret som et input. Til sidst foretog vi den første aflæsning af vores sensor, og vi brugte den som reference til variablen PreviousValue, som vist herunder.

{Serial.begin (9600); lcd.begin (16, 2); pinMode (sensor, INPUT); PreviousValue = analogRead (sensor); }

Med de variable, der er oprettet, og kommandoerne i void -opsætningsfunktionen, forklarer vi al logisk programmering i loop -funktionen.

// Le o valor do pino A0 do sensorAnalogValue = analogRead (sensor); // Mostra o valor da porta analogica no serial monitor Serial.print ("Analog Port:"); Serial.println (AnalogValue); UmidityPercent = map (AnalogValue, 0, 1023, 0, 100); fugt = 100 - UmidityPercent;

I loop -funktionen blev den analoge værdi aflæst, og værdien blev kortlagt i et område på 0 og 100. Denne værdi repræsenterer en procentdel af jordens fugtighed. Når fugtigheden er høj verden, nærmer værdien sig 0, og hvis fugtigheden er lav nærmer værdien sig 100.

For at lette repræsentationen af værdien og for at forhindre, at brugerens læsning bliver forvirrende, vender vi denne logik og repræsenterer, at 0% vil være lav luftfugtighed og 100% høj luftfugtighed. Dette blev foretaget ved hjælp af den beregning, der blev udført efter kortlægningen.

fugt = 100 - UmidityPercent;

Efter at have læst skal fugtværdien vises på LCD -displayet. Det næste trin er at kontrollere, om fugtværdien er forskellig fra dens værdi plus 1 eller dens værdi minus 1, i henhold til nedenstående betingelse.

hvis ((fugt> (ForrigeVærdi) +1) || (fugt <(ForrigeVærdi)- 1))

Denne betingelse bruges til at forhindre, at systemet viser den samme værdi flere gange i LCD -displayet. Men når betingelsen er sand, vil systemet præsentere værdien på LCD'et og kontrollere, om værdien er mere eller lig med 60%eller mindre end 60%. Hvis værdien var mere eller lig med 60%, er systemet til stede meddelelsen Høj fugtighed, ellers præsenter meddelelsen Lav fugtighed, som det er vist nedenfor.

hvis ((fugt> (ForrigeVærdi) +1) || (fugt <(ForrigeVærdi)- 1)) {lcd.setCursor (1, 0); lcd.print ("Fugt:"); lcd.print (""); lcd.setCursor (11, 0); lcd.print (fugt); lcd.print ("%"); hvis (fugt = 60 && HighUmid == 0) {lcd.setCursor (2, 1); lcd.print (""); lcd.setCursor (1, 1); lcd.print ("Høj fugtighed"); HighUmid = 1; LowUmid = 0; } Forrige værdi = fugtighed; }

Endelig vil systemet gemme værdien af fugtvariablen i variablen PreviousValue for at aktualisere dens værdi. Hver gang en ny værdi vises i displayet, variablen PreviousValue aktualiseres til brug i andre cyklusser af behandling af koden. Derfor er dette et simpelt system, der bruges til at overvåge fugtigheden af planter i vores rester og informere brugerne om jordens fugtighedsniveau.

Trin 5: Anerkendelser

Silícios Lab takker PCBWay for sin støtte og samarbejde. Og vi har mange fordele for dig. Tjen 10 gratis PCB'er og masser af bønnemønter (vide mere) til handel med produkter på PCBWay -webstedet.

Ud over dem takker Silícios Lab UTSOURCE for sin støtte for at tilbyde os de billige elektroniske komponenter af god kvalitet og god service.

Anbefalede: