Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Projektudvikling
- Trin 2: Indsætning af fugtføleren i kredsløbet
- Trin 3: Forstå fugtværdierne
- Trin 4: Logisk programmering
- Trin 5: Anerkendelser
Video: Advarselssystem for lav fugtig jord til din plante: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
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
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
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
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:
Sådan laver du din egen WIFI -gateway til at forbinde din Arduino til IP -netværk?: 11 trin (med billeder)
Sådan laver du din egen WIFI -gateway til at forbinde din Arduino til IP -netværk?: Som så mange mennesker synes du, at Arduino er en meget god løsning til hjemmeautomatisering og robotik! Men når det kommer til kommunikation, kommer Arduinos bare med serielle links. Jeg arbejder på en robot, der skal være permanent forbundet med en server, der kører ar
Makey Makey - Tidligt advarselssystem for kraftig vind: 5 trin
Makey Makey - Early Warning System for High Wind: Dette " early warning system " designudfordring ville blive givet til en gruppe studerende. Målet er, at et team af studerende (to eller tre pr. Gruppe) designer et system, der advarer folk om at søge ly for vind, der er i fare
Vandføler til jord: 7 trin
Vandsensor til jord: Dette projekt er en let og meget informativ måde at uddanne de studerende, der er effektive til at skrive koder og forstå mekanismerne for elektronikken involveret i arduinoen. Nødvendige materialer:- Arduino mikrokontroller- Vandsensor (m
BRUG DIN GARMIN E-TREX LEGEND GPS MED GOOGLE JORD: 4 trin
BRUG DIN GARMIN E-TREX LEGEND GPS MED GOOGLE JORD: EN NY OG FORBEDRET MÅDE AT BRUGE DIN GARMIN E-TREX MED GOOGLE JORD, MED BÆRBARE, G.P.S. OG SOFTWARE DIN KUNNE AT HA EN VIRKELIG FANTASTISK OPSÆTNING. Selvfølgelig vil dette være for prissamvittigheden. HVIS DU HAR NOGET SPØRGSMÅL, KAN DU FØLGE GRATIS AT SPØRE OG GØRE
Infrarød jord/objektsensor til robotnavigation: 3 trin
Infrarød jord/objektsensor til robotnavigation: jeg brugte denne sensor på 2 af mine robotter. dem arbejdede på en bordoverflade, så robotterne måtte opdage, når de er ankommet til kanten, for at stoppe og vende tilbage … det kan også fornemme forhindringer i vejen