Sistem upozorenja za tlo niske vlažnosti za vašu biljku: 5 koraka
Sistem upozorenja za tlo niske vlažnosti za vašu biljku: 5 koraka

Video: Sistem upozorenja za tlo niske vlažnosti za vašu biljku: 5 koraka

Video: Sistem upozorenja za tlo niske vlažnosti za vašu biljku: 5 koraka
Video: Противовирусная настройка иммунитета 2025, Januar
Anonim
Sistem upozorenja za tlo niske vlažnosti za vašu biljku
Sistem upozorenja za tlo niske vlažnosti za vašu biljku

U nekoliko rezidencija uobičajeno je pronaći staklenke s različitim vrstama biljaka. Uz veliki broj svakodnevnih aktivnosti, ljudi zaboravljaju zalijevati svoje biljke i umiru zbog nedostatka vode.

Kako bismo izbjegli ovaj problem, odlučili smo stvoriti sistem za obavještavanje kada biljka nema vode. Na ovaj način nikada nećete zaboraviti navodnjavati svoju biljku i ona će dugo ostati živa. Zatim ćemo predstaviti cjelokupni razvoj ovog projekta.

Supplies

  • PCBWay Prilagođena PCB
  • Analogni senzor vlage tla za Arduino
  • Arduino UNO
  • Žice za spajanje (općenito)
  • Standardni LCD - 16 x 2 plavi
  • UTSOURCE rotacijski potenciometar 10k

Korak 1: Razvoj projekata

Razvoj projekata
Razvoj projekata

Jedan od načina za otkrivanje količine vode u biljci je parametar vlage. Dakle, što je manje vode u staklenci naše biljke, to je niža vlaga u tlu.

Stoga moramo koristiti senzor vlažnosti za analizu stanja vlage u našoj biljci.

Kroz njega smo postavili krug montiran u matičnoj ploči s Arduinom, za praćenje i indikaciju niske vlažnosti staklenke s kaktusima. Dakle, pomoću LCD ekrana koji informiše našeg korisnika o vlažnosti, kao što je prikazano na slici 1.

Korak 2: Umetanje senzora vlage u krug

Umetanje senzora vlage u krug
Umetanje senzora vlage u krug
Umetanje senzora vlage u krug
Umetanje senzora vlage u krug

Iz gornjeg kruga ubacit ćemo sondu za mjerenje vlažnosti u postrojenje koje želimo nadzirati. U našem projektu ubacujemo sondu u mali kaktus, kao što je prikazano na slici 2.

Sada ćemo vidjeti kako projicirati rad korak po korak i u nastavku, naučit ćemo kako kreirati kontrolni kod. U početku, kada ne povežemo senzor unutar posude, uređaj ima nizak sadržaj vlage od 2% izvana tegla za kaktus. To se može vidjeti na slici 3.

Korak 3: Shvatite vrijednosti vlage

Shvatite vrijednosti vlage
Shvatite vrijednosti vlage
Shvatite vrijednosti vlage
Shvatite vrijednosti vlage

Ova niska postotna vrijednost predstavlja nisku vlažnost. Sada, nakon umetanja senzora u tlo posude s kaktusima, prikazat će se vrijednost od 36%, kao što je prikazano na slici 4. To jest, naša vlažnost je niska i sistem prikazuje poruku Low Moisture jer je vrijednost manja više od 60%.

Sljedeći korak je navodnjavanje tla vrča našeg kaktusa i možemo provjeriti povećanje vrijednosti vlažnosti na 69%.

Nakon razumijevanja rada projekta, predstavit ćemo svu logiku izgradnje za stvaranje ovog sistema praćenja. Počnimo!

Korak 4: Logičko programiranje

U nastavku će programska logika biti predstavljena kroz konstruirani kod.

U početku je proglašena bibliotekom Display LCD -a, varijabli i stvoren je objektni LCD sa svojim pinovima veze sa Arduino UNO.

#include

#define senzor A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; bajt UmidityPercent = 0, vlažnost = 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);

Nakon toga su funkcija za postavljanje i LCD ekran 16x2 inicijalizirane, a pin senzora konfiguriran kao ulaz. Konačno smo prvo očitali senzor i koristili smo ga kao referencu za varijablu PreviousValue, kao što je prikazano u nastavku.

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

S kreiranim varijablama i naredbama u funkciji void setup, objasnit ćemo sve logičko programiranje u funkciji petlje.

// O valor do pino A0 do sensorAnalogValue = analogRead (sensor); // Vrijednost analognog porta bez serijskog monitora Serial.print ("Analogni port:"); Serial.println (AnalogValue); UmidityPercent = mapa (AnalogValue, 0, 1023, 0, 100); vlaga = 100 - UmidityPercent;

U funkciji petlje, analogna vrijednost je očitana i vrijednost je mapirana u rasponu od 0 i 100. Ova vrijednost predstavlja postotak vlažnosti tla. Kad je vlaga velika, vrijednost se približava 0, a ako je vlaga niska, vrijednost se približava 100.

Da bismo olakšali predstavljanje vrijednosti i spriječili zbunjivanje korisničkog čitanja, preokrećemo ovu logiku i predstavljamo da će 0% biti niska vlažnost i 100% visoka vlažnost. To je učinjeno pomoću proračuna izvršenog nakon mapiranja.

vlaga = 100 - UmidityPercent;

Nakon očitavanja, vrijednost vlage je potrebno prikazati na LCD ekranu. Sljedeći korak je provjeriti razlikuje li se vrijednost vlage od njene vrijednosti plus 1 ili vrijednosti minus 1, u skladu s donjim uvjetom.

if ((vlaga> (Prethodna vrijednost) +1) || (vlaga <(Prethodna vrijednost)- 1))

Ovaj uslov se koristi da se spriječi sistem da prikaže istu vrijednost nekoliko puta na LCD ekranu. Ali, kada je uslov ispunjen, sistem će prikazati vrijednost na LCD -u i provjeriti je li vrijednost veća ili jednaka od 60%ili manja od 60%. Ako je vrijednost bila veća ili jednaka od 60%, sistem je prisutan poruka High Moisture, inače, prikazuje poruku Low Moisture, kao što je prikazano ispod.

if ((vlaga> (Prethodna vrijednost) +1) || (vlaga <(Prethodna vrijednost)- 1)) {lcd.setCursor (1, 0); lcd.print ("Vlaga:"); lcd.print (""); lcd.setCursor (11, 0); lcd.print (vlaga); lcd.print ("%"); if (vlaga = 60 && HighUmid == 0) {lcd.setCursor (2, 1); lcd.print (""); lcd.setCursor (1, 1); lcd.print ("Visoka vlaga"); HighUmid = 1; LowUmid = 0; } PreviousValue = vlaga; }

Konačno, sistem će pohraniti vrijednost varijable vlažnosti u varijablu PreviousValue kako bi aktualizirao njenu vrijednost. Svaki put kada se na ekranu prikaže nova vrijednost, varijabla PreviousValue se aktualizira za upotrebu u drugim ciklusima obrade koda. Stoga je ovo jednostavan sistem koji se koristi za praćenje vlage biljaka u našim stanovima i informiranje korisnika o nivo vlažnosti zemljišta.

Korak 5: Zahvalnice

Silícios Lab zahvaljuje PCBWay -u na podršci i zajedničkom radu. A mi imamo mnogo prednosti za vas. Zaradite 10 besplatnih PCB -a i puno novčića u grahu (Saznajte više) za trgovinu proizvodima na web stranici PCBWay.

Osim njih, Silícios Lab zahvaljuje UTSOURCE -u na podršci, što nam nudi jeftine elektroničke komponente odličnog kvaliteta i dobre usluge.