Innholdsfortegnelse:

Varslingssystem for jord med lav fuktighet for planten din: 5 trinn
Varslingssystem for jord med lav fuktighet for planten din: 5 trinn

Video: Varslingssystem for jord med lav fuktighet for planten din: 5 trinn

Video: Varslingssystem for jord med lav fuktighet for planten din: 5 trinn
Video: Невероятно красивые засухоустойчивые цветы для солнечных мест, о которых мало, кто знает 2024, Juli
Anonim
Varslingssystem for jord med lav fuktighet for planten din
Varslingssystem for jord med lav fuktighet for planten din

På flere boliger er det vanlig å finne krukker med forskjellige plantetyper. Og med det store antallet daglige aktiviteter, glemmer folk å vanne plantene sine, og de ender med å dø på grunn av mangel på vann.

For å unngå dette problemet bestemte vi oss for å lage et system for å informere når et anlegg ikke har vann. På denne måten vil du aldri glemme å vanne planten din, og den vil holde seg i live lenge. Deretter vil vi presentere hele utviklingen av dette prosjektet.

Rekvisita

  • PCBWay Custom PCB
  • Analog jordfuktighetssensor for Arduino
  • Arduino UNO
  • Stikkledere (generisk)
  • Standard LCD - 16 x 2 blå
  • UTSOURCE Rotary Potentiometer 10k

Trinn 1: Prosjektutvikling

Prosjektutvikling
Prosjektutvikling

En av måtene vi bruker til å oppdage mengden vann i anlegget er gjennom fuktighetsparameteren. Så jo mindre vann det er i glasset på planten vår, desto lavere blir fuktigheten i jorda.

Derfor må vi bruke en fuktighetssensor for å analysere tilstanden til fuktighet i anlegget vårt.

Gjennom den satte vi opp en krets montert i brødbrettet med Arduino, for å utføre overvåking og indikasjon på lav luftfuktighet i kaktusburken. Så med LCD -displayet for å informere brukeren om fuktigheten, som vist i figur 1.

Trinn 2: Sett inn fuktsensoren i kretsen

Sett inn fuktighetssensoren i kretsen
Sett inn fuktighetssensoren i kretsen
Sett inn fuktighetssensoren i kretsen
Sett inn fuktighetssensoren i kretsen

Fra kretsen ovenfor vil vi sette inn sonden for fuktighetsmåling i anlegget som vi ønsker å overvåke. I vårt prosjekt setter vi inn en sonde i en liten kaktus, som vist i figur 2.

Nå vil vi se hvordan vi prosjekterer arbeid trinn-for-trinn og heretter vil lære hvordan du oppretter kontrollkoden. I utgangspunktet, når vi ikke kobler sensoren inne i glasset, har enheten et lavt fuktighetsinnhold på 2% utenfor kaktuskrukken. Dette kan sees på figur 3.

Trinn 3: Forstå fuktighetsverdiene

Forstå fuktighetsverdiene
Forstå fuktighetsverdiene
Forstå fuktighetsverdiene
Forstå fuktighetsverdiene

Denne lave prosentverdien representerer lav luftfuktighet. Nå, etter at sensoren er satt inn i kaktusbeholderens jord, vil en verdi på 36% vises, som vist i figur 4. Det vil si at fuktigheten vår er lav og systemet viser meldingen Lav fuktighet fordi verdien er mindre enn 60%.

Det neste trinnet er å vanne jorda til muggen på kaktusen vår, og vi kan bekrefte økningen av fuktighetsverdien til 69%.

Etter å ha forstått hvordan prosjektet fungerer, vil vi presentere all konstruksjonslogikk for å lage dette overvåkingssystemet. La oss komme i gang!

Trinn 4: Logisk programmering

Heretter vil programmeringslogikken bli presentert gjennom den konstruerte koden.

Opprinnelig ble det erklært biblioteket for display LCD, variabler og ble opprettet et objekt LCD med sine pins for forbindelse med Arduino UNO.

#inkludere

#define sensor A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; byte UmidityPercent = 0, fuktighet = 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);

Etter dette ble oppsettsfunksjonen og LCD -displayet 16x2 initialisert og pinnen til sensoren ble konfigurert som en inngang. Til slutt foretok vi den første avlesningen av sensoren vår, og vi brukte som referanse for variabelen PreviousValue, som vist nedenfor.

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

Med variablene som er opprettet og kommandoene i funksjonen for oppsett av tomrom, vil vi forklare all logisk programmering i sløyfefunksjonen.

// 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); fuktighet = 100 - UmidityPercent;

I sløyfefunksjonen ble den analoge verdien lest og verdien ble kartlagt i området 0 og 100. Denne verdien representerer en prosentandel av fuktighet i jord. Når fuktigheten er høy verden, nærmer verdien seg 0 og hvis fuktigheten er lav nærmer verdien seg 100.

For å lette representasjonen av verdien og for å forhindre at brukerens lesing blir forvirrende, reverserer vi denne logikken og representerer at 0% vil være lav luftfuktighet og 100% høy luftfuktighet. Dette ble gjort ved hjelp av beregningen utført etter kartleggingen.

fuktighet = 100 - UmidityPercent;

Etter å ha lest må fuktverdien vises på LCD -skjermen. Det neste trinnet er å kontrollere om fuktighetsverdien er forskjellig fra verdien pluss 1 eller verdien minus 1, i henhold til betingelsen nedenfor.

hvis ((fuktighet> (Forrige verdi) +1) || (fuktighet <(Forrige verdi)- 1))

Denne betingelsen brukes for å forhindre at systemet viser den samme verdien flere ganger i LCD -displayet. Men når betingelsen er sann, vil systemet presentere verdien på LCD -skjermen og verifisere om verdien er mer eller lik enn 60%eller mindre enn 60%. Hvis verdien var mer eller lik enn 60%, er systemet tilstede meldingen Høy fuktighet, ellers presenterer du meldingen Lav fuktighet, som vist nedenfor.

if ((fuktighet> (ForrigeValue) +1) || (fuktighet <(ForrigeVærdi)- 1)) {lcd.setCursor (1, 0); lcd.print ("Fuktighet:"); lcd.print (""); lcd.setCursor (11, 0); lcd.print (fuktighet); lcd.print ("%"); if (fuktighet = 60 && HighUmid == 0) {lcd.setCursor (2, 1); lcd.print (""); lcd.setCursor (1, 1); lcd.print ("høy fuktighet"); HighUmid = 1; LowUmid = 0; } Forrige verdi = fuktighet; }

Til slutt vil systemet lagre verdien av fuktighetsvariabel i varianten PreviousValue for å aktualisere verdien. Hver gang en ny verdi presenteres i displayet, blir variabelen PreviousValue aktualisert for bruk i andre sykluser med behandling av koden. Derfor er dette et enkelt system som brukes til å overvåke fuktigheten til planter i våre rester og informere brukerne om jordens fuktighetsnivå.

Trinn 5: Bekreftelser

Silícios Lab takker PCBWay for støtten og samarbeidet. Og vi har mange fordeler for deg. Tjen 10 gratis PCB -er og mange bønnemynter (vite mer) for å handle for produkter på PCBWay -nettstedet.

I tillegg til dem, takker Silícios Lab UTSOURCE for støtten, for å tilby oss elektroniske komponenter til rimelige priser av god kvalitet og god service.

Anbefalt: