Բովանդակություն:
- Քայլ 1: Vivado Hardware Setup
- Քայլ 2: Կարգավորեք բլոկի դիզայնը
- Քայլ 3: Ստեղծեք հարմարեցված PWM IP բլոկ
- Քայլ 4. Դիզայնին ավելացրեք PWM IP բլոկ
- Քայլ 5. Կարգավորեք HDL Wrapper- ը և սահմանեք սահմանափակումների ֆայլ
- Քայլ 6: Bitstream- ի ստեղծում
- Քայլ 7: Նախագծի ստեղծում SDK- ում
- Քայլ 8: FreeRTOS կոդի փոփոխություններ
- Քայլ 9. 3D տպագրություն կայունացուցիչի համար
- Քայլ 10: Մասերի հավաքում
- Քայլ 11: Zybo- ի միացում կայունացուցիչին
- Քայլ 12: Northշմարիտ հյուսիսային ուղղում
- Քայլ 13: ningրագրի գործարկում
Video: Ձեռքի խցիկի կայունացուցիչ ՝ 13 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Ներածություն
Սա ուղեցույց է GoPro- ի համար 3 առանցքի ձեռքի տեսախցիկի կայունացման սարք ստեղծելու համար `օգտագործելով Digilent Zybo Zynq-7000 զարգացման խորհուրդը: Այս նախագիծը մշակվել է CPE իրական ժամանակի օպերացիոն համակարգերի դասի համար (CPE 439): Կայունացուցիչը օգտագործում է երեք սերվո և IMU ՝ տեսախցիկի մակարդակը պահելու համար օգտագործողի շարժումը շտկելու համար:
Partրագրի համար անհրաժեշտ մասեր
- Digilent Zybo Zynq-7000 զարգացման խորհուրդ
- Sparkfun IMU Breakout - MPU 9250
- 2 HiTec HS-5485HB Servos (գնել 180 աստիճանի շարժում կամ ծրագիր 90-ից 180 աստիճան)
- 1 HiTec HS-5685MH Servo (գնել 180 աստիճանի շարժում կամ ծրագիր 90-ից 180 աստիճան)
- 2 ստանդարտ սերվո փակագծեր
- 1 Հացաթուղթ
- 15 տղամարդ-տղամարդ ցատկող լար
- 4 արուից-կին ցատկող լարեր
- Տաք սոսինձ
- Բռնակ կամ բռնիչ
- 5 մմ տրամագծով փայտե գամասեղ
- GoPro կամ այլ տեսախցիկ և տեղադրման սարքավորում
- Էլեկտրաէներգիայի մատակարարում, որը կարող է թողնել 5 Վ լարման:
- Մուտք դեպի 3D տպիչ
Քայլ 1: Vivado Hardware Setup
Եկեք սկսենք նախագծի հիմքում ընկած բլոկի դիզայնի ստեղծմամբ:
- Բացեք Vivado 2016.2, կտտացրեք «Ստեղծել նոր նախագիծ» պատկերակին և կտտացրեք «Հաջորդ>»:
- Անվանեք ձեր նախագիծը և կտտացրեք «Հաջորդ>»:
- Ընտրեք RTL նախագիծը և կտտացրեք «Հաջորդ>»:
- Մուտքագրեք որոնման բարում xc7z010clg400-1, այնուհետև ընտրեք հատվածը և կտտացրեք «Հաջորդ>» և «Ավարտել»:
Քայլ 2: Կարգավորեք բլոկի դիզայնը
Այժմ մենք կսկսենք ստեղծել բլոկի դիզայն ՝ ավելացնելով և կարգավորելով Zynq IP բլոկը:
- Ձախ ձեռքի վահանակում, IP ինտեգրատորի ներքո, կտտացրեք «Ստեղծել բլոկի ձևավորում», այնուհետև կտտացրեք «Լավ»:
- Աջ սեղմեք «Դիագրամ» ներդիրում և ընտրեք «Ավելացնել IP…»:
- Մուտքագրեք «ZYNQ7 Processing System» և կտտացրեք ընտրությանը:
- Կրկնակի սեղմեք հայտնվող Zynq բլոկի վրա:
- Կտտացրեք «Ներմուծեք XPS կարգավորումներ» և ներմուծեք տրամադրված «ZYBO_zynq_def.xml» ֆայլը:
- Գնացեք «MIO կոնֆիգուրացիա» և ընտրեք «Դիմումի պրոցեսորային միավոր» և միացրեք «erամաչափ 0» և «Watchdog» ժամաչափերը:
- Նույն ներդիրում, «I/O Peripherals» բաժնում, ընտրեք ENET 0 (և փոխեք բացվող ընտրացանկը «MIO 16.. 27», USB 0, SD 0, UART 1, I2C 0:
- «GPIO» բաժնում նշեք GPIO MIO, ENET Reset, USB Reset և I2C Reset:
- Այժմ անցեք «ockամացույցի կազմաձևում»: Ընտրեք FCLK_CLK0 PL գործվածքների ժամացույցների ներքո: Այնուհետև կտտացրեք «Լավ»:
Քայլ 3: Ստեղծեք հարմարեցված PWM IP բլոկ
Այս IP բլոկը թույլ է տալիս տախտակին ուղարկել PWM ազդանշան `սպասարկողների շարժը վերահսկելու համար: Աշխատանքը մեծապես հիմնված էր Digitronix Nepal- ի ձեռնարկի վրա, որը գտնվել է այստեղ: Տրամաբանությունը ավելացվեց ժամացույցը դանդաղեցնելու համար, որպեսզի զարկերակը դուրս գա ճիշտ արագությամբ: Բլոկը վերցնում է 0-ից 180 թիվը և այն վերածում է զարկերակի 750-2150 օգտագործումից:
- Այժմ, վերևի ձախ անկյունում գտնվող Գործիքներ ներդիրում, կտտացրեք «Ստեղծել և փաթեթավորել IP …» և կտտացրեք Հաջորդը:
- Այնուհետև ընտրեք «Ստեղծեք նոր AXI4 ծայրամասային սարք» և կտտացրեք Հաջորդը:
- Անվանեք ձեր PWM IP բլոկը (մենք այն անվանեցինք pwm_core) և կտտացրեք Հաջորդ, այնուհետև հաջորդ էջին նույնպես կտտացրեք Հաջորդը:
- Այժմ կտտացրեք «Խմբագրել IP» և կտտացրեք Ավարտել: Սա կբացի նոր պատուհան ՝ pwm բլոկը խմբագրելու համար:
- «Աղբյուրներ» ներդիրում և «Դիզայնի աղբյուրներ» բաժնում ընդլայնեք 'pwm_core_v1_0' (փոխարինեք pwm_core- ը ձեր անունով) և բացեք տեսանելի դարձած ֆայլը:
- Copրագրի ներքևում գտնվող zip ֆայլում պատճենեք և տեղադրեք «pwm_core_v1_0_S00_AXI.v» տողով տրված կոդը: Ctrl + Shift + R և փոխարինեք «pwm_core» - ը ձեր անունով ip բլոկի համար:
- Հաջորդը բացեք 'name _v1_0' և պատճենեք տրամադրված ծածկագրում 'pwm_core_v1_0.v' ֆայլում: Ctrl + Shift + R և «pwm_core» - ը փոխարինեք անունով:
- Այժմ անցեք «Փաթեթի IP - անուն» ներդիրին և ընտրեք «Հարմարեցման պարամետրեր»:
- Այս ներդիրում վերևում կլինի դեղին գույն, որը միացված է տեքստին: Ընտրեք սա, և «Թաքնված պարամետրերը» կհայտնվի վանդակում:
- Այժմ գնացեք «Անհատականացման GUI» և աջ սեղմեք Pwm Counter Max- ի վրա և ընտրեք «Խմբագրել պարամետրը …»:
- Նշեք «Տեսանելի անհատականացման GUI- ում» և «Նշեք տիրույթը» վանդակները:
- Փոխեք «Տեսակ.» Բացվող ընտրացանկը ՝ Ամբողջ թվերի տիրույթ և սահմանեք նվազագույնը 0 և առավելագույնը 65535 և նշեք «Rույց տալ տիրույթը» վանդակը: Այժմ կտտացրեք OK:
- Քաշեք Pwm Counter Max- ը «Էջ 0» ծառի տակ: Այժմ գնացեք «Վերանայում և փաթեթ» և կտտացրեք «Նոր փաթեթավորում IP» կոճակին:
Քայլ 4. Դիզայնին ավելացրեք PWM IP բլոկ
Մենք IP բլոկը կավելացնենք բլոկի ձևավորման մեջ, որպեսզի թույլ տանք օգտվողին մուտք գործել PWM IP բլոկ պրոցեսորի միջոցով:
- Աջ սեղմեք դիագրամների ներդիրում և կտտացրեք «IP կարգավորումներ …»: Գնացեք «Պահեստների կառավարիչ» ներդիրին:
- Կտտացրեք կանաչ գումարած կոճակը և ընտրեք այն: Այժմ գտեք ip_repo ֆայլերի կառավարիչում և ավելացրեք այն նախագծին: Այնուհետև կտտացրեք Դիմել և այնուհետև OK:
- Աջ սեղմեք դիագրամների ներդիրում և կտտացրեք «Ավելացնել IP…»: Մուտքագրեք ձեր PWM IP բլոկի անունը և ընտրեք այն:
- Էկրանի վերևում պետք է լինի կանաչ սանդղակ, նախ ընտրեք «Գործարկել միացման ավտոմատացումը» և կտտացրեք OK: Այնուհետև կտտացրեք «Գործարկել արգելափակման ավտոմատացումը» և կտտացրեք OK:
- Կրկնակի սեղմեք PWM բլոկի վրա և փոխեք Pwm Counter Max- ը 128 -ից 1024 -ի:
- Տեղադրեք ձեր մկնիկի ցուցիչը PWM0- ի վրա PWM բլոկի վրա: Պետք է լինի մի փոքրիկ մատիտ, որը ցույց է տալիս, երբ դա անում եք: Աջ սեղմեք և ընտրեք «Ստեղծել նավահանգիստ…» և կտտացրեք OK, երբ պատուհանը բացվի: Սա ստեղծում է արտաքին նավահանգիստ ազդանշանի փոխանցման համար:
- Կրկնեք 6 -րդ քայլը նաև PWM1- ի և PWM2- ի համար:
- Գտեք փոքր շրջանաձև կրկնակի սլաքի պատկերակը կողագոտում և կտտացրեք այն: Այն կվերածնի դասավորությունը, և ձեր բլոկի դիզայնը պետք է նման լինի վերը նշված նկարին:
Քայլ 5. Կարգավորեք HDL Wrapper- ը և սահմանեք սահմանափակումների ֆայլ
Այժմ մենք ստեղծելու ենք մեր բլոկի դիզայնի բարձր մակարդակի ձևավորում, այնուհետև Zybo տախտակի վրա քարտեզագրում ենք PWM0, PWM1 և PWM2 Pmod կապերը:
- Գնացեք «Աղբյուրներ» ներդիրին: Աջ սեղմեք ձեր բլոկի ձևավորման ֆայլին «Դիզայնի աղբյուրներ» բաժնում և կտտացրեք «Ստեղծել HDL Wrapper …»: Ընտրեք «Պատճենել ստեղծված փաթաթանը ՝ օգտվողի խմբագրումները թույլատրելու համար» և կտտացրեք OK: Սա ստեղծում է մեր ստեղծած բլոկային դիզայնի բարձր մակարդակի դիզայն:
- Pmod- ը, որտեղ մենք դուրս կգանք, JE է:
- Ֆայլում ընտրեք «Ավելացնել աղբյուրներ …» և ընտրեք «Ավելացնել կամ ստեղծել սահմանափակումներ» և կտտացրեք Հաջորդը:
- Կտտացրեք ավելացնել ֆայլեր և ընտրեք ներառված «ZYBO_Master.xdc» ֆայլը: Եթե նայեք այս ֆայլում, ապա կնկատեք, որ ամեն ինչ մեկնաբանված չէ, բացառությամբ «#_Pmod Header JE» տակի «set_property» վեց տողերի: Դուք կնկատեք, որ PWM0, PWM1 և PWM2 այս տողերի փաստարկներն են: Նրանք քարտեզագրում են JE Pmod- ի 1 -ին, 2 -րդ և 3 -րդ կապերի վրա:
Քայլ 6: Bitstream- ի ստեղծում
Մենք պետք է ստեղծենք բիթստրիմ, որպեսզի ապարատային դիզայնը SDK- ին արտահանվի, նախքան առաջ շարժվելը:
- Կողքի վահանակի «andրագիր և կարգաբերում» բաժնում ընտրեք «Ստեղծել Bitstream»: Սա կգործարկի սինթեզ, այնուհետև կիրառում և այնուհետև կստեղծի դիզայնի բիթստրիմ:
- Ուղղեք առաջացած սխալները, բայց նախազգուշացումներն ընդհանուր առմամբ կարող են անտեսվել:
- Գնացեք Ֆայլ-> Գործարկել SDK և կտտացրեք OK: Սա կբացի Xilinx SDK- ն:
Քայլ 7: Նախագծի ստեղծում SDK- ում
Այս հատվածը կարող է մի փոքր հիասթափեցնել: Կասկածի դեպքում պատրաստեք նոր BSP և փոխարինեք հինը: Սա փրկեց մեզ մի շարք վրիպազերծման ժամանակ:
- Սկսեք ՝ ներբեռնելով FreeRTOS- ի վերջին տարբերակը այստեղ:
- Ներբեռնումից հանեք ամեն ինչ և ներմուծեք FreeRTOS- ը SDK ՝ կտտացնելով Ֆայլ-> Ներմուծում, իսկ «Ընդհանուր» բաժնում կտտացրեք «Գոյություն ունեցող նախագծեր աշխատանքային տարածքում», այնուհետև կտտացրեք Հաջորդը:
- Անցեք «FreeRTOS/Դեմո/CORTEX_A9_Zynq_ZC702» ՝ FreeRTOS պանակում: Այս վայրից ներմուծեք միայն «RTOSDemo»:
- Այժմ ստեղծեք խորհրդի աջակցման փաթեթ (BSP) `կտտացնելով Ֆայլ-> Նոր խորհրդի աջակցության փաթեթ:
- Ընտրեք «ps7_cortexa9_0» և նշեք «lwip141» և կտտացրեք OK:
- Աջ սեղմեք RTOSDemo կապույտ թղթապանակի վրա և ընտրեք «Նախագծի հղումներ»:
- Հեռացրեք «RTOSDemo_bsp» նշումը և ստուգեք մեր ստեղծած նոր BSP- ն:
Քայլ 8: FreeRTOS կոդի փոփոխություններ
Մեր տրամադրած ծածկագիրը կարելի է բաժանել 7 տարբեր ֆայլերի: main.c, iic_main_thread.c, xil_printfloat.c, xil_printfloat.h, IIC_funcs.c, IIC_funcs.h և iic_imu.h: Iic_main_thread.c- ի ծածկագիրը հարմարեցված է Kris Winer- ի գրադարանից, որը կարելի է գտնել այստեղ: Մենք հիմնականում փոխակերպեցինք նրա ծածկագիրը `ներառելով առաջադրանքներ և աշխատեցրեք այն Zybo- ի տախտակի հետ: Մենք նաև ավելացրեցինք ֆոտոխցիկի կողմնորոշման ուղղումը հաշվարկելու գործառույթներ: Մենք թողել ենք մի քանի տպագիր հայտարարություններ, որոնք օգտակար են վրիպազերծման համար: Նրանցից շատերը մեկնաբանվում են, բայց եթե դրա կարիքը զգում եք, կարող եք դրանք մեկնաբանել:
- Main.c ֆայլը փոփոխելու ամենադյուրին ճանապարհը մեր ներառված main.c ֆայլից պատճենված ծածկագիրը փոխարինելն է:
- Նոր ֆայլ ստեղծելու համար RTOSDemo- ի ներքո սեղմեք src պանակի վրա և ընտրեք C Source File: Անվանեք այս ֆայլը «iic_main_thread.c»:
- Պատճենեք ծածկագիրը ներառված «iic_main_thread.c» - ից և տեղադրեք այն ձեր նոր ստեղծված ֆայլում:
- Կրկնեք 2 -րդ և 3 -րդ քայլերը մնացած ֆայլերով:
- պահանջում է gcc- ում կապող հրահանգ: Կառուցման ուղուն ավելացնելու համար աջ սեղմեք RTOSDemo- ի վրա և ընտրեք «C/C ++ Build Settings»:
- Կբացվի նոր պատուհան: Գնացեք ARM v7 gcc linker-> Գրադարաններ: Վերին աջ անկյունում ընտրեք փոքր ավելացնել ֆայլը և մուտքագրեք «m»: Սա նախագծում ներառելու է մաթեմատիկական գրադարանը:
- Կառուցեք նախագիծ Ctrl + B- ով `ամեն ինչ աշխատելու համար: Ստուգեք առաջացած նախազգուշացումները, բայց գուցե կարողանաք անտեսել դրանք:
- Կան մի քանի վայրեր, որոնք փոփոխության կարիք կունենան ՝ հիմնականում ձեր ներկայիս գտնվելու վայրի մագնիսական անկումը: Մենք կբացատրենք, թե ինչպես փոխել դա ձեռնարկի ճշգրտման մասում:
Քայլ 9. 3D տպագրություն կայունացուցիչի համար
Այս նախագծի համար անհրաժեշտ է մի քանի մաս 3D տպել: Հավանաբար կարելի է ձեռք բերել այնպիսի մասեր, որոնք ունեն նմանատիպ չափսեր/չափեր մեր տպագիր մասերին:
- Օգտագործեք տրամադրված ֆայլերը ՝ GoPro- ի թևը և բռնակները փակելու համար:
- . Stl ֆայլում պետք է փայտամածեր ավելացնել:
- Տպելուց հետո կտրեք/մաքրեք ավելորդ փայտամածի մասերը:
- Woodenանկության դեպքում կարող եք փոխարինել փայտե գավազանը 3D տպիչով:
Քայլ 10: Մասերի հավաքում
Սրանք կայունացուցիչի հավաքման մի քանի մաս են: Գնված փակագծերը գալիս են 4 ինքնահպման պտուտակով և 4 պտուտակով `ընկույզով: Քանի որ կան 3 սերվո, սերվո եղջյուրներից մեկը պետք է նախապես թակել, որպեսզի 2 պտուտակներից տեղավորվի:
- Oldոդեք 8 կապում IMU- ի ճեղքման վրա, յուրաքանչյուրը 4 -ով:
- IMU- ն կցված է GoPro- ի եռաչափ տպված բռնակով փակագծին ՝ փակագծի կենտրոնում:
- Ուղղեք փակագիծը այնպես, որ servo- ի ամրացման անցքերը լինեն ձեր ձախ կողմում: Տեղադրեք IMU- ն ձեզ ամենամոտ եզրին, իսկ քորոցները կախված են եզրից: Այնուհետև տեղադրեք GoPro լեռը IMU- ի վերևում ՝ կպչելով IMU- ն և ամրակը տեղում փակագծի վրա:
- Կցեք HS-5485HB- ն servo փակագծին, որը ինտեգրված է 3D տպված թևին:
- Պտուտակեք GoPro փակագիծը թևին ամրացված սերվոյի մեջ ՝ համոզվելով, որ servo- ն այնպես է դրված, որ այն գտնվում է իր շարժման միջակայքի մեջտեղում:
- Հաջորդը, HS-5685MH servo- ն կցեք servo փակագծին: Այնուհետև պտուտակներից մեկով հարվածեք սերվոյի եղջյուրին: Այժմ կցեք servo- ն վերջին servo փակագծի ներքևում:
- Այժմ ամրացրեք վերջին servo- ն այն փակագծին, որի մեջ պտուտակված է HS-5685MH servo- ն: Այնուհետև պտուտակեք թևն այս սերվոյի մեջ ՝ համոզվելով, որ թևը պտուտակված է, որպեսզի այն կարողանա 90 աստիճան շարժվել ամեն կողմից:
- Գիմբալի կառուցումն ավարտելու համար ավելացրեք փայտե դոդի մի փոքր կտոր ՝ GoPro փակագծի և 3D տպված թևի միջև միանալու համար: Այժմ դուք հավաքել եք կայունացուցիչը:
- Ի վերջո, կարող եք ավելացնել բռնիչ, որը միացված է ներքևի servo փակագծին:
Քայլ 11: Zybo- ի միացում կայունացուցիչին
Կան մի քանի բաներ, որոնցից պետք է զգույշ լինել, երբ դա անում եք: Դուք ցանկանում եք համոզվել, որ հոսանքի աղբյուրից 5 Վ -ը երբեք չի մտնում Zybo- ի տախտակ, քանի որ դա կհանգեցնի տախտակի հետ կապված խնդիրների: Համոզվեք, որ կրկնակի ստուգեք ձեր թռիչքները `հաստատելու համար, որ լարերը չեն փոխվում:
- Zybo- ն կայունացուցիչին ամրացնելու համար ձեզ հարկավոր կլինի 15 տղամարդ արու թռչկոտող և 4 արու ՝ կին թռչկոտող:
- Նախ, միացրեք երկու թռիչք ձեր 5 Վ լարման սնուցման աղբյուրին ՝ տախտակի + և - ռելսերի երկայնքով: Սրանք էներգիան մատակարարելու են սերվոներին:
- Այնուհետև 3 զույգ ցատկողներ միացրեք տախտակի + և - ռելսերին: Սրանք կլինեն ուժեր յուրաքանչյուր սպասարկողի համար:
- Մուտք գործեք + և - jumper- ների մյուս ծայրը յուրաքանչյուր սերվոսի մեջ:
- Մի թռիչք միացրեք տախտակի երկաթուղու և Zybo JE Pmod- ի GND կապում (տես քայլ 5 -ի նկարը): Սա ընդհանուր լեզու կստեղծի Zybo տախտակի և էլեկտրամատակարարման միջև:
- Հաջորդը միացրեք ազդանշանային մետաղալարը JE Pmod- ի 1 -ին, 2 -րդ և 3 -րդ կապին: Կցեք 1 քարտեզ ներքևի սերվոյին, 2 քարտեզ ամրացրեք թևի վերջում գտնվող սերվոյին և 3 քարտեզ կապեք միջին սերվոյին:
- Միացրեք 4 իգական լարերը IMU ճեղքման GND, VDD, SDA և SCL կապում: GND և VDD միացրեք GND- ին և 3V3- ին JF կապում: Միացրեք SDA- ի կապը 8 -ի կապում և SCL- ը JF- ի 7 -ի մեջ (տես քայլ 5 -ի նկարը):
- Վերջապես, միացրեք համակարգիչը տախտակին `օգտագործելով միկրո USB մալուխ: Սա թույլ կտա uart հաղորդակցություն և թույլ կտա ծրագրավորել Zybo տախտակը:
Քայլ 12: Northշմարիտ հյուսիսային ուղղում
IMU- ում մագնիսաչափի ճշգրտումը կարևոր է սարքի ճիշտ աշխատանքի համար: Մագնիսական անկումը, որն ուղղում է մագնիսական հյուսիսը իսկական հյուսիս:
- Մագնիսական և իսկական հյուսիսից տարբերությունը շտկելու համար հարկավոր է օգտագործել երկու ծառայությունների համադրություն ՝ Google Քարտեզներ և NOAA- ի մագնիսական դաշտի հաշվիչ:
- Օգտագործեք Google Քարտեզները ՝ գտնելու ձեր ընթացիկ գտնվելու վայրի լայնությունը և երկայնությունը:
- Վերցրեք ձեր ընթացիկ երկայնությունը և լայնությունը և միացրեք այն մագնիսական դաշտի հաշվիչին:
- Վերադարձվածը մագնիսական անկումն է: Միացրեք այս հաշվարկը «iic_main_thread.c» 378 տողի կոդը: Եթե ձեր թեքությունը դեպի արևելք է, ապա հանեք yaw արժեքից, եթե արևմուտք, ապա ավելացրեք yaw արժեքին:
*լուսանկարը վերցված է Sparkfun- ի MPU 9250 կապի ուղեցույցից, որը գտնվում է այստեղ:
Քայլ 13: ningրագրի գործարկում
Այն պահը, որին դուք սպասում էիք: Րագրի լավագույն մասը տեսնելն է, որ այն աշխատում է: Մեր նկատած խնդիրներից մեկն այն է, որ շեղում կա IMU- ից զեկուցված արժեքներից: Lowածր անցումային ֆիլտրը կարող է օգնել ուղղել այս շեղումը, իսկ մագնիսաչափով, արագացմամբ և գիրո չափագրումներով ջնջվելը նույնպես կօգնի ուղղել այս շեղումը:
- Նախ, կառուցեք բոլորը SDK- ում, դա կարելի է անել `սեղմելով Ctrl + B:
- Համոզվեք, որ սնուցման աղբյուրը միացված է և սահմանել 5 Վ: Կրկնակի ստուգեք, որ բոլոր լարերը գնում են իրենց ճիշտ տեղերը:
- Այնուհետև ծրագիրը գործարկելու համար սեղմեք առաջադրանքի տողի վերին կենտրոնում գտնվող կանաչ եռանկյունին:
- Երբ ծրագիրը գործարկվի, սերվերը բոլորը կվերականգնվեն իրենց 0 դիրքերում, այնպես որ պատրաստ եղեք սարքավորման տեղաշարժին: Initialրագիրը գործարկվելուց հետո սերվոները կվերադառնան իրենց 90 աստիճանի դիրքերին:
- Գործարկելու է մագնիսաչափի չափաչափման գործառույթը, և ուղղությունները տպվելու են UART տերմինալին, որին կարող եք միանալ սերիական մոնիտորի միջոցով, ինչպիսին է «մածիկը» կամ SDK- ում ներկայացված սերիական մոնիտորը:
- Calշգրտման արդյունքում սարքը մոտ 8 վայրկյան տեղափոխեք 8 -րդ պատկերով: Դուք կարող եք հեռացնել այս քայլը ՝ մեկնաբանելով «iic_main_thread.c» 273 տողը: Եթե այն մեկնաբանում եք, ապա պետք է մեկնաբանեք 323 - 325 «iic_main_thread.c» տողերը: Այս արժեքները սկզբում հավաքվել էին վերևի մագնիսաչափի չափաբերումից և այնուհետև միացվել որպես արժեքներ:
- Կալիբրացումից հետո կայունացման ծածկագիրը կսկսի գործարկվել, և սարքը կայուն կպահի տեսախցիկը:
Խորհուրդ ենք տալիս:
DIY շարժիչով խցիկի սահիկ չորս եռաչափ տպված մասերից. 5 քայլ (նկարներով)
DIY Motorized Camera Slider From Four 3D Printed Parts: Hello makers, it's maker moekoe! Այսօր ես ուզում եմ ձեզ ցույց տալ, թե ինչպես կարելի է կառուցել շատ օգտակար գծային տեսախցիկի սահնակ `հիմնված V-Slot/Openbuilds երկաթուղու, Nema17 տիպի շարժիչի և ընդամենը երեք 3D տպագիր մասերի վրա . Մի քանի օր առաջ ես որոշեցի ներդրումներ կատարել ավելի լավ տեսախցիկի համար
Մարդ-համակարգիչ ինտերֆեյս. Ձեռքի բռնակ (արտադրված է Կիրիգամիի կողմից) Ձեռքի շարժման միջոցով `օգտագործելով ԷՄԳ. 7 քայլ
Մարդ-համակարգիչ ինտերֆեյս. Ձեռքի բռնակ (ֆիրմա Կիրիգամիի կողմից) Ձեռքի շարժման միջոցով EMG- ի միջոցով. Այսպիսով, սա իմ առաջին փորձն էր մարդ-համակարգիչ ինտերֆեյսի մեջ: Ես բռնել եմ իմ դաստակի շարժման մկանների ակտիվացման ազդանշանները `օգտագործելով ԷՄԳ սենսոր, մշակել այն պիթոնի և արդուինոյի միջոցով և գործարկեց օրիգամիի վրա հիմնված բռնիչը
Կատարեք A.C 220 վոլտ ավտոմատ կայունացուցիչ ՝ օգտագործելով Arduino NANO կամ UNO: 3 քայլ
Կատարեք A.C 220 վոլտ ավտոմատ կայունացուցիչ Arduino NANO- ի կամ UNO- ի միջոցով: Այս հրահանգներում ես ձեզ ցույց կտամ, թե ինչպես կատարել ավտոմատ լարման կայունացուցիչ Arduino NANO- ի միջոցով, որը ցույց կտա AC լարման, հզորության, աստիճանների, տրանսֆորմատորի ջերմաստիճանի & ավտոմատ օդափոխիչ միացում-անջատում սառեցման համար: Սա 3 քայլ ավտոմատ լարման կայունացուցիչ է Իմ կոնֆիգուրացիան
5 Վ կայունացուցիչ մատակարարում USB հանգույցի համար `16 քայլ
5 Վ կայունացուցիչ մատակարարում USB հանգույցի համար. Սա կայունացված մատակարարում է, որը նախատեսված է օգտագործել ավտոբուսով աշխատող USB հանգույցի միջոցով `դրան միացված սարքերին կայունացված + 5 վոլտ մատակարարում ապահովելու համար: Միացման մալուխի դիմադրության և ընթացիկ անջատումների համար ներդրված դիմադրությունների պատճառով
Camera կայունացուցիչ ENV2- ի կամ այլ տեսախցիկի հեռախոսների համար `6 քայլ
Տեսախցիկի կայունացուցիչ ENV2- ի կամ այլ տեսախցիկի հեռախոսների համար. Երբևէ ցանկացե՞լ եք տեսանկարահանել, բայց ունեք միայն տեսախցիկով հեռախոս: Երբևէ տեսանկարահանե՞լ եք տեսախցիկով հեռախոսի միջոցով, բայց չեք կարողանում այն անշարժ պահել: Դրանից լավ, սա ձեզ համար ուսանելի է: