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

Գյուղատնտեսական սենսորների զանգված `6 քայլ
Գյուղատնտեսական սենսորների զանգված `6 քայլ

Video: Գյուղատնտեսական սենսորների զանգված `6 քայլ

Video: Գյուղատնտեսական սենսորների զանգված `6 քայլ
Video: Պետությունն 1-ին անգամ կսուբսիդավորի արտահանողներին. պետք է հասցնել ֆերմերների հետ պայմանագիր կնքել 2024, Հուլիսի
Anonim
Գյուղատնտեսական սենսորների զանգված
Գյուղատնտեսական սենսորների զանգված

Jեքսոն Բրեյքելի, Թայլեր Մակկուբինսի և Յակոբ Թալերի նախագիծը EF 230 -ի համար

Գյուղատնտեսությունը Միացյալ Նահանգներում արտադրության կենսական գործոն է: Մշակաբույսերը կարող են օգտագործվել տարբեր նպատակների համար ՝ հագուստի, դեղագործության և սննդային հավելումների արտադրության համար նախատեսված հումքից մինչև բերքի մասերի, առավել հաճախ ՝ ծլող պտուղների ուղղակի սպառումը: Միացյալ Նահանգներում մշակաբույսերի մեծ մասն աճեցվում է դրսում, որտեղ եղանակային պայմանները և ջերմաստիճանը հնարավոր չէ լայնամասշտաբ վերահսկել: Հաշվի առնելով, թե որքան կտրուկ անբարենպաստ եղանակային պայմանները կարող են ազդել բերքի աճի վրա, իր հերթին ՝ ազդելով Միացյալ Նահանգների տնտեսության վրա, բուսաբուծության պայմանների մոնիտորինգը դառնում է կենսական:

Մեր սարքը ՝ Agricultural Sensor Array- ը, թույլ է տալիս ֆերմերներին վերահսկել իրենց դաշտի նախապես ընտրված հատվածների վիճակը ՝ օգտագործելով 4 տվիչ ՝ անձրևաջրերի սենսոր, հողի խոնավության տվիչ, ջերմաստիճանի տվիչ և ֆոտոէլեկտրական սենսոր: Այս սենսորների համադրությունը թույլ է տալիս գյուղացուն համարժեք պլանավորել սեզոնի բերքատվությունը, հարմարվել շատ քիչ կամ շատ անձրևի համար, ավելի լավ հաղթահարել աղետները, որոնք կարող են սպանել բերքը և ժամանակ և դժվարություն խնայել հողի նմուշներ վերցնելուց և թանկարժեք սենսորային սարքավորումների օգտագործումից: Այս Ուղեցույցում մենք ձեզ կանցնենք մեր Գյուղատնտեսական սենսորների զանգվածի հետևի էլեկտրագծերի և կոդավորման միջոցով, այնպես որ դուք նույնպես կարող եք ինքներդ պատրաստել:

Քայլ 1: Հավաքեք անհրաժեշտ նյութերը

Հավաքեք անհրաժեշտ նյութերը
Հավաքեք անհրաժեշտ նյութերը

Ստորև բերված է անհրաժեշտ նյութերի ցանկը, որոնք ձեզ հարկավոր են սկսելու համար »:

1. Arduino Board, ցանկալի է Arduino Uno

2. Հիմնական տախտակ

3. 1x 220 ohm դիմադրություն

4. Տարբեր գույնի լարեր

5. Միկրո USB USB մալուխ

6. Տախտակի վրա տեղադրվող բարձրախոս

7. Ֆոտոէլեկտրական սենսոր

8. peratերմաստիճանի ցուցիչ

9. Անձրեւաջրերի ցուցիչ

10. Հողի խոնավության ցուցիչ

11. Տեղադրված է համակարգիչ Matlab 2017-ով և Arduino Support Package- ով (Աջակցության փաթեթը կարելի է գտնել Հավելվածների ներքո)

Քայլ 2: Լարացրեք խորհուրդը և միացեք

Լարացրեք խորհուրդը և միացեք
Լարացրեք խորհուրդը և միացեք

Սկսեք կամ միացրեք տախտակը, ինչպես ցույց է տրված վերևում, կամ այն եղանակով, որը ձեզ ամենալավն է համապատասխանում: Գոյություն ունեն բառացիորեն անսահմանափակ եղանակներ, որ տախտակը կարող է միացվել, այնպես որ ճշգրիտ կազմաձևը իսկապես ձեզն է: Տախտակը միացնելուց հետո սկսեք կցել ձեր տվիչները: Անձրևաջրերը, հողի խոնավությունը և ֆոտոէլեկտրական սենսորները բոլորը անալոգային ելքեր են, այնպես որ համոզվեք, որ դրանք միացված են Arduino- ի անալոգային հատվածին: Մյուս կողմից, ջերմաստիճանի տվիչը թվային ելք է, այնպես որ համոզվեք, որ այն միացված է ձեր Arduino- ի հասանելի թվային մուտքի վրա: Arduino- ն պետք է ունենա 3.3v և 5v ելքեր, այնպես որ համոզվեք, որ սենսորները միացված են այն լարումներին, որոնց հետ նրանք համատեղելի են:

Համոզվելուց հետո, որ տախտակը միացված է ճիշտ, միացրեք Micro USB- ին USB մալուխը ձեր համակարգչից ձեր համակարգչի Micro USB պորտին և միացրեք ձեր Arduino- ն: Բացեք Matlab- ը և համոզվեք, որ տեղադրել եք Arduino Support Package- ը հավելումների ներքո, գործարկեք «fopen (serial ('nada'))" հրամանը `առանց": Սխալը պետք է հայտնվի Ձեզ հասանելի է մի շարք թվով: Գործարկեք «a = arduino (« comx »,« uno ») հրամանը, որտեղ x- ը ձեր համատեղության թիվն է ՝ ձեր Arduino- ն օբյեկտին քարտեզագրելու համար: LED- ն Arduino- ում պետք է արագ թարթել ՝ նշելով, որ այն միացված է:

Քայլ 3. Կոդավորեք ֆոտոէլեկտրական և ջերմաստիճանի տվիչները

Կոդավորեք ֆոտոէլեկտրական և ջերմաստիճանի տվիչները
Կոդավորեք ֆոտոէլեկտրական և ջերմաստիճանի տվիչները

Նախքան կոդավորումը սկսելը, նշեք, թե որտեղ են ձեր սենսորները միացված Arduino- ում, քանի որ դա կարևոր կլինի readVoltage հրահանգի համար: Սկսեք ձեր ծածկագիրը ՝ փոփոխական արևի լույսը հավասարեցնելով «readVoltage (a, 'X#') 'հրահանգին, որտեղ X #- ն այն նավահանգիստն է, որին միացված եք, և a- ն պարզապես կանչում է այդ փոփոխականի քարտեզագրած Arduino- ին: Սկսեք if հայտարարությունը, և արևի լույսի առաջին պայմանը դարձրեք <3. Սահմանեք ելքը որպես «info. TOD = 'գիշեր'" `օրվա ժամանակը որպես կառուցվածք թողնելու համար, այնուհետև ելք ունեցող այլ հայտարարություն ավելացրեք որպես" info. TOD = " օր '": Քանի որ սա այլ հայտարարություն է, մեզ պայման պետք չէ, քանի որ այն կաշխատի բոլոր այն արժեքների դեպքում, որոնք սահմանված չեն if հայտարարության մեջ: Համոզվեք, որ ձեր if հայտարարությունը ավարտում եք վերջով և անցնում ծրագրավորմանը: ջերմաստիճանի տվիչ:

Թերմո փոփոխականը հավասարեցրու մեկ այլ readVoltage հրամանին, որի հրամանը «readVoltage (a, 'X#') է: Մեր դեպքում ջերմաստիճանը լարման միավորներից պետք է փոխարկվեր elsելսիուսի, ուստի «tempC = (թերմ. -5).*100» հավասարումը լարմանից ցելսիուս փոխարկվի: Հեշտության համար մենք ջերմաստիճանը convertedելսիուսի ջերմաստիճանը փոխեցինք Ֆարենհայթի, բայց դա զուտ կամայական չէ:

Տեղադրման նպատակով ծածկագիր

արևի լույս = կարդալՎոլտաժ (a, 'A1'), եթե արևի լույս <3

info. TOD = 'գիշեր'

ուրիշ

info. TOD = 'օր'

վերջ

թերմո = կարդալՎոլտաժ (a, 'A3');

tempC = (ջերմային -5.):*100;

info.tempF = (9/5.*tempC) +32

Քայլ 4. Կոդավորեք անձրևաջրերի և հողի խոնավության տվիչները

Կոդավորեք անձրևաջրերի և հողի խոնավության տվիչները
Կոդավորեք անձրևաջրերի և հողի խոնավության տվիչները

Ինչպես նշվեց վերջին քայլում, համոզվեք, որ դուք գիտեք, թե որ պորտերի վրա են ձեր սենսորները միացված Arduino տախտակին, քանի որ դա այս քայլը կդարձնի շատ ավելի քիչ հիասթափեցնող: Սկսեք անձրևաջրերի ցուցիչից և սկսեք if հայտարարությունը: Առաջին պայմանը դարձրեք «readVoltage (a, 'X#')> 4», և դրա ելքը դրեք «info. Rain = 'առանց տեղումների»: Ավելացրեք elseif և դրա պայմանը դրեք readVoltage հրամանին նախկինում, բայց դրեք> 2: Ավելացրեք «&&» ՝ մեկ այլ պայման նշանակելու համար, որը պետք է կատարվի, և այն նախկինի պես դարձրեք readVoltage հրամանին և դրեք <= 4: Արդյունքը կլինի «info. Rain = 'misting'»: Ի վերջո, ավելացրեք ևս մեկը և դրա ելքը սահմանեք «info. Rain = 'rainpour'»: Հնարավոր է, որ դուք ստիպված լինեք հարմարեցնել պայմանների արժեքները `ելնելով այն սենյակի շրջակա միջավայրի խոնավությունից, որտեղ դուք աշխատում եք:

Հաջորդը, սկսեք հողի խոնավության տվիչի ծածկագիրը և սկսեք if հայտարարությամբ: If հայտարարության պայմանը դարձրեք «readVoltage (a, 'X#')> 4 և ավելացրեք ելքը" info.soil = 'dry' ": Ավելացրեք elseif հայտարարություն և վերևում readVoltage հրամանի միջոցով դրեք այն> 2. Ավելացրեք «&&», և <= 4. -ի համար սահմանեք մեկ այլ readVoltage հրաման: Տեղադրեք դրա ելքը «info.soil = 'օպտիմալ հագեցվածություն»: », և մի մոռացեք ավելացնել վերջ:

Տեղադրման նպատակով ծածկագիր

եթե կարդալԼարման (a, 'A0')> 4 տեղեկատվություն: Անձրև = 'առանց տեղումների եղանակ'

elseif readVoltage (a, 'A0')> 2 && readVoltage (a, 'A0') <= 4

տեղեկատվություն: Անձրև = 'մառախուղ'

ուրիշ

տեղեկատվություն: Անձրև = 'անձրև'

վերջ

եթե կարդալԼարման (a, 'A2')> 4

info.soil = 'չոր'

elseif readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4

info.soil = 'օպտիմալ հագեցվածություն'

ուրիշ

info.soil = 'ջրհեղեղ'

վերջ

Քայլ 5. Բարձրախոսի և հաղորդագրությունների տուփի ելքային կոդավորում

Բարձրախոսի և հաղորդագրությունների տուփի ելքային կոդավորում
Բարձրախոսի և հաղորդագրությունների տուփի ելքային կոդավորում

Այս սարքի արդյունքները կարող են շատ տարբեր լինել, սակայն, այս դեպքում, մենք ձեզ կանցնենք անմիջապես սարքի վրա տեղադրված բարձրախոսի ելքով և հաղորդագրությունների տուփի ելքով, որը կարող է դիտվել հեռավոր համակարգչում: Մեր բարձրախոսը նախատեսված է տարբեր հաճախականություններ թողարկելու համար, ինչը նշանակում է ավելի վատ, բերքի օպտիմալ ջերմաստիճանի, արևի, հողի խոնավության և տեղումների համար: Սկսեք ձեր բարձրախոսի ելքային կոդը if հայտարարությամբ և դրա պայմանը դրեք «readVoltage (a, 'X#')> 4 || info.tempF = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4 ": Ավելացրեք նույն playTone հրամանը, ինչպես ցույց է տրված վերևում, բայց փոխեք 200 -ը 1000 -ի ՝ ավելի բարձր, ավելի դրական հնչերանգ ստանալու համար: Այնուհետև ավելացրեք մեկ այլ բան և նորից ավելացրեք նույն playTone հրամանը, բայց փոխեք 1000 -ը 1500 -ի: Այս տարբեր երանգները ցույց են տալիս դաշտի իրավիճակի լրջությունը: Համոզվեք, որ ավելացրել եք վերջ ՝ ձեր if հայտարարությունը լրացնելու համար:

Կոդի մեր վերջին հատվածը կլինի ելք, որը կստեղծի հաղորդագրությունների տուփ: Ստեղծեք տող ՝ օգտագործելով «փակագծերում նշված նշանները» և ձեր կառուցվածքի մասերը վերածեք տողերի ՝ օգտագործելով «num2str (info.x)» հրամանը, որտեղ x- ը տեղեկատվության կառուցվածքում ենթակառուցվածքի անուն է: Օգտագործեք «string newline» ՝ ձեր հաղորդագրության տուփում նոր տողեր ավելացնելու համար և մուտքագրեք ձեր հաղորդագրությունը տեքստում ՝ օգտագործելով չակերտներ ՝ տողի մեջ ավելացնելով դաշտի իրական արժեքը ՝ օգտագործելով վերը նշված num2str հրամանը: Վերջապես, տողի սահմանմամբ, օգտագործեք «msgbox» (տող) հրամանը ՝ տվյալները որպես մոնիտորի վրա որպես հաղորդագրության տուփ ցուցադրելու համար:

Տեղադրման նպատակով ծածկագիր

եթե կարդալԼարման (a, 'A2')> 4 || info.tempF <32 playTone (a, 'D9', 200, 1)

այլ արևի լույս> = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4

playTone (a, 'D9', 1000, 3)

ուրիշ

playTone (a, 'D9', 1500, 5)

վերջ

string = ['tempերմաստիճանը (deg F)', num2str (info.tempF)]

string = [string newline 'The ground is', num2str (info.soil)]

string = [string newline 'Outside rain is', num2str (info. Rain)]

string = [string newline 'The time of day', num2str (info. TOD)]

msgbox (տող)

Քայլ 6: Եզրակացություն

Եզրակացություն
Եզրակացություն

Մինչ աշխարհը շարունակում է ավելի ու ավելի շատ ապավինել մշակաբույսերից նախկինում հավաքված իրերի սինթետիկ այլընտրանքներին, գյուղատնտեսությունը, անշուշտ, երկար ժամանակ կմնա տնտեսության համապատասխան և կարևոր գործոնը: Գյուղացիական տնտեսությունների համար պատշաճ մոնիտորինգը շատ կարևոր է գյուղացու համար `իր բերքից առավելագույնը ստանալու համար, և մեր սարքի միջոցով ոչ միայն հնարավոր է հեռակա վերահսկել ամբողջ գյուղատնտեսական տարածքը, այլև դա հնարավոր է էժան, հեշտ տեղադրել և հուսալի եղանակով: Հուսով ենք, որ այս ուղեցույցը տեղեկատվական է և հեշտ է հետևել:

Ուրախ կոդավորում, Գյուղատնտեսական սենսորների զանգվածների թիմ

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