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

DIY - Ավտոմատ այգիների ոռոգում - (Arduino / IOT). 9 քայլ (նկարներով)
DIY - Ավտոմատ այգիների ոռոգում - (Arduino / IOT). 9 քայլ (նկարներով)

Video: DIY - Ավտոմատ այգիների ոռոգում - (Arduino / IOT). 9 քայլ (նկարներով)

Video: DIY - Ավտոմատ այգիների ոռոգում - (Arduino / IOT). 9 քայլ (նկարներով)
Video: Կախարդական հնարք, որը ցանկացած ըմպելիքի տարա վերածում է ձեր բույսերի համար կաթիլային ոռոգման համակար 2024, Նոյեմբեր
Anonim
DIY - Ավտոմատ այգիների ոռոգում - (Arduino / IOT)
DIY - Ավտոմատ այգիների ոռոգում - (Arduino / IOT)
DIY - Ավտոմատ այգիների ոռոգում - (Arduino / IOT)
DIY - Ավտոմատ այգիների ոռոգում - (Arduino / IOT)
DIY - Ավտոմատ այգիների ոռոգում - (Arduino / IOT)
DIY - Ավտոմատ այգիների ոռոգում - (Arduino / IOT)

Այս նախագիծը ցույց կտա, թե ինչպես կարելի է տնային այգու համար ոռոգման վերահսկիչ կառուցել: Կարող է չափել հողի խոնավության ցուցանիշները և ակտիվացնել ոռոգումը պարտեզի ծորակից, եթե հողը չափազանց չորանա: Կարգավորիչը ներառում է նաև ջերմաստիճանի և խոնավության ցուցիչ: Հսկիչը չի ակտիվացնի պարտեզի ծորակը, եթե ջերմաստիճանը չափազանց ցածր է: Usageրի օգտագործման / գործարկման ժամանակների մասին տվիչների ընթերցումները և վիճակագրությունը գրանցվում են ThingsBoard IOT- ում `վիզուալիզացիայի և վերլուծության համար: Ահազանգերն ու նամակները գործարկվում են, եթե ոռոգման վերահսկիչը դադարում է տվյալների փոխանցումը, հողը դառնում է չափազանց չոր կամ չափազանց հագեցած:

Նախադրյալներ

  • Arduino- ի իմացություն, ներառյալ Arduino- ի առնվազն հիմնական կոդավորումը և զոդումը:
  • 1x ճնշման տակ գտնվող պարտեզի ծորակ

Ապրանքների հաշիվը

  • Այգու ոռոգման պոլի խողովակ, շիթեր, կաթիլներ և այլն:
  • Երկու հավաքեք էլեկտրոնային ժամաչափի ժամաչափը (այսինքն ՝ Aqua Systems Electronic Digital Tap Timer)
  • Հպեք ճնշման նվազեցնող 300kpa- ին
  • Արդուինո Ունո
  • Լորա Արդուինո վահան
  • Lora Gateway (Անհրաժեշտ չէ, եթե տիրույթում ունեք տեղական Things Network դարպաս)
  • DHT11 Temերմաստիճանի խոնավության ցուցիչ
  • 5 վ ռելե
  • Հեռախոսային մալուխ
  • Մալուխային կապեր
  • Ավտոմոբիլային պառակտված ծալքավոր խողովակ
  • Ավտոմոբիլային տերմինալի միակցիչ շերտեր
  • 2x ցինկապատ եղունգներ
  • 1x դիմադրություն
  • Սիլիցիում / կեռ
  • PVC ցեմենտ
  • PVC այբբենարան
  • PVC խողովակ 32 մմ լայնություն x 60 մմ երկարություն
  • PVC խողովակ 90 մմ լայնություն x 30 սմ երկարություն
  • 3x PVC մղիչ ծայրեր 90 մմ
  • 1x PVC պտուտակավոր գլխարկ 90 մմ
  • 1x PVC թելերով ներդիրի կցամաս 90 մմ
  • 1x PVC մղիչ ծայրեր 32 մմ
  • 1x 3.2V էներգիայի աղբյուր (հպման ժմչփ) [մարտկոցներ, AC բազմավոլտ ադապտեր]
  • 1x 6-12V էներգիայի աղբյուր (arduino) [մարտկոցներ, USB, USB դեպի AC ադապտեր]
  • թելի կնքման ժապավեն
  • էլեկտրական ժապավեն

Քայլ 1: Տեղադրեք այգիների ոռոգումը

Տեղադրեք այգիների ոռոգում
Տեղադրեք այգիների ոռոգում
Տեղադրեք այգիների ոռոգում
Տեղադրեք այգիների ոռոգում

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

Այս պարամետրերը կարող են փոխվել arduino- ում և պահվել EPROM հիշողության մեջ: Կարգավորումները կարող են նաև թարմացվել IOT ինտեգրման միջոցով: Այս նախագիծը չորս ժամը մեկ գործարկելու է վերահսկիչը և 3 րոպե բացելու է ծորակը, եթե հողը չափազանց չոր է: Այն կարող է մի քանի անգամ անընդմեջ աշխատել, եթե չոր/տաք կամ հակառակ դեպքում օրական մեկ կամ երկու անգամ:

Քայլ 2: Տեղադրեք հպման ժմչփ

Fit Tap erամաչափ
Fit Tap erամաչափ

Տեղադրեք թակել ժմչփը և փորձարկեք կարգավորելի հավաքիչներով `կոպիտ հաճախականություն մշակելու և աշխատելու ժամանակը, որն ավելի լավ է աշխատում ձեզ համար ոռոգման տեղադրման համար: Մենք կհեռացնենք ժամաչափը և կփոխենք այն Arduino- ի հետ աշխատելու համար:

Քայլ 3. Arduino Build

Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build
Arduino Build

Օգտագործեք էլեկտրագծերի դիագրամը, որպես ուղեցույց շինարարության համար: Լուսանկարներում օգտագործվել է հեռախոսի մալուխի լարերի միացում և միացման կետերի պտուտակավոր տերմինալային շերտեր: Պահանջվում է որոշակի զոդում:

Հպեք ժմչփի փոփոխությանը

Careգուշորեն հեռացրեք ծորակի ժամաչափը: Մենք դժվարությամբ կանցկացնենք երկու կարգավորելի հավաքիչներ, որպեսզի դրանք կառավարվեն arduino- ով ՝ ձեռքի հավաքիչների փոխարեն: Հաճախակի ձախ հավաքիչը կոշտ կերպով կհամապատասխանի վերակայման դիրքին, այնպես որ աջ հավաքիչը կարող է փոխարկվել միացման/անջատման դիրքի միջև: Աջ հավաքիչի վրա կլինի մեկ մետաղալար, որը գալիս է կենտրոնի աջ կոնտակտից և արտաքին աջ կոնտակտից, ինչպես ցույց է տրված: Լռելյայն ժամաչափը կլինի անջատված վիճակում: Եթե երկու լարերը շփվեն, ժամաչափը կմիանա: Երկու լարերը, որոնք միացված են 5 Վ ռելեին, arduino- ն կարող է փակել/բացել երկու լարերի միջև շփումը: Ընդհանուր ռելեային տերմինալում մի մետաղալարով, իսկ սովորական փակ տերմինալում `մեկ այլ մետաղալարով մենք կապահովենք, որ arduino- ն անջատելիս ժամանակաչափը անջատված լինի: Ռելեի քորոցը HIGH- ի վրա կարգավորելը կմիացնի ժմչփը; LOW- ի վրա դնելը կջնջի ժամաչափը:

Հողի զոնդ

Այս նախագծի համար երկու մեխերը կպցվում են պտուտակային տերմինալներին միացված մետաղալարերին: Մեկ մեխի տերմինալը ուղիղ գետնին է անցնում: Մյուսը միանում է arduino- ի անալոգային մուտքին և ռեզիստորին: Ռեզիստորը միանում է arduinos 5v ազդանշանին: Ownուցադրված է սեղմման դիագրամում:

Temերմաստիճանի/խոնավության ցուցիչ

DHT11 ջերմաստիճանի/խոնավության տվիչը միացված է arduino- ի 5V- ին, գետնին և arduino- ի թվային կապին:

Լորա վահան

Այս նախագիծը նաև օգտագործեց Dragino Lora Shield- ը (որը ցուցադրված չէ էլեկտրագծերի գծապատկերում):

PVC հիմք

Այս նախագծում օգտագործված arduino- ի համար նախատեսված PVC հիմքը նախագծված է այնպես, որ ջերմաստիճանի/խոնավության տվիչը կարող է ենթարկվել բացահայտման, մինչդեռ մյուս բոլոր բաղադրիչներն ապահովված են անջրանցիկ PVC պարիսպի ներսում: Սենսորի համար մի փոքր անցք է փորված/կտրված, իսկ սիլիցիումը օգտագործվում է այն տեղում պահելու համար, մինչդեռ խոնավությունը չի դադարում հասնել arduino- ին: Ownուցադրված է դիագրամում:

Քայլ 4: Arduino ծրագրավորում

Arduino ծրագրավորում
Arduino ծրագրավորում

Connectրագրավորման և փորձարկման համար բաղադրիչները միացրեք իրար հետ տախտակի կամ տերմինալային շերտերի միջոցով

EPROM կազմաձևում

Սկզբում մենք պետք է կազմաձևման փոփոխականներ գրենք EPROM հիշողության մեջ: Գործարկեք հետևյալ կոդը ձեր arduino- ում.

Կոդ հասանելի է Github- ում

Այստեղ DRY_VALUE- ը սահմանվել է 960: 1024 նշանակում է, որ հողը ամբողջովին չորացել է, 0 -ը նշանակում է ամբողջական հագեցվածություն, 960 -ը ռեզիստորի, մալուխի երկարության և օգտագործված եղունգների լավ հագեցվածության մակարդակ էր: Սա կարող է տարբեր լինել `կախված ձեր սեփական կազմաձևից:

VALVE_OPEN- ը սահմանվել է 180000 միլիոն վայրկյան (3 րոպե): Երբ/եթե թակաչափը միացված է, այն բաց կմնա 3 րոպե:

RUN_INTERVAL- ը սահմանվում է 14400000 միլիվայրկյան (4 ժամ): Սա նշանակում է, որ վերահսկիչը յուրաքանչյուր չորս ժամը մեկ ստուգելու է հողի խոնավությունը և 3 րոպեով միացնելու է ժամաչափի ժմչփը, եթե հագեցվածությունը ցածր է (ավելի քան 960):

Վերևի ծածկագիրը կարող է փոխվել և այդ արժեքները փոփոխվել ցանկացած ժամանակ:

Codeրագրի ծածկագիրը

Կոդ հասանելի է Github- ում

Կախվածություններ.

  • TimedAction
  • Ռադիոյի ղեկավար

Այս օրինակում օգտագործվել է Dragino Lora վահանը և, մասնավորապես, Lora- ի զուգահեռ օրինակը, որն ուղղակիորեն միանում է Dragino Lora Gateway- ին:

Սա կարող է հարմարեցվել Things Network- ին օգտագործելու համար ՝ հեռացնելով «BEGIN: lora vars» բաժնի ծածկագիրը և փոխելով ծրագիրը ՝ ներառելով Dragino- ի հետևյալ օրինակը, կամ հարմարեցված այլ ռադիոկայանների/wifi վահանների և այլնի հետ աշխատելու համար:

Ներկայացված ծածկագիրը ենթադրում է, որ DHT11_PIN- ը թվային 4 -րդ կապն է, RELAY_PIN- ը թվային կապիչ 3 -ն է, իսկ հողի խոնավության անալոգային քորոցը `անալոգային մուտքը 0:

Վրիպազերծման փոփոխականը կարող է սահմանվել true այնպես, որ Սերիայի վրիպազերծման հաղորդագրությունները մուտքագրվեն baudrate 9600:

Քայլ 5. Պարիսպի կառուցում

Պարիսպի կառուցում
Պարիսպի կառուցում

Կտրեք PVC խողովակը, որը կհամապատասխանի ծորակի ժամաչափին և Arduino հիմքին: Հորատեք ծորակի ժամաչափի ծորակի և գուլպաների ամրացման անցքեր: Խողովակի մեջ բավական լայն անցքեր պատրաստեք ավտոմոբիլային խողովակի համար, խողովակի 10 սմ երկարությամբ սահեցրեք անցքերի մեջ և լարերը հանեք արդուինոյից և թակաչափից: Սա պետք է ներառի.

Արդուինոյից

  • Սնուցման լարերը և/կամ USB մալուխը arduino- ի USB պորտից:
  • Հողի խոնավության մալուխներ (VCC, GND, A0)
  • Երկու լար մետաղալարերի NC & Common պտուտակային տերմինալներից

Tapորակի ժմչփից

  • Էներգամատակարարման մալուխներ
  • Երկու լար `աջ հավաքման կոնտակտներից

Քայլ 6. Փորձարկեք վերահսկիչը սոսնձումից առաջ

Փորձարկման վերահսկիչ սոսնձումից առաջ
Փորձարկման վերահսկիչ սոսնձումից առաջ
Փորձարկման վերահսկիչ սոսնձումից առաջ
Փորձարկման վերահսկիչ սոսնձումից առաջ

Համոզվեք, որ ամեն ինչ դեռ աշխատում է, նախքան ամեն ինչ կնքելը:

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

Driորակի ժմչփին ամրացված էր մեկ կաթոցիչ:

Սա լավ միջոց էր ՝ ստուգելու, որ կարգավորումը չի գերազանցում կամ ջրի տակ չի տալիս գործարանը:

Այս օրինակը կարող է գործարկվել այնքան ժամանակ, որքան անհրաժեշտ է վերահսկիչը չափագրելու համար:

Քայլ 7: Սոսինձ / Անջրանցիկ պատյաններ

Սոսինձ / Անջրանցիկ պատյաններ
Սոսինձ / Անջրանցիկ պատյաններ

Օգտագործեք PVC այբբենարան և PVC ցեմենտ `վերջնական կափարիչներն ու միացումը ամրացնելու համար:

Օգտագործեք կափարիչ/սիլիցիում `ավտոմատ խողովակի և ժմչփի ժամաչափի կցամասերի շուրջ առկա բացերը լրացնելու համար:

Այստեղ հասանելիության համար arduino- ի պարիսպի վրա օգտագործվում է պտուտակավոր կափարիչ:

Քայլ 8: Տեղադրեք

Տեղադրեք
Տեղադրեք
Տեղադրեք
Տեղադրեք
Տեղադրեք
Տեղադրեք

Տեղադրեք հստակ օր: Բաղադրիչներն ու լարերը պետք է չոր մնան, նախքան դրանք կնքված լինեն:

Տեղադրեք վերահսկիչը ինչ -որ տեղ կենտրոնացված, որտեղ գտնվում է այգու ծորակը և որտեղ տեղադրվելու է հողի զոնդը:

Տեղադրեք թակել ժմչփը և համոզվեք, որ այն սնուցված չէ մինչև տեղադրման ավարտը:

Տեղադրեք հողի զոնդը:

Յուրաքանչյուր բաղադրիչին ամրացրեք ժապավենի տերմինալներ, այնուհետև յուրաքանչյուր բաղադրիչի պտուտակային տերմինալներից հեռախոսի մալուխ դրեք ՝ համոզվելով, որ մալուխը ծածկված է ավտոմատ խողովակով: Ամեն ինչ իրար միացնելը

Կցեք բոլոր տերմինալները և ցանկացած այլ բացված մասեր թելերով, ապա էլեկտրական ժապավենով:

Theեղքված խողովակի ցանկացած չամրացված/բացված հատվածները կնքեք թելերով, ապա էլեկտրական ժապավենով:

Միացրեք ժմչփը 3.2 վ էներգիայի աղբյուրին: Կա՛մ մարտկոցի տուփ, կա՛մ 3.2V DC - AC ադապտեր, որն անցնում է ցանցի վարդակից:

Arduino- ն միացրեք 6-12 Վ DC հոսանքի աղբյուրին: Կամ մարտկոցի տուփ, կամ USB / DC-AC ադապտեր, որն աշխատում է ցանցի վարդակից:

Միացեք և փորձարկեք:

Քայլ 9. ThingsBoard ինտեգրում. Մոնիտորինգ և հաշվետվություն

ThingsBoard Integration - մոնիտորինգ և հաշվետվություն
ThingsBoard Integration - մոնիտորինգ և հաշվետվություն

Այս օրինակում օգտագործվել է A Dragino Lora Shield, որը միացված է Dragino Lora Gateway- ին: Անկախ նրանից, օգտագործելով այս կարգավորումը, մեկ այլ Lora- ի տեղադրում կամ որևէ այլ IOT միացում, ոռոգման վերահսկիչի հավաքած տվյալները կարող են փոխանցվել IOT պլատֆորմին, ինչպիսին է Thingsboard- ը: Լռելյայն ծրագիրը փոխանցում է տվյալների հետևյալ տողը, որտեղ յուրաքանչյուր նիշի բայթ վեցանկյուն կոդավորված է.

TXXXHXXXXXXXXXX

Որտեղ T- ին հաջորդում է ջերմաստիճանը, H- ին հաջորդում է խոնավությունը, S- ին հաջորդում է հագեցվածության մակարդակը, իսկ R- ին հաջորդում է մեկ նիշ `կապված վերջին գործողության միջակայքում կատարած գործողությունների հետ: Սա կարող է լինել 0-5, որտեղ յուրաքանչյուր նիշ նշանակում է.

0: initialրագիրը նախաստորագրվում է 1. Peratերմաստիճանի տվիչի անսարքություն 2. Peratերմաստիճանը չափազանց ցածր էր աշխատելու համար 3. Հողի խոնավությունը չափազանց չոր էր, այնպես որ ծորակի ժամաչափը միացված էր 4:

Thingsboard- ի պատճենը ձեր սեփական սարքավորումների վրա տեղադրելու մի քանի եղանակ կա, կամ կարող եք անվճար հաշիվ ստեղծել մեր ThingsBoard- ի տեղադրման համար այստեղ:

Կարգավորեք ձեր սարքը Thingsboard- ում

Հետևեք այս հրահանգներին ՝ Thingsboard- ում նոր սարք ավելացնելու համար, որը այն կոչում է «Ոռոգման վերահսկիչ»:

Հրել հեռաչափության տվյալները սարքից

Հետևեք այս հրահանգներին ՝ MQTT, HTTP կամ CoAp միջոցով հեռահաղորդակցության տվյալները սարքից Thingboard մղելու մեթոդ ստեղծելու համար:

Մեր սերվերի վրա մենք հրում ենք հետևյալ JSON- ը https://thingsboard.meansofproduction.tech/api/v1/… յուրաքանչյուր չորս ժամը մեկ, երբ սարքն աշխատում է (կենդանի տվյալներով).

{«ջերմաստիճան» ՝ 13, «խոնավություն» ՝ 78, «ակտիվ» ՝ ճշմարիտ, «հագեցվածություն» ՝ 941, «lastRunResult» ՝ «RUN_RESULT_NO_WATER»}

Նաև մենք պարբերաբար մղում ենք հետևյալ հատկանիշներին https://thingsboard.meansofproduction.tech/api/v1/… պարբերաբար ՝ տվյալ հանգույցի վերջին տեսանելիության տվյալների վերաբերյալ:

Սա օգտագործվում է ահազանգերի համար, որոնք գործարկվում են, եթե սարքը դադարում է տվյալների փոխանցումը:

Ստեղծեք վահանակ

Ստեղծեք վահանակ, ինչպես նկարագրված է այստեղ: Մեր վիջեթները ներառում են.

Պարզ քարտի վիդջեթ, որը ստեղծվել է lastRunResult հեռաչափության դաշտից: verticalերմաստիճանի հեռաչափության դաշտի ուղղահայաց թվային գրաֆիկ TimesResult աղյուսակը, որը ստեղծվել է lastRunResult հեռաչափության դաշտից, որը ցույց է տալիս վերջին օրերի տվյալները: Հորիզոնական սանդղակ, որը ցույց է տալիս հագեցվածության հեռաչափության դաշտը: Սա օգտագործում է տվյալների հետմշակման գործառույթ.

վերադարձ 1024-արժեք;

Եվ սահմանում է նվազագույն և առավելագույն արժեքը 0-100: Այս կերպ հագեցվածության մակարդակը կարող է արտահայտվել որպես տոկոս: Խոնավության արժեքը ցույց տալու ուղեցույց: timeամանակային շարքերի գծապատկեր, որը ներառում է ջերմաստիճանը, խոնավությունը և գործարկման արդյունքը, խմբավորված վերջին շաբաթվա 5 ժամվա ընթացքում, համախմբված `առավելագույն արժեքները ցույց տալու համար:. Սա մեզ տալիս է մեկ բար `չորս ժամ տևողությամբ միջոցառման համար: Տվյալների հետամշակման ֆունկցիան օգտագործվում է վազքի արդյունքը 0-ով կամ 120-ով արտահայտելու համար `կախված ջրի հոսքի կամ չլցման եղանակից: Դա հեշտ տեսողական արձագանք է տալիս ՝ տեսնելու, թե որքան հաճախ է ջուրը հոսում մեկ շաբաթվա ընթացքում: Ստատիկ HTML քարտ, որը ցույց է տալիս այգու պատկերը:

Էլեկտրոնային ծանուցումներ

Ոռոգման վերահսկիչի համար էլ. Փոստով ահազանգեր ստեղծելու համար մենք օգտագործում էինք կանոններ: Բոլորը օգտագործում են հաղորդագրության զտիչներ և Ուղարկել նամակ Գործողությունների հավելման գործողություն:

Էլեկտրոնային փոստով ահազանգ ուղարկելու համար, եթե ոռոգման վերահսկիչը չի կարող տվյալներ ուղարկել, մենք օգտագործել ենք «Սարքի հատկանիշների զտիչ» հետևյալ զտիչով.

typeof cs.secondsSinceLastSeen! == 'undefined' && cs.secondsSinceLastSeen> 21600

Եթե հողը չափազանց չորանա, էլ. Նամակ ուղարկելու համար օգտագործեք հետևյալ հեռաչափության զտիչը

typeof saturation! = "undefined" && saturation> 1010

Եթե հողը չափազանց խոնավանում է, էլ. Նամակ ուղարկելու համար օգտագործեք հետևյալ Հեռաչափության զտիչը

typeof saturation! = "undefined" && saturation

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