Turinys:
- Prekės
- 1 žingsnis: projekto kūrimas
- 2 žingsnis: Įdėkite drėgmės jutiklį į grandinę
- 3 žingsnis: supraskite drėgmės vertes
- 4 žingsnis: loginis programavimas
- 5 žingsnis: Padėkos
Video: Įspėjimo apie mažai drėgną dirvą jūsų augalui sistema: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
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
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ę
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
Š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:
Įspėjimo apie avariją sistema naudojant GSM, GPS ir akselerometrą: 5 žingsniai (su nuotraukomis)
Įspėjimo apie nelaimingus atsitikimus sistema, naudojant GSM, GPS ir pagreičio matuoklį: Prašome balsuoti už konkursą. Balsuokite už konkursą. Šiais laikais daugelis žmonių žūsta kelyje dėl avarijos, o pagrindinė priežastis yra „vėlavimas gelbėti“. Ši problema yra labai didelė besivystančiose šalyse, todėl sukūriau šį projektą, norėdamas išsaugoti
Įspėjimo apie orą šviesos sistema: 6 žingsniai
Oro įspėjimo šviesos sistema: įspėjimo apie orą apšvietimo sistema keičia apšvietimą, kad būtų rodomi skirtingi įspėjimai apie orus ar laikrodžius. Ši sistema naudoja laisvai prieinamus orų duomenis, kad būtų pakeistas apšvietimas, rodantis oro būklę. Aviečių pi (per mazgą raudona) patikrina
Įspėjimo apie mieguistumą sistema: 3 žingsniai
Įspėjimo apie mieguistumą sistema: kasmet daugybė žmonių miršta dėl mirtinų eismo įvykių visame pasaulyje, o apsnūdęs vairavimas yra viena iš pagrindinių eismo įvykių ir mirties priežasčių. Nuovargis ir miegas vairuojant dažnai yra pagrindinė rimtų sutrikimų priežastis
Sukurkite įspėjimo apie kalbėjimą / balsu įspėjimo sistemą: 4 žingsniai
Sukurkite įspėjimo apie kalbėjimą / balsu įspėjimo sistemą: Šiame projekte mes sukūrėme pranešimo apie kalbą / įspėjimo sistemą. Šiame projekte galima naudoti mažiausiai du jutiklius
„Makey Makey“- išankstinio įspėjimo apie stiprų vėją sistema: 5 žingsniai
„Makey Makey“- išankstinio įspėjimo apie stiprų vėją sistema: ši " išankstinio įspėjimo sistema " dizaino iššūkis būtų pateiktas studentų grupei. Tikslas yra tai, kad studentų komanda (po du ar tris grupėje) suprojektuotų sistemą, kuri įspėtų žmones ieškoti prieglobsčio nuo pavojingų vėjų