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

Arduino- ի վերահսկվող ռոբոտային ձեռքը W/ Ազատության 6 աստիճանով. 5 քայլ (նկարներով)
Arduino- ի վերահսկվող ռոբոտային ձեռքը W/ Ազատության 6 աստիճանով. 5 քայլ (նկարներով)

Video: Arduino- ի վերահսկվող ռոբոտային ձեռքը W/ Ազատության 6 աստիճանով. 5 քայլ (նկարներով)

Video: Arduino- ի վերահսկվող ռոբոտային ձեռքը W/ Ազատության 6 աստիճանով. 5 քայլ (նկարներով)
Video: Մեր առաջին վիդեոն arduino ի մասին արդեն պատրաստ է։ 2024, Հուլիսի
Anonim
Arduino- ն վերահսկում էր ռոբոտային ձեռքը ՝ ազատության 6 աստիճանով
Arduino- ն վերահսկում էր ռոբոտային ձեռքը ՝ ազատության 6 աստիճանով
Arduino- ն վերահսկում էր ռոբոտացված ձեռքը ՝ ազատության 6 աստիճանով
Arduino- ն վերահսկում էր ռոբոտացված ձեռքը ՝ ազատության 6 աստիճանով
Arduino- ն վերահսկում էր ռոբոտացված ձեռքը ՝ ազատության 6 աստիճանով
Arduino- ն վերահսկում էր ռոբոտացված ձեռքը ՝ ազատության 6 աստիճանով

Ես ռոբոտաշինության խմբի անդամ եմ և ամեն տարի մեր խումբը մասնակցում է ամենամյա Mini-Maker Faire- ին: 2014 թվականից սկսած ՝ ես որոշեցի նոր նախագիծ կառուցել յուրաքանչյուր տարվա իրադարձության համար: Այդ ժամանակ ես միջոցառումից մոտ մեկ ամիս առաջ ունեի ինչ -որ բան հավաքելու և գաղափար չունեի, թե ինչ եմ ուզում անել:

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

Խմբի որոշ անդամների օգնությամբ ես կարողացա կտրել և ուղարկել ինձ ակրիլային մասերը, ինչպես նաև ստորև ներկայացված երկու 3D տպված մասերը: Hardwareուգորդված սարքավորումների մեկ գիշերվա պատվերների և տեղական սարքավորումների խանութ կատարած մի քանի ուղևորությունների հետ մեկտեղ, ես ավարտեցի աշխատանքային նախագիծը միջոցառումից մեկ գիշեր առաջ:

Ինչպես սովորաբար լինում է, պատմությունն ու կառուցվածքում մի քանի մարմնավորում կա, որոնք խտացվել են այն, ինչ տեսնում եք ստորև: Եթե դուք հետաքրքրված եք հետևի պատմությամբ, ավելին կարող եք գտնել այստեղ ՝

Քայլ 1: Այն, ինչ ձեզ հարկավոր է `սարքավորում և էլեկտրոնիկա

Այն, ինչ ձեզ հարկավոր է `սարքավորում և էլեկտրոնիկա
Այն, ինչ ձեզ հարկավոր է `սարքավորում և էլեկտրոնիկա
Այն, ինչ ձեզ հարկավոր է `սարքավորում և էլեկտրոնիկա
Այն, ինչ ձեզ հարկավոր է `սարքավորում և էլեկտրոնիկա

Նախագծի սկզբնական դիզայները ապրում էր Եվրոպայում և հետագայում օգտագործում էր այնտեղ տարածված չափումներ և նյութեր: Օրինակ, մարմնի համար օգտագործվող մամլո տախտակը 5 մմ հաստությամբ չափանիշ էր: Նմանատիպ նյութը այստեղ ՝ ԱՄՆ -ում, 1/8 է, որը մոտ 3,7 մմ հաստություն ունի: Սա բաց թողեց այն բացվածքների մեջ, որոնք ի սկզբանե նախագծված էին սեղմված լինելու համար: Գծերը շտկելու փոխարեն ես պարզապես օգտագործեցի Գորիլա սոսինձ` այս հոդերը ամրացնելու համար:

Նա նաև օգտագործեց M3 ակոսավոր ընկույզներ և պտուտակներ, որոնք ստանդարտ չեն ԱՄՆ -ում ձեր տեղական սարքավորումների խանութում: Փոխանակ դրանք փոխարկելու տեղական հասանելի տարբերակների, ես պարզապես պատվիրեցի սարքավորումները առցանց, ինչպես ցույց է տրված ստորև բերված իմ մասերի ցուցակում:

  • 22 - M3 x 0.5 x 23 մմ Կանգնեցումներ
  • 15 - M3 x 15 մմ Spacers
  • 40 - M3 Պտուտակներ
  • M3 վեցանկյուն ընկույզ
  • M3 25 մմ պտուտակներ
  • 1 - գարուն
  • 3/4 "Երկկողմանի ամրացման ժապավեն
  • 5 - SG 5010 TowerPro Servo
  • 1 - SG92R TowerPro մինի սերվո
  • 1 - SG90 TowerPro մինի սերվո
  • 2.54 մմ Մեկ տող Ուղղակի քորոց վերնագիր
  • 1 - Կես չափի Breadboard
  • 1 - իգական/արական «Extension» Jumper լարեր - 40 x 6"
  • 1 - 12 "x 24" կապույտ ակրիլային թերթ կամ ձեր սիրած ծառայություն մատուցողից լազերային կտրված կտորներ
  • 2 - 3 մմ x 20 մմ + 4 մմ x 5 մմ հոդերի կրող միջնապատեր 3D տպագրությամբ (տես ստորև)
  • 1 - կառավարման վահանակ *Տե՛ս «Լարերի» բաժնում նշումը
  • 1 - ցրված RGB (եռագույն) 10 մմ LED
  • 1 - Arduino Uno
  • 1 - Ստանդարտ LCD 16x2 + հավելումներ `սպիտակ կապույտի վրա
  • 1 - i2c / SPI բնույթի LCD ուսապարկ
  • 1-Adafruit 16-ալիք 12-բիթանոց PWM/Servo վարորդ
  • 1 - MCP3008 - 8 -ալիք 10 -բիթանոց ADC ՝ SPI ինտերֆեյսով
  • 3 - JoyStick Breakout մոդուլի սենսոր *Տե՛ս նշումը Լարերի բաժնում
  • DC տակառ Jack
  • AC- ից DC ադապտեր
  • Servo Extension մալուխներ `երկարությունների տեսականի

Այս թևի գրեթե բոլոր մասերը կտրված էին 1/8 -րդ դյույմ ակրիլից: Այնուամենայնիվ, երկու համատեղ կրող անջատիչները պետք է տպվեն: Բացի այդ, նախագծված բնօրինակը պահանջում էր, որ երկու հոդակապի հիմքերը 7 մմ բարձրություն ունենան առանցքակալից: Երբ ես սկսեցի վերին թևի հավաքումը, արագ պարզ դարձավ, որ դրանք չափազանց բարձր էին TowerPro սերվերի բարձրության պատճառով: Ես պետք է ունենայի նոր համատեղ առանցքակալներ ՝ պատրաստված ընդամենը 3 մմ բարձրությամբ հիմքով, որը, ի դեպ, դեռ մի փոքր չափազանց բարձր էր, բայց կառավարելի: Դուք կցանկանաք ուշադրություն դարձնել ձեր սերվերի հարաբերական բարձրությանը և հաշվարկել երկու ստորին թևերի միջև եղած հեռավորությունը.

Servo բարձրություն + servo եղջյուր + համատեղ կրող + երկկողմանի ժապավեն = 47 մմ +/- 3 մմ:

Քայլ 2. Armենքի հավաքում

Բազայի ժողով
Բազայի ժողով
Բազայի ժողով
Բազայի ժողով
Բազայի ժողով
Բազայի ժողով
Բազայի ժողով
Բազայի ժողով

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

  1. Կցեք բազային servo- ն վերին բազային ափսեին `օգտագործելով M3 25 մմ պտուտակներ և վեցանկյուն ընկույզներ: Չափից ավելի մի՛ սեղմեք: ՈEՇԱԴՐՈԹՅՈՆ. Դուք կարող եք ցանկալի կերպով ամրացնել թելերը `օգտագործման ընթացքում ընկույզների թուլացումը նվազագույնի հասցնելու համար:

  2. Եթե դուք օգտագործում եք վերևում իմ ունեցած մասերի ցուցակը, ապա հաջորդը կցանկանաք հավաքել 5 հիմքի միջնապատերը ՝ իրար թելով երկու M3 x 0.5 x 23 մմ անջատիչներից, այնուհետև դրանք վեցանկյուն ընկույզներով ամրացնելով վերին բազայի ափսեին:
  3. 5 M3 պտուտակով ամրացրեք ստորին հիմքի ափսեը կանգառներին:
  4. Կցեք ուսի ափսեը երկու servo ամրացման սալերին `օգտագործելով ակրիլային անվտանգ սոսինձ: Ես այստեղ օգտագործել եմ Gorilla Glue- ը: EԱՆՈԹԱԳՐՈԹՅՈՆ. Երկու servo սալերից յուրաքանչյուրի հետևում կա անցք, որը թույլ է տալիս տեղադրվել ամրացնող հեռավորություն, որը միացնում է դրանք: Համոզվեք, որ անցքերը համընկնում են:* Մինչև սոսինձը ձեռքի տակ ունեք, առաջ գնացեք և միացրեք դաստակի ամրացման ափսեն բռնակով հիմնական ափսեով:* allyանկության դեպքում կարող եք նաև սոսնձել դաստակի սերվո ափսեը դաստակի միացման երկու թիթեղներին: Ես դա չեմ արել ՝ փոխարենը դրանք ամրացնելով հետաձգումների հետ, ինչպես նկարագրված է ստորև:
  5. Կցեք այժմ բուժված ուսի հավաքածուն բազային սերվոյին: Ես օգտագործեցի սերվոյի հետ ներառված ամենալայն եղջյուրը, որը վեց ցողունով ամրացնող եղջյուրն էր:

  6. Armածր թևի շրջանակը ուսերի սևերին ավելացնելը կարող է բարդ լինել: Ես առաջարկում եմ, որ անցնելուց առաջ եղջյուրներն ամրացնեք ստորին թևի շրջանակներին: EԱՆՈԹՈԹՅՈՆ. Համոզվեք, որ ձեր սերվերը կենտրոնացրեք ուսի հավաքման համար, նախքան դրանք շրջանակին ամրացնելը: Այս երկու սերվերը պետք է շարժվեն համահունչ, և եթե դրանք անհամապատասխան լինեն, նվազագույնը կհանգեցնի servo jitter- ի և, եթե բավականաչափ սխալ դասավորված լինեն, կարող են վնասել շրջանակը կամ սպասարկողները: * Ուսերի յուրաքանչյուր սպասարկող իր փակագծերով տեղադրված է ամրացվող թիթեղների հետևի մասում `սերվոները թիթեղների միջով անցնելու փոխարեն, ինչը թույլ կտա ձեզ եղջյուրը անկյան տակ մղել սերվո լիսեռի վրա և ամրացնել պտուտակը: Դեռ մի ամրացրեք սերվերը ամրացման ափսեի մեջ: * Հաջորդը, ավելացրեք ներքին սերվերը և ամրացրեք թևը
  7. Հավաքեք վերևի թևի շրջանակը և սերվոզները ՝ մատանիները հրելով թևերի տարածությունների միջով, այնուհետև տեղադրելով հեռավորությունը վերևի թևերի երկու թիթեղների միջև և ամրացրեք M3 պտուտակներով:
  8. Ավելացրեք երկկողմանի սոսինձ ժապավեն ՝ արմունկի հոդակապի հետևի մասում և ավելացրեք ավելցուկը:
  9. Կցեք հեռավորությունը սերվոյի ներքևի մասում, որը հանդես կգա որպես արմունկի շարժիչ:
  10. Սահեցրեք վերևի թևը ներքևի թևի հավաքման շրջանակի մեջ և ամրացրեք սերվոյի եղջյուրի պտուտակները:
  11. Երկու ստորին թևերի թիթեղների միջև ավելացրեք ամրապնդման հակասություններ: Քաշը նվազեցնելու համար ես չորսի փոխարեն օգտագործեցի երկուսը:
  12. Ավելացրեք երկկողմանի սոսինձ ժապավեն ՝ դաստակի հոդերի հեռավոր հատվածի հետևի մասում և ավելացրեք ավելցուկը:
  13. Կցեք տարանջատիչը սերվոյի ներքևում, որը հանդես կգա որպես դաստակի շարժիչ:
  14. Կցեք դաստակի արտաքին ափսեն դաստակի սերվո եղջյուրին և ամրացրեք եղջյուրի պտուտակով:
  15. Հավաքեք դաստակի սերվո ափսեը դաստակի միացնող երկու թիթեղներով և փակագծերով:
  16. Ապահովեք դաստակի servo- ն servo ափսեի վրա servo սեղմիչ ափսեի միջոցով:
  17. Դուք պետք է ամրացնեք դաստակի եղջյուրը սերվոյին, նախքան բռնակի հավաքածուն այդ եղջյուրին ամրացնելը, քանի որ եղջյուրի պտուտակն արգելափակված է:
  18. Չամրացված կերպով հավաքեք բռնիչի կտորները ՝ համապատասխանեցման համար, նախքան բռնակի սերվո եղջյուրը սերվոյին ամրացնելը: Սա թույլ կտա ձեզ տարածք քանդել նախորդ քայլի եղջյուրը:
  19. Կցեք բռնիչի եղջյուրը իր սերվոյին և հետագայում ամրացրեք պտուտակները, որոնք բռնում են բռնող հոդերը: Ո NOTՇԱԴՐՈԹՅՈՆ. Մի ամրացրեք այս ընկույզներն ու պտուտակները, քանի որ դրանք պետք է թուլացած լինեն, որպեսզի բռնիչը շարժվի:

Քայլ 3: Լարերի և կառավարման վահանակ

Լարերի և կառավարման վահանակ
Լարերի և կառավարման վահանակ
Լարերի և կառավարման վահանակ
Լարերի և կառավարման վահանակ
Լարերի և կառավարման վահանակ
Լարերի և կառավարման վահանակ

Ես կառուցեցի այս նախագիծը որպես զարգացման հարթակ որոշ գաղափարների համար, որոնք ես ունեմ հետագա կրթական ծրագրի համար: Այսպիսով, իմ կապերի մեծ մասը պարզ dupont միակցիչներ են: Միակ զոդումը, որը ես արեցի, MCP3008- ի համար էր: Եթե դուք կարող եք գտնել այս բաղադրիչի ճեղքման տախտակ, ապա դուք պետք է կարողանաք անվճար կառուցել այս թևը:

Բաղադրիչների 3 խումբ կա.

  1. Մուտքեր - Այս տարրերը օգտվողից ստանում են տեղեկատվություն և կազմված են ջոյստիկներից և mcp3008 ADC- ից:
  2. Արդյունքներ - Այս տարրերը տվյալներ են փոխանցում աշխարհին կամ օգտագործողին կարգավիճակ ցույց տալով, կամ ծառայությունները թարմացնելով դիրքի տվյալներով: Այս տարրերն են LCD էկրանը, LCD ուսապարկը, RGB LED- ը, Servo վարորդական տախտակը և վերջապես սպասարկողները:
  3. Մշակում - Arduino- ն ամփոփում է վերջին խումբը, որը վերցնում է տվյալները մուտքերից և կոդի հրահանգներին համապատասխան տվյալները դուրս մղում դեպի ելքեր:

Վերը նշված Fritzing- ի սխեման մանրամասնում է բոլոր բաղադրիչների քորոցների միացումները:

Մուտքերը

Մենք կսկսենք մուտքագրումներից: Joyոյստիկները անալոգային սարքեր են. Նշանակում է, որ դրանք փոփոխական լարում են ներկայացնում որպես մուտք Arduino- ին: Երեք ջոյստիկներից յուրաքանչյուրն ունի երկու անալոգային ելք X- ի և Y- ի համար (վերև, ներքև, ձախ աջ), ինչը կազմում է ընդհանուր առմամբ 6 մուտք դեպի Arduino: Մինչ Arduino Uno- ն ունի 6 անալոգային մուտք, մենք պետք է օգտագործենք այս երկու կապում I2C էկրանին և servo վերահսկիչին հաղորդակցվելու համար:

Դրա պատճառով ես ներառեցի MCP3008 անալոգային թվային փոխարկիչ (ADC): Այս չիպը ընդունում է մինչև 8 անալոգային մուտք և դրանք վերածում է թվային ազդանշանի Arduino- ի SPI կապի կապերի միջոցով հետևյալ կերպ.

  • MCP կապում 1-6> Բութ մատի ջոյստիկների փոփոխական ելքեր
  • MCP կապում 7 և 8> կապ չկա
  • MCP կապ 9 (DGND)> հիմք
  • MCP Pin 10 (CS/SHDN)> Uno Pin 12
  • MCP Pin 11 (DIN)> Uno Pin 11
  • MCP Pin 12 (DOUT)> Uno Pin 10
  • MCP Pin 13 (CLK)> Uno Pin 9
  • MCP Pin 14 (AGND)> Ground
  • MCP Pin 15 & 16> +5V

Սխեմատիկայում ջոյսթիկի կապերը պարզապես ցուցադրվում են որպես օրինակ: Կախված նրանից, թե որ ջոստիկներն են գնում և ինչպես են դրանք տեղադրված, ձեր կապերը կարող են տարբերվել իմից: Joyոյսթիկի տարբեր ապրանքանիշերը կարող են ունենալ տարբեր քերծվածք և կարող են տարբեր կերպ կողմնորոշել X- ն և Y- ը: Կարևորը հասկանալն է, թե ADC- ի յուրաքանչյուր մուտքագրում ինչ է ներկայացնում: Յուրաքանչյուր քորոց ներկայացնում է իմ կոդի հետևյալ հարաբերությունները.

  • Pin 1 - The Base - Այս քորոցի անալոգային տվյալները կշրջեն ռոբոտի ամենացածր servo- ն
  • Pin 2 - The Shoulder - Այս քորոցի անալոգային տվյալները կփոխեն երկու սերվերը բազային սերվոյից վերև
  • Պին 3 - Անկյուն - Այս քորոցի անալոգային տվյալները հաջորդ սերվերը կշրջեն ուսի սպասարկումից վեր
  • Pin 4 - UP/DN Wrist - Այս քորոցի անալոգային տվյալները պտտելու են դաստակի ծառայությունը ՝ բարձրացնելով և իջեցնելով բռնակի հավաքածուն
  • Pin 5 - The Gripper - Այս քորոցի անալոգային տվյալները կբացեն և կփակեն բռնիչը
  • Պին 6 - Պտտել դաստակ - Այս քորոցի անալոգային տվյալները պտտելու են բռնիչը

EԱՆՈԹՈԹՅՈՆ. Մասերի ցանկում նշված բութ մատերի ձեռքբերման և տեղադրման ժամանակ հիշեք, որ մոդուլների կողմնորոշումը կարող է տարբերվել իմից, այնպես որ ստուգեք x և y ելքերը ADC- ին ճիշտ միացման համար: Բացի այդ, եթե դուք օգտագործում եք իմ 3D տպագիր կառավարման վահանակը, տեղադրման անցքերը կարող են փոխհատուցվել իմից:

Արդյունքները

Adafruit PWM/Servo Controller- ը այս նախագիծը դարձնում է չափազանց պարզ: Ուղղակի միացրեք Servos- ը servo վերնագրերին, և սնուցվող և ազդանշանային բոլոր միացումները կարգավորվում են: Եթե դուք չեք գտնում լրացուցիչ երկար կապանքներով սերվերներ, դուք կցանկանաք ստանալ տարբեր երկարությունների servo մալուխների ընդլայնումներ, որպեսզի ձեր բոլոր servo մալուխները հասնեն ձեր վերահսկիչ տախտակին:

Vառայությունները միացված են հետևյալ կերպ.

  • Պաշտոն 0 - Հիմնական սերվո
  • Պաշտոն 1 - ուսի սերվո (Servo Y մալուխ)
  • Պաշտոն 2 - Անկյուն սերվո
  • Պաշտոն 3 - Դաստակ 1 Servo
  • Պաշտոն 4 - Gripper Servo
  • Պաշտոն 5 - դաստակ 2 Servo

Բացի այդ, VCC- ն և V +- ը երկուսն էլ միացված են +5 վոլտ, իսկ GND- ը `գետնին:

EԱՆՈԹԱԳՐՈ 1ԹՅՈՆ 1. Մեկ ՄԵIG նշում այստեղ. Ամբողջ նախագծի մատակարարման լարումը ներթափանցում է Servo Control Board- ի հոսանքի տերմինալային բլոկի միջոցով: Servo Controller- ի V+ կապը իրականում էներգիա է մատակարարում տերմինալային բլոկից դեպի մնացած միացում: Եթե Ձեզ անհրաժեշտ է ծրագրավորել ձեր Uno- ն, խորհուրդ եմ տալիս անջատել V+ կապը ՝ նախքան Uno- ն ձեր համակարգչին միացնելը, քանի որ սերվերից ընթացիկ խաղարկությունը կարող է վնասել ձեր USB պորտը:

EԱՆՈԹՈ 2ԹՅՈ 2Ն 2. Ես օգտագործում եմ 6V AC to DC պատի ադապտեր `նախագիծը սնուցելու համար: Ես խորհուրդ եմ տալիս ադապտեր, որը կարող է ապահովել առնվազն 4 Ա հոսանք, որպեսզի երբ սպասարկողներից մեկը կամ մի քանիսը կապվեն, հոսանքի հանկարծակի աճը չխորացնի ձեր համակարգը և չվերականգնի ձեր Arduino- ն:

16X2 LCD էկրանը միացված է Adafruit LCD մեջքի պայուսակին, որպեսզի օգտվի I2C ինտերֆեյսից, որն արդեն օգտագործում է Servo Controller- ը: Servo Controller- ի SCL- ն և մեջքի պայուսակի CLK- ն միանում են Uno- ի Pin A5- ին: Նմանապես, Serva Controller- ի SDA- ն և մեջքի պայուսակի DAT- ը միանում են Uno- ի Pin A4- ին: Բացի այդ, 5V միացված է +5 վոլտ, իսկ GND միացված է գետնին: Ուսապարկի վրա LAT- ը ոչնչի հետ կապված չէ:

Վերջապես, RGB LED- ը միացված է Uno- ի 7 (RED), 6 (Green) և 5 (Blue) կապումներին: LED- ի հիմքի ոտքը միացված է Ground- ին 330 Օմ ռեզիստորի միջոցով:

Վերամշակում

Վերջին, բայց ոչ պակաս կարևոր, վերը թվարկված Arduino միացումների մնացորդները հետևյալն են. Pin 5V- ը միացված է +5 վոլտ, իսկ GND- ը `գետնին:

Իմ տեղադրման ընթացքում ես օգտագործեցի տախտակի կողային ռելսերը `բոլոր էլեկտրահաղորդման և գրունտի գծերը միացնելու համար, ինչպես նաև I2C կապում բոլոր սարքերի համար:

Քայլ 4: Կոդ

Կոդ
Կոդ

Ինչպես արդեն նշվեց, ես այս նախագիծը ի սկզբանե կառուցել էի որպես ցուցադրություն իմ տեղական Maker Faire- ի համար: Ես մտադրվեցի, որ դա ինչ -որ բան կլինի երեխաների և մեծահասակների համար, երբ նրանք կարող են խաղալ մեր կրպակում: Ինչպես պարզվեց, այն շատ ավելի տարածված էր, քան ես պատկերացնում էի, այնքան, որ երեխաները կռվում էին դրա համար: Այսպիսով, երբ եկավ վերագրանցման ժամանակը, ես ներառեցի «Դեմո ռեժիմ», որն իրականացնում է ժամանակային սահմանափակում:

Ձեռքը նստած է այնտեղ և սպասում է, որ ինչ -որ մեկը կտեղափոխի ջոիստիք, և երբ նրանք դա անում են, այն սկսում է 60 վայրկյան ժմչփ: 60 վայրկյանի վերջում այն դադարում է օգտվողից մուտքագրել և «հանգստանում» 15 վայրկյան: Կարճ ուշադրություն դարձնելով այնպիսին, ինչպիսին որ նրանք են, այս հանգստի ժամանակահատվածը մեծապես նվազեցրեց ձողերի համար պայքարը:

Հիմնական գործողություն

Ստորև բերված հղումների բաժնում նշված կոդը բավականին պարզ է: Anանգվածը հետևում է 6 հոդերի ՝ նվազագույն, առավելագույն չափերով, տան դիրքի և ընթացիկ դիրքի հետ: Երբ ձեռքը միացված է, գործարկման գործառույթը սահմանում է այն գրադարանները, որոնք անհրաժեշտ են MCP3008- ի, LCD մեջքի պայուսակի (և հետագայում `էկրանի) հետ խոսելու համար և սահմանում է LED կապում: Այնտեղից նա կատարում է հիմնական համակարգերի ստուգում և անցնում տուն ՝ ձեռքը: Տնային ֆունկցիան սկսվում է բռնակով և աշխատում է մինչև հիմքը, որպեսզի նվազագույնի հասցնի նորմալ պայմաններում կապվելու հնարավորությունը: Եթե ձեռքը լիովին տարածված է, ապա ավելի լավ կլինի ձեռքը ձեռքով տեղավորել նախքան այն միացնելը: Քանի որ ընդհանուր սերվերը չեն տրամադրում հետադարձ կապ իր դիրքի վերաբերյալ, մենք պետք է յուրաքանչյուրը տեղադրենք կանխորոշված կետում և հետևենք, թե որքանով է յուրաքանչյուրը տեղափոխվել:

Հիմնական հանգույցը սկզբում սկսվում է սպասման ռեժիմում `փնտրելով ջոյստիկները` իրենց կենտրոնական դիրքից հեռանալու համար: Երբ դա տեղի ունենա, հիմնական հանգույցը պետությունները փոխում է հետհաշվարկի վիճակի: Երբ օգտվողը տեղափոխում է յուրաքանչյուր ջոյսթիք, կենտրոնից ջոյսթիկի հարաբերական դիրքը կավելանա կամ կիջեցնի ներկայիս հայտնի դիրքից և կթարմացնի համապատասխան ծառայությունը: Երբ servo- ն մեկ ուղղությամբ հասնում է սահմանված սահմանին, ջոիստիկը դադարում է: Օգտագործողը պետք է ջոյսթիկը տեղափոխի այլ ուղղությամբ `այն նորից տեղափոխելու համար: Սա ծրագրային սահմանափակում է սերվերների համար, անկախ դրանց ապարատային կանգառներից: Այս հատկությունը թույլ է տալիս անհրաժեշտության դեպքում պահել ձեռքի շարժումները որոշակի գործառնական տարածքում: Եթե ջոյսթիկը արձակվի կենտրոն, շարժումը կդադարի:

Այս ծածկագիրը ընդամենը ընդհանուր ելակետ է: Դուք կարող եք ավելացնել ձեր սեփական ռեժիմները, ինչպես ցանկանում եք: Օրինակներից մեկը կարող է լինել ժմչփով աշխատող շարունակական գործարկման ռեժիմը կամ գուցե ավելացնել joyոյստիկի կոճակները որպես մուտքագրումներ և գրել ձայնագրման/նվագարկման ռեժիմ:

Քայլ 5: Հղումներ և ռեսուրսներ

Arm հղումներ

  • Գրառում, որը ոգեշնչեց այս նախագիծը
  • Օրիգինալ դիզայներների բլոգային գրառումներ Իմ սեփական ռոբոտային թևը Իմ մինի սերվո բռնակներն ու ավարտված ռոբոտային ձեռքը Բազմապատկեք ռոբոտային թևն ու էլեկտրոնիկան
  • Thingiverse Արմ
  • Thingiverse Mini Servo Gripper

Softwareրագրային գրադարաններ

  • Adafruit PWM/Servo Controller Resources
  • MCP3008 գրադարան
  • MCP3008 տվյալների թերթ

Կառավարման վահանակ և ծածկագիր

  • Իմ պատրաստած վահանակի Tinkercad գծանկարը
  • Ընթացիկ կոդերի պահոց

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