Turinys:

Įspėjimo apie mažai drėgną dirvą jūsų augalui sistema: 5 žingsniai
Įspėjimo apie mažai drėgną dirvą jūsų augalui sistema: 5 žingsniai

Video: Įspėjimo apie mažai drėgną dirvą jūsų augalui sistema: 5 žingsniai

Video: Įspėjimo apie mažai drėgną dirvą jūsų augalui sistema: 5 žingsniai
Video: Daržas be kasimo, laistymo ir trąšų | Saulius Jasionis 2024, Lapkritis
Anonim
Įspėjimo apie žemą drėgmę dirvožemio sistema jūsų augalui
Įspėjimo apie žemą drėgmę dirvožemio sistema jūsų augalui

Keliose rezidencijose įprasta rasti stiklainių su įvairių rūšių augalais. Dėl daugybės kasdienių užsiėmimų žmonės pamiršta laistyti augalus ir miršta dėl vandens trūkumo.

Siekdami išvengti šios problemos, nusprendėme sukurti sistemą, kuri informuotų, kai augalas neturi vandens. Tokiu būdu niekada nepamiršite laistyti savo augalo ir jis išliks gyvas ilgą laiką. Toliau pristatysime visą šio projekto plėtrą.

Prekės

  • PCBWay Individualus PCB
  • Analoginis dirvožemio drėgmės jutiklis, skirtas „Arduino“
  • Arduino UNO
  • Trumpieji laidai (bendrieji)
  • Standartinis LCD - 16 x 2 mėlynas
  • „UTSOURCE“sukamasis potenciometras 10k

1 žingsnis: projekto kūrimas

Projekto plėtra
Projekto plėtra

Vienas iš būdų, kuriuo mes nustatome vandens kiekį augale, yra drėgmės parametras. Taigi, kuo mažiau vandens yra mūsų augalo inde, tuo mažesnė dirvožemio drėgmė.

Todėl, norėdami išanalizuoti mūsų augalo drėgmės būklę, turime naudoti drėgmės jutiklį.

Per jį mes sukūrėme grandinę, sumontuotą duonos lentoje su „Arduino“, kad galėtume stebėti ir parodyti mažą kaktuso indelio drėgmę. Taigi, naudojant LCD ekraną, kuris informuoja mūsų vartotoją apie drėgmę, kaip parodyta 1 paveiksle.

2 žingsnis: Įdėkite drėgmės jutiklį į grandinę

Įdėkite drėgmės jutiklį į grandinę
Įdėkite drėgmės jutiklį į grandinę
Įdėkite drėgmės jutiklį į grandinę
Įdėkite drėgmės jutiklį į grandinę

Iš aukščiau pateiktos grandinės mes įdėsime zondą drėgmei matuoti į įrenginį, kurį norime stebėti. Mūsų projekte mes įkišame zondą į mažą kaktusą, kaip parodyta 2 paveiksle.

Dabar mes pamatysime, kaip žingsnis po žingsnio projektuoti darbą, o vėliau sužinosime, kaip sukurti valdymo kodą. Iš pradžių, kai neprijungsime jutiklio prie stiklainio, prietaiso drėgmė yra maža-2% išorėje kaktuso indelį. Tai galima pamatyti 3 paveiksle.

3 žingsnis: supraskite drėgmės vertes

Suprasti drėgmės vertes
Suprasti drėgmės vertes
Suprasti drėgmės vertes
Suprasti drėgmės vertes

Ši maža procentinė vertė reiškia mažą drėgmę. Dabar, įdėjus jutiklį į kaktuso indelio dirvą, bus parodyta 36% vertė, kaip parodyta 4 paveiksle. nei 60%.

Kitas žingsnis yra laistyti mūsų kaktuso ąsočio dirvą ir galime patikrinti, ar drėgmės vertė padidėjo iki 69%.

Suprasdami projekto veikimą, pateiksime visą statybos logiką kuriant šią stebėjimo sistemą. Leiskite pradėti!

4 žingsnis: loginis programavimas

Toliau programavimo logika bus pateikta per sukonstruotą kodą.

Iš pradžių buvo paskelbta ekrano LCD biblioteka, kintamųjų biblioteka ir buvo sukurtas LCD objektas su jungtimis su „Arduino UNO“.

#įtraukti

#define sensor A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; baitų UmidityPercent = 0, drėgmė = 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);

Po to buvo inicijuota sąrankos funkcija ir ekranas LCD 16x2, o jutiklio kaištis buvo sukonfigūruotas kaip įvestis. Galiausiai mes pirmą kartą nuskaitėme savo jutiklį ir naudojome kaip kintamojo „PreviousValue“nuorodą, kaip parodyta žemiau.

{Serial.begin (9600); LCD. pradžia (16, 2); pinMode (jutiklis, Įvestis); PreviousValue = analogRead (jutiklis); }

Sukūrę kintamuosius ir komandas void sąrankos funkcijoje, mes paaiškinsime visą loginį programavimą ciklo funkcijoje.

// Le o valor do pino A0 do sensorAnalogValue = analogRead (sensor); // Mostra o valor da porta analogica nėra nuoseklaus monitoriaus Serial.print ("Analog Port:"); Serial.println (AnalogValue); UmidityPercent = žemėlapis (AnalogValue, 0, 1023, 0, 100); drėgmė = 100 - UmidityPercent;

Naudojant ciklo funkciją, analoginė vertė buvo nuskaityta ir vertė buvo susieta su 0 ir 100 intervalais. Ši vertė reiškia dirvožemio drėgmės procentą. Kai drėgmė yra didelė, vertė artėja prie 0, o jei drėgmė yra maža, ji artėja prie 100.

Kad būtų lengviau parodyti vertę ir kad vartotojas nesuprastų skaitymo, mes pakeičiame šią logiką ir teigiame, kad 0% bus žemos drėgmės ir 100% didelės drėgmės. Tai buvo atlikta atlikus skaičiavimus, atliktus po žemėlapio sudarymo.

drėgmė = 100 - UmidityPercent;

Po to, kai perskaitysite drėgmės vertę, turite ją parodyti LCD ekrane. Kitas žingsnis yra patikrinti, ar drėgmės vertė skiriasi nuo jos vertės plius 1 arba jos vertės minus 1, atsižvelgiant į toliau nurodytą būklę.

if ((drėgmė> [PreviousValue] +1) || (drėgmė <(PreviousValue)- 1))

Ši sąlyga naudojama siekiant užkirsti kelią sistemai rodyti tą pačią vertę kelis kartus LCD ekrane. Bet kai sąlyga yra teisinga, sistema pateikia vertę LCD ekrane ir patikrina, ar vertė yra didesnė ar lygi 60%, ar mažesnė nei 60%. Jei vertė buvo didesnė arba lygi 60%, sistema pranešimą „Didelė drėgmė“, kitaip pateikite pranešimą „Žemas drėgnumas“, kaip parodyta žemiau.

if ((drėgmė> (ankstesnė vertė) +1) || (drėgmė <(ankstesnė vertė)- 1)) {lcd.setCursor (1, 0); lcd.print ("Drėgmė:"); lcd.print (""); lcd.setCursor (11, 0); lcd.print (drėgmė); lcd.print ("%"); if (drėgmė = 60 && HighUmid == 0) {lcd.setCursor (2, 1); lcd.print (""); lcd.setCursor (1, 1); lcd.print („Didelė drėgmė“); HighUmid = 1; LowUmid = 0; } PreviousValue = drėgmė; }

Galiausiai sistema išsaugos drėgmės kintamojo vertę kintamajame „PreviousValue“, kad aktualizuotų jo vertę. Kiekvieną kartą, kai ekrane pateikiama nauja vertė, kintamasis „PreviousValue“yra aktualizuojamas, kad būtų naudojamas kituose kodo apdorojimo cikluose. Todėl tai yra paprasta sistema, naudojama stebėti augalų drėgmę mūsų likučiuose ir informuoti vartotojus dirvožemio drėgmės lygis.

5 žingsnis: Padėkos

„Silícios Lab“dėkoja PCBWay už paramą ir bendradarbiavimą. Ir mes turime daug naudos jums. Uždirbkite 10 nemokamų PCB ir daug pupelių monetų (žinokite daugiau), kad galėtumėte prekiauti produktais PCBWay svetainėje.

Be jų, „Silícios Lab“dėkoja UTSOURCE už paramą, kad pasiūlė mums nebrangius aukštos kokybės elektroninius komponentus ir gerą aptarnavimą.

Rekomenduojamas: