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

Կառուցեք մեքենայի դիտիչ `9 քայլ
Կառուցեք մեքենայի դիտիչ `9 քայլ

Video: Կառուցեք մեքենայի դիտիչ `9 քայլ

Video: Կառուցեք մեքենայի դիտիչ `9 քայլ
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Նոյեմբեր
Anonim
Կառուցեք մեքենայի դիտորդ
Կառուցեք մեքենայի դիտորդ
Կառուցեք մեքենայի դիտորդ
Կառուցեք մեքենայի դիտորդ

Այս նախագծի մեկնարկային կետը կոնկրետ նախագծի վրա աշխատելն էր ՝ միկրոկառավարիչների տախտակների մասին մի քանի բան իմանալու համար:

Սկզբնական գաղափարն էր ստեղծել ֆիզիկական օբյեկտ, որը կարող էր վերահսկել Շարունակական ինտեգրացիոն համակարգը (VSTS | Azure DevOps) և հաղորդել ծրագրակազմի խափանումների մասին: ՏՏ բաժնի անվտանգության նկատառումներից ելնելով ՝ ինձ մերժել են «ոչ ստանդարտ» սարք միացնել անմիջապես ձեռնարկության ցանցին:

Ավարտեցի վերը նկարում պատկերված ճարտարապետությունը: Կատարման աշխատանքների ընթացքը կարելի է ամփոփել հետևյալ կերպ.

Windows աշխատասեղանի ծրագիրը սկանավորում է (քաշել) VSTS Build Definitions- ը: Այն վերլուծում է կառուցման արդյունքները, այնուհետև հրաման է ուղարկում ֆիզիկական սարքին, որը կատարում է մի փոքր անիմացիոն հաջորդականություն ՝ նախքան կարմիր կամ կանաչ դրոշը ցուցադրելը:

Քայլ 1: Անհրաժեշտ մասեր

Հետևյալ ցուցակը ամփոփում է բոլոր անհրաժեշտ պարագաները.

  • 1 Arduino UNO R3 (https://store.arduino.cc/usa/arduino-uno-rev3):
  • 1 Ընդլայնման վահան (https://www.dfrobot.com/wiki/index.php/IO_Expansion_Shield_for_Arduino_V7_SKU:DFR0265):
  • 2 XBee S1 մոդուլ (https://www.adafruit.com/product/128):
  • 1 XBee explorer dongle (https://www.sparkfun.com/products/11697):
  • 2 շարունակական servo շարժիչ 5VDC ամրացնող պարագաներով (https://www.parallax.com/sites/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf):
  • 1 9VDC էլեկտրամատակարարում:
  • 3 LED:
  • 3 դիմադրություն 220 Օմ:
  • թերմո քաշվող թև:
  • 1 կոճակ:
  • 10KΩ քաշեք ռեզիստորը քաշման համար:
  • 100nF կոնդենսատոր:
  • էլեկտրական լարեր:
  • շերտի տախտակ (կոճակը տեղադրելու համար)
  • 5 մմ փայտ (50x50 սմ):
  • փայտե ձող քառակուսի հատված 5x5 մմ (1 մ):
  • ստվարաթուղթ:
  • 10 մմ պտուտակ 2 մմ տրամագծով:
  • 4 պտուտակ 5 մմ տրամագծով:
  • ուժեղ մագնիս:
  • շրջադարձային մոդուլ: Ես նորից օգտագործեցի առկայծող լույսի ներքին շարժական մասը: կարող եք տեղադրել այն, ինչ ցանկանում եք: Պարզապես պետք է հոգ տանել, որ շարժական 2 մասերը կարող են ազատ տեղաշարժվել ՝ առանց իրար դիպչելու:

Քայլ 2: Կառուցեք արկղը

Կառուցելով արկղը
Կառուցելով արկղը

Փաստորեն, կարող եք ունենալ ցանկացած ձևի տուփ: Հիմնական բանը, որի մասին պետք է մտածել սկսելուց առաջ, այն է, թե որտեղ են լինելու շարժվող մասերը և ապահովելու, որ դրանք կարողանան ազատ տեղաշարժվել ՝ առանց իրար դիպչելու: Մեկ այլ կետ այն է, թե որտեղ եք պատրաստվում տեղադրել սարքը: Ես ավարտեցի մագնիսով (ուժեղ), որպեսզի այն կպչեմ ցանկացած մետաղական հենարանին: եթե ցանկանում եք կառուցել նույն տուփը, կարող եք հետևել ֆայլի ցուցումներին box_drawings.pdf:

Այդ դեպքում պարզապես պետք է կտրել բոլոր տարբեր կտորները, պատրաստել սերվոմոտորների, LED- ների, կոճակի և պտուտակների անցքեր և վերջապես սոսնձել բոլոր մասերը միասին: Երբ այն չորանում է, մի փոքր հղկում և մի փոքր գույն:

Երկու դրոշները պատրաստվել են կարմիր և կանաչ ստվարաթղթից: Սերվոմոտորների վրա դրոշի կայմը ամրացնելու համար կարող եք օգտագործել դրանք գնելիս տրամադրվող ամրացման մասերը:

Քայլ 3: Arduino- ի կարգավորում

Arduino կարգավորումը
Arduino կարգավորումը

Arduino ընդլայնման տախտակին միացված տարրերն են.

  • D2 PIN- կոճակ:
  • D4 PIN: LED- ն ասում է, որ համակարգը միացված է:
  • D5 PIN: LED- ն ասում է, որ մենք կատարում ենք ցիկլ:
  • D6 PIN: LED- ն ասում է, որ սարքը նոր հաղորդագրություն է ստացել:
  • D9 PIN: PWM զարկերակային ազդանշանը սերվոմոտորի համար, որը վարում է գիրոն:
  • D10 PIN: PWM զարկերակային ազդանշանը դրոշը բեռնաթափող սերվոմոտորի համար:
  • XBee վարդակից. Մեկ ZigBee մոդուլ:

Վերոնշյալ սխեմատիկան ցույց է տալիս, թե ինչպես են բոլոր տարրերը միացված տախտակին:

LED- ների համար ռեզիստորը և լարերը ուղղակիորեն եռակցվում են դրա վրա (հոգացեք բևեռականության մասին): Այնուհետև ամեն ինչ փաթեթավորված է ինչ -որ թերմո քաշվող թևի մեջ:

Կոճակի համար բոլոր մասերը (կոճակը, ռեզիստորը և կոնդենսատորը) ուղղակիորեն եռակցվում են արբանյակային փոքրիկ տախտակի վրա: Այնուհետև շերտագիծը ուղղակիորեն ամրացվում է երկու պտուտակով (2 մմ)

Սերվոմոտորներն աշխատում են 5 Վ լարման հզորությամբ, ուստի դրանք կարող են միացվել անմիջապես Arduino- ին: Եթե դուք օգտագործում եք ավելի բարձր լարման (12 Վ) լամպեր, ապա ստիպված կլինեք էներգիայի մատակարարման համար ավելացնել մեկ այլ շերտ:

XBee մոդուլների համար, երբ դրանք կազմաձևված են միասին խոսելու համար (տե՛ս հաջորդ բաժինը), դրանք կարող են ուղղակիորեն միացվել վարդակներին:

Նշումներ. LED- ները և սեղմման կոճակը կարող էին ուղղակիորեն միացված լինել Arduino- ի կապումներին, քանի որ այն կարող է ներսում ներդնել անհրաժեշտ արժեթղթեր: Ես պարզապես արեցի հին ձևը, քանի որ այս ասպեկտն ինձ համար այնքան էլ պարզ չէր:

Քայլ 4: Softwareրագրակազմ - XCTU

Softwareրագրային ապահովում - XCTU
Softwareրագրային ապահովում - XCTU

Ինչպես նշվեց վերևում, երկու XBee սարքերը պետք է կազմաձևված լինեն միասին խոսելու համար: Դա անելու համար հարկավոր է օգտագործել DIGI- ի հատուկ X-CTU ծրագրակազմը: Այս կազմաձևման քայլը պետք է կատարեք միայն մեկ անգամ: հետևեք xbee_configuration.pdf ֆայլում նկարագրված ընթացակարգին:

Կազմաձևումն ավարտվելուց հետո կարող եք միացնել յուրաքանչյուր մոդուլ իրենց վարդակից: Մեկը USB/Serial կերպափոխիչի վրա և մեկը Arduino ընդլայնման տախտակի վրա:

USB/Serial փոխարկիչը պետք է ինքնաբերաբար ճանաչվի Windows 10. Եթե դա այդպես չէ, գուցե ստիպված լինեք ձեռքով տեղադրել վարորդը

Նշում:

Հիմնական սերիական հաղորդակցություն իրականացնելու համար XBee մոդուլների օգտագործումը մի փոքր չափազանցնում է: Այն ժամանակ, երբ ես սկսեցի նախագիծը, ինձ չհաջողվեց պարզ սերիական հաղորդակցության սարքեր գտնել, որոնք հեշտությամբ օգտագործելի էին Windows 10 -ում (վարորդի հետ կապված խնդիրներ): Սա նաև հնարավորություն էր մի քանի բան սովորելու https://www.zigbee.org- ի մասին

Քայլ 5. Softwareրագրակազմ - Arduino Sketch

Softwareրագրային ապահովում - Arduino Sketch
Softwareրագրային ապահովում - Arduino Sketch

Arduino- ի ծրագրավորման համար մենք օգտագործում ենք IDE- ն, որը հասանելի է պաշտոնական վեբ կայքից:

Theրագրի տրամաբանությունը բավականին պարզ է, այն պարզապես լսում է տախտակի լռելյայն սերիական պորտը մեկ տառերի համար (‘a’, ‘b’,…): Եթե ստացված կերպարը համապատասխանում է հայտնի հրամանին, ապա ենթաֆունկցիան խաղում է համապատասխան հաջորդականությունը:

Երկու հիմնական օգտակար հրահանգներն են ՝ հաջողության անիմացիա («ա») և սխալի անիմացիա («բ»):

Տուփի հետ մի փոքր ավելի խաղալու (կամ կարգաբերելու) կարողանալու համար կան լրացուցիչ հրամաններ, որոնք կարող են կատարվել: Նրանք են:

  • «O». Ստիպեք միացնել LED- ը
  • «P». Ստիպեք ON LED- ն անջատված լինել
  • «Q». Ստիպեք Նոր հաղորդագրության LED- ին միացված լինել
  • ‘R’. Ստիպեք Նոր Հաղորդագրության LED- ին անջատված լինել
  • ‘S’: ստիպեք Cycle LED- ը միացված լինել
  • «T»: ստիպեք Cycle LED- ին անջատված լինել
  • «U»: ակտիվացրեք կինոստորմի սերվոմոտորը
  • «V». Ակտիվացնել դրոշի սերվոմոտորը:

Բացի սերիական հրահանգից, կա նաև ենթածրագիր (handlePushButton), որն ակտիվանում է, երբ սարքի վրա սեղմվում է կոճակը: Այդ դեպքում սխալի կամ հաջողության անիմացիան ինքնաբերաբար նվագարկվում է: Այս գործառույթը թույլ է տալիս ստուգել, որ ֆիզիկական սարքը ճիշտ է տեղադրված:

Arduino էսքիզի կոդը գտնվում է bsldevice.ino մեկ ֆայլում: Դուք կարող եք այն ուղղակիորեն վերբեռնել ՝ օգտագործելով IDE- ն:

Քայլ 6: Softwareրագրակազմ - աշխատասեղանի ծրագիր

Softwareրագրային ապահովում - աշխատասեղանի ծրագիր
Softwareրագրային ապահովում - աշխատասեղանի ծրագիր

Սեղանի հավելվածի նպատակն է վերահսկել Microsoft Azure DevOps (նախկինում VSTS) վեբ կայքը և հայտնաբերել, թե արդյոք կառուցման սահմանումը հաջող է կամ սխալ: Ամեն անգամ, երբ կառուցումն ավարտվում է, աշխատասեղանի ծրագիրը որոշում է կառուցվածքի կարգավիճակը և համապատասխան հրամանը (‘a’ կամ ‘b’) ուղարկում սերիական նավահանգիստ (COMx):

Հավելվածը գործարկելուց հետո առաջին գործողությունն այն է, որ ընտրել ճիշտ կոմպորտը, որի վրա միացված է ZigBee մոդուլը: Պորտը որոշելու համար կարող եք օգտագործել Windows Device Manager- ը (Պորտերի ներքո (COM & LPT բաժին)): Azure DevOps- ին միացումը կատարվում է ինքնաբերաբար գործարկման ժամանակ ՝ օգտագործելով ընթացիկ օգտագործողի հավատարմագրերը: Կարող եք նաև ցանկացած կանխորոշված հրաման ձեռքով ուղարկել ՝ օգտագործելով աջ կողմում գտնվող համակցված տուփը:

Բոլոր աղբյուրները ստեղծվել են Visual Studio 2017 մասնագիտական հրատարակության միջոցով: Այն պահանջում է. NET Framework 4.6.1. Շրջանակի այս տարբերակը նախընտրելի է `VSTS վեբ կայքին կապը/նույնականացումը հեշտացնելու համար:

օգտագործել:

  • ներբեռնեք արխիվը bslwatcher_sources.zip.
  • Քաշեք այն ձեր սկավառակի վրա:
  • Կարդալու մանրամասների համար կարդացեք how_to_build.txt ֆայլը:

Քայլ 7: Առաջին մեկնարկ

Տուփը գործարկելիս պետք է հաշվի առնել երկու հիմնական բան.

1- Համակարգը ոչ մի կերպ չի կարող ինքնուրույն իմանալ, թե որտեղ են դրոշները: Համակարգը ենթադրում է, որ գործարկման ժամանակ կանաչ դրոշը բարձրացված է:

2- Arduino- ի տախտակը միացնելիս ոչինչ չպետք է շարժվի: Քանի որ մենք օգտագործում էինք շարունակական ծառայություններ, էսքիզների ֆայլում զրոյական դիրքը կանխադրված է 90 -ի: Եթե սերվոմոտորը սկսում է պտտվել կամ ինչ -որ աղմուկ բարձրացնել: գուցե ստիպված լինեք նորից սահմանել դրա զրոյական դիրքը: Դա անելու համար պարզապես կարգաբերեք պոտենցիոմետրը սերվոմոտորի կողքի փոքրիկ անցքի մեջ:

www.arduino.cc/hy/Reference/ServoWrite

cmra.rec.ri.cmu.edu/content/electronics/boe…

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

Այս փոքրիկ սարքը ֆիզիկապես կհաղորդի ձեր շարունակական ինտեգրման համակարգի կարգավիճակին:

Քանի որ «հետախուզությունը» գտնվում է աշխատասեղանի ծրագրում, կարող եք օգտագործել վանդակը ՝ ցանկացած այլ ծրագրակազմ կամ գործընթաց (փոստ, ջերմաստիճանի տվիչ…) վերահսկելու համար: Պարզապես պետք է մուտք ունենալ մեկ այլ API և որոշել, թե որն է «լավ» կամ «վատ»: Եթե դուք չեք օգտագործում կարմիր և կանաչ պայմանական գույները, կարող եք նույնիսկ փոխել «հաղորդագրության» իմաստը:

Բարելավումներ կարող են լինել նաև տուփի մեջ.

  • Օգտագործեք մարտկոց:
  • Օգտագործեք այլ հաղորդակցության արձանագրություն:
  • Ավելացրեք տվիչներ ՝ իմանալու համար, թե որ դրոշն է վերևում:

Հուսով եմ, որ այս նախագիծը ձեզ հետաքրքիր գտավ:

Շնորհակալություն այստեղ կարդալու համար:

Քայլ 9: Հավելված

Այս նախագծի ստեղծման համար օգտագործված որոշ հղումներ.

Arduino վեբ կայք ՝

DIGI վեբ կայք ՝

XCTU ծրագրակազմ ՝

Որոշ տեղեկություններ, որոնք օգտագործվում են մյուսներից.

arduino.stackexchange.com/questions/1321/se…

stackoverflow.com/questions/10399400/best-w…

www.mon-club-elec.fr/pmwiki_reference_ardui… (ֆրանսերեն)

jeromeabel.net/

MSDN վեբ կայք ընդհանրապես.

docs.microsoft.com/hy-us/dotnet/framework/…

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