Բովանդակություն:

Rtածր խոնավության հողի նախազգուշացում ձեր գործարանի համար. 5 քայլ
Rtածր խոնավության հողի նախազգուշացում ձեր գործարանի համար. 5 քայլ

Video: Rtածր խոնավության հողի նախազգուշացում ձեր գործարանի համար. 5 քայլ

Video: Rtածր խոնավության հողի նախազգուշացում ձեր գործարանի համար. 5 քայլ
Video: 📸🎥.RTATSR.HTFA.FTED.dGgx📸••••••∆¶✓RRDG.FTEF.FREAS 2024, Նոյեմբեր
Anonim
Rtածր խոնավության հողի նախազգուշացում ձեր գործարանի համար
Rtածր խոնավության հողի նախազգուշացում ձեր գործարանի համար

Մի քանի բնակավայրերում ընդունված է գտնել տարբեր տեսակի բույսերով բանկա: Եվ մեծ թվով առօրյա գործունեությամբ մարդիկ մոռանում են ջրել իրենց բույսերը, և նրանք մահանում են ջրի պակասի պատճառով:

Որպես այս խնդրից խուսափելու միջոց, մենք որոշեցինք ստեղծել համակարգ, որը կտեղեկացնի, երբ գործարանը ջուր չունի: Այսպիսով, դուք երբեք չեք մոռանա ձեր բույսը ոռոգել, և այն երկար ժամանակ կենդանի կմնա: Հաջորդը, մենք կներկայացնենք այս նախագծի ամբողջ զարգացումը:

Պարագաներ

  • PCBWay Պատվերով PCB
  • Անալոգային հողի խոնավության սենսոր Arduino- ի համար
  • Arduino UNO
  • Թռիչքային լարեր (ընդհանուր)
  • Ստանդարտ LCD - 16 x 2 կապույտ
  • UTSOURCE Պտտվող պոտենցիոմետր 10 կ

Քայլ 1. Նախագծի մշակում

Նախագծի մշակում
Նախագծի մշակում

Գործարանում ջրի քանակությունը որոշելու եղանակներից մեկը խոնավության պարամետրն է: Այսպիսով, որքան քիչ ջուր կա մեր գործարանի բանկայի մեջ, այնքան ցածր է հողի խոնավությունը:

Հետեւաբար, մենք պետք է օգտագործենք խոնավության տվիչ `մեր գործարանում խոնավության վիճակը վերլուծելու համար:

Դրա միջոցով մենք Arduino- ի հետ ստեղծեցինք մի տախտակ, որը տեղադրված էր հացահատիկում `իրականացնելու համար կակտուսի տարայի ցածր խոնավության մոնիտորինգ և նշում: Այսպիսով, ցուցադրման LCD- ի միջոցով մեր օգտվողին տեղեկացնել խոնավության մասին, ինչպես ցույց է տրված Նկար 1 -ում:

Քայլ 2. Խոնավության տվիչի տեղադրումը շղթայի մեջ

Խոնավության տվիչը տեղադրեք սխեմայի մեջ
Խոնավության տվիչը տեղադրեք սխեմայի մեջ
Խոնավության տվիչը տեղադրեք շղթայի մեջ
Խոնավության տվիչը տեղադրեք շղթայի մեջ

Վերոնշյալ միացումից մենք խոնավության չափման զոնդը կտեղադրենք կայանում, որը մենք ցանկանում ենք վերահսկել: Մեր նախագծում մենք զոնդ ենք տեղադրում փոքր կակտուսի մեջ, ինչպես ցույց է տրված Նկար 2 -ում:

Այժմ մենք կտեսնենք, թե ինչպես պետք է նախագծել աշխատանքը քայլ առ քայլ և այսուհետ, կսովորենք, թե ինչպես ստեղծել վերահսկիչ ծածկագիր: Սկզբում, երբ մենք չենք միացնում սենսորը բանկայի ներսում, սարքը 2% -ով ցածր խոնավություն ունի դրսում կակտուսի բանկա: Սա կարելի է տեսնել Նկար 3 -ում:

Քայլ 3. Հասկացեք խոնավության արժեքները

Հասկացեք խոնավության արժեքները
Հասկացեք խոնավության արժեքները
Հասկացեք խոնավության արժեքները
Հասկացեք խոնավության արժեքները

Այս ցածր տոկոսային արժեքը ներկայացնում է ցածր խոնավություն: Այժմ, սենսորը կակտուսի բանկայի հողի մեջ մտցնելուց հետո կցուցադրվի 36% արժեքը, ինչպես ցույց է տրված Նկար 4 -ում: Այսինքն, մեր խոնավությունը ցածր է, և համակարգը ցուցադրում է Low Moisture հաղորդագրությունը, քանի որ արժեքը փոքր է ավելի քան 60%:

Հաջորդ քայլը ոռոգելն է մեր կակտուսի կուժի հողը, և մենք կարող ենք ստուգել խոնավության արժեքի բարձրացումը մինչև 69%:

Նախագծի աշխատանքը հասկանալուց հետո մենք կներկայացնենք մոնիտորինգի այս համակարգը ստեղծելու շինարարական ամբողջ տրամաբանությունը: Եկեք սկսենք:

Քայլ 4: Տրամաբանական ծրագրավորում

Այսուհետ, ծրագրավորման տրամաբանությունը կներկայացվի կառուցված ծածկագրի միջոցով:

Սկզբում հայտարարվեց Display LCD- ի, փոփոխականների գրադարան և ստեղծվեց օբյեկտ LCD ՝ Arduino UNO- ի հետ կապի կապում:

#ներառում

#սահմանել տվիչ A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; բայթ UmidityPercent = 0, խոնավություն = 0, ՆախորդԱրժեք = 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);

Դրանից հետո տեղադրման գործառույթը և LCD 16x2 էկրանը նախաստորագրվեցին, և սենսորի քորոցը կազմաձևվեց որպես մուտք: Ի վերջո, մենք կատարեցինք մեր ցուցիչի առաջին ընթերցումը և որպես հղում օգտագործեցինք PreviousValue փոփոխականին, ինչպես ցույց է տրված ստորև:

{Serial.begin (9600); lcd. սկսել (16, 2); pinMode (տվիչ, Մուտք); PreviousValue = analogRead (տվիչ); }

Ստեղծված փոփոխականներով և void setup գործառույթի հրամաններով մենք կբացատրենք բոլոր տրամաբանական ծրագրավորումը loop գործառույթում:

// Le o valor do pino A0 do sensorAnalogValue = analogRead (տվիչ); // Mostra o valor da porta analogica no serial monitor Serial.print ("Անալոգային նավահանգիստ."); Serial.println (AnalogValue); UmidityPercent = քարտեզ (AnalogValue, 0, 1023, 0, 100); խոնավություն = 100 - UmidityPercent;

Օղակի գործառույթում անալոգային արժեքը կարդալը և արժեքը քարտեզագրվել է 0 -ից 100 -ի սահմաններում: Այս արժեքը ներկայացնում է հողի խոնավության տոկոսը: Երբ խոնավությունը բարձր է աշխարհում, արժեքը մոտենում է 0 -ին, և եթե խոնավությունը ցածր է, արժեքը մոտենում է 100 -ին:

Արժեքի ներկայացումը հեշտացնելու և օգտագործողի ընթերցանության շփոթեցումը կանխելու համար մենք հակադարձում ենք այս տրամաբանությունը և ներկայացնում ենք, որ 0% -ը կլինի ցածր և 100% բարձր խոնավություն: Դա արվել է քարտեզագրումից հետո կատարված հաշվարկի միջոցով:

խոնավություն = 100 - UmidityPercent;

Խոնավության արժեքը կարդալուց հետո անհրաժեշտ է ներկայացնել ցուցադրման LCD- ում: Հաջորդ քայլը ստուգելն է, թե արդյոք խոնավության արժեքը տարբերվում է դրա արժեքից գումարած 1 կամ դրա արժեքից մինուս 1 -ին ՝ համաձայն ստորև բերված պայմանի:

եթե ((խոնավություն> (Նախորդ արժեք) +1) || (խոնավություն <(նախորդ արժեք)- 1))

Այս պայմանը օգտագործվում է կանխելու համար, որ համակարգը մի քանի անգամ նույն արժեքը ներկայացնի Display LCD- ում: Բայց, երբ պայմանը ճշմարիտ է, համակարգը կներկայացնի LCD- ի արժեքը և կստուգի `արդյոք արժեքը 60%-ից ավելին կամ հավասար 60%-ից պակաս է: Եթե արժեքը 60%-ից ավելի կամ հավասար է, ապա ներկա համակարգը հաղորդագրությունը High Moisture, հակառակ դեպքում, ներկայացրեք Low Moisture հաղորդագրությունը, ինչպես ցույց է տրված ստորև:

եթե ((խոնավություն> (Նախորդ արժեք) +1) || (խոնավություն <(Նախորդ արժեք)- 1)) {lcd.setCursor (1, 0); lcd.print («Խոնավություն.»); lcd.print (""); lcd.setCursor (11, 0); lcd.print (խոնավություն); lcd.print ("%"); եթե (խոնավություն = 60 && HighUmid == 0) {lcd.setCursor (2, 1); lcd.print (""); lcd.setCursor (1, 1); lcd.print («Բարձր խոնավություն»); HighUmid = 1; LowUmid = 0; } ՆախորդԱրժեք = խոնավություն; }

Վերջապես, համակարգը կպահի խոնավության փոփոխականի արժեքը Նախորդ արժեքի փոփոխականում `դրա արժեքը արդիականացնելու համար: Valueուցադրման ժամանակ յուրաքանչյուր նոր արժեք ներկայացվում է PreviousValue փոփոխականը, որն օգտագործվում է ծածկագրի մշակման այլ ցիկլերում օգտագործելու համար: Հետևաբար, սա պարզ համակարգ է, որն օգտագործվում է մեր բնակավայրերում բույսերի խոնավությունը վերահսկելու և օգտագործողներին տեղեկացնելու համար հողի խոնավության մակարդակը:

Քայլ 5: Շնորհակալություններ

Silícios Lab- ը շնորհակալություն է հայտնում PCBWay- ին աջակցության և համատեղ աշխատանքի համար: Եվ մենք ունենք շատ առավելություններ ձեզ համար: Վաստակեք 10 անվճար PCB և շատ լոբու մետաղադրամներ (Իմացեք ավելին) ՝ PCBWay կայքում ապրանքների դիմաց առևտուր անելու համար:

Բացի դրանցից, Silícios Lab- ը շնորհակալություն է հայտնում UTSOURCE- ին աջակցության համար ՝ մեզ առաջարկելով բարձրորակ և լավ սպասարկման ցածրարժեք էլեկտրոնային բաղադրիչներ:

Խորհուրդ ենք տալիս: