Բովանդակություն:
- Պարագաներ
- Քայլ 1: Շինարարություն
- Քայլ 2. Փորձարկեք Roboclaw- ը, Motors- ը և Encoders- ը
- Քայլ 3. Arduino- ի ավելացում և ծրագրավորում
- Քայլ 4: Ավելացնել և ծրագրավորել Raspberry Pi (node.js)
- Քայլ 5. Վերջնական քայլ - mingրագրավորում / վեբ էջի հաճախորդի օգտագործում
- Քայլ 6. Լրացուցիչ. Drive Robot With Mouse քաշել և / կամ Touch իրադարձություններ
Video: 4WD ռոբոտով շարժվող հեռակառավարման USB խաղային վահանակի միջոցով `6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Իմ հաջորդ ռոբոտաշինության նախագծի համար ես ստիպված էի ճարտարապետել/նախագծել իմ սեփական ռոբոտների հարթակը ՝ չնախատեսված հանգամանքների պատճառով:
Նպատակն այն է, որ այն ինքնավար լինի, բայց առաջին հերթին ես պետք է ստուգեի նրա հիմնական վարելու ունակությունը, ուստի ես մտածեցի, որ զվարճալի կողմնակի նախագիծ կլինի վարվելն ու կառավարվելը, կարծես դա RC (ռադիոկառավարվող) մեքենա լինի:, բայց փոխարենը օգտագործեք USB Gamepad:
Արդյունքները եղել են մոտավորապես լավ կամ ավելի լավ, քան ես սպասում էի:
USB Gamepad երթուղով անցնելու առավելությունը ՝ բազմաթիվ ծրագրավորմամբ, այն է, որ ես կարող եմ այն հարմարեցնել և ավելացնել այն, ինչ արդեն արել եմ: Ես RC մեքենա կառուցելու ոչ մի իրական փորձ չունեմ, բայց ես պատկերացնում եմ, որ այն բավականին խրված է այն ամենի հետ, ինչ RC հաղորդիչով (ջոյստիկներ/կոճակներ և այլն) և RC ընդունիչով:
Օրինակ, ես որոշակի ճանաչում եմ ավելացրել, որ ռոբոտը հարվածել է պատին, պարզապես ծրագրակազմի միջոցով հայտնաբերելով բարձր հոսանքներ և կոդավորիչի ցածր արագության արժեքներ:
Ըստ ցանկության, կարելի է ռոբոտին ավելացնել մի քանի USB տեսախցիկ ՝ կախված դրանցից և դրանց տեղադրությունից, կարող եք ռոբոտին քշել կենդանի տարածքում և մեկ այլ սենյակ, մինչդեռ ինչ -որ այլ տեղ նստած համակարգչի առջև, որին միացված է USB Gamepad- ը: այն
Այս հրահանգը չի լինի ճշմարիտ, մանրամասն, համապարփակ, քայլ առ քայլ, թե ինչպես, բայց ես կփորձեմ հնարավորինս մանրամասն ներկայացնել:
Պարագաներ
Առաջարկվող մասեր. Սրա մեծ մասը ես ստացել եմ Servo City- ից (Actobotics):
2 - 13.5 U- ալիքներ, հիմքի շրջանակի կողմերի համար: Շարժիչները տեղադրված են դրա վրա: Ես գնացի ավելի կարճ բանով, և շարժիչներս տեղադրված են հենց անկյուններում, և դա դժվարացրեց դրանց տեղադրումը:
2 - 12 U- ալիքներ` հիմնական շրջանակի առջևի և հետևի համար:
2 - 15 U- ալիքներ բամպերի համար` առջևի և հետևի
2 - 7 (թե՞ դա 7,5 դյույմ էր) U- ալիքներ առջևի սյուների համար: Սա չափազանց կարևոր չէ, երկարությունները կարող են տարբեր լինել: Դա կախված է նրանից, թե որքան բարձր են հետևի սյուները և որ բարձրության վրա եք ընտրում անկյունը դնելը: U- ալիք, որը կապում է նրանց միջև:
2-(երկարությա՞ն) U- ալիքներ ՝ անկյան տակ գտնվող անդամի համար ՝ առջևից հետևի, միացնելով ուղղաձիգ սյուները: Այս մեկը չափազանց կարևոր է, քանի որ Servo City / Actobotics- ն այս նպատակով վաճառում է 45 աստիճանի անկյունային վահանակներ կամ փակագծեր, բայց դուք պետք է որոշ մաթեմատիկա / ձգան կատարեք `համոզվելու համար, որ ճիշտ երկարություններ եք ստանում:
2-(երկարությա՞ն) U ալիքներ, որոնք կծառայեն որպես ավելի բարձր մակարդակի կողային բամպեր, դրանք կրկին կախված են այն բանից, թե ինչ եք անում հիմքի հետ
2-(երկարությա՞ն) U ալիքներ, որոնք կարող են ծառայել որպես ավելի բարձր մակարդակի առջևի և հետևի բամպերներ, նույնը ՝ վերևում:
1 - (երկարությա՞ն) U- ալիքը ՝ որպես ամենաբարձր անդամը ծառայելու համար, տարածվում է հետևի սյուների վրայով: Այս մեկը կարող է չափազանց կարևոր չլինել, քանի որ կարող եք ամրացնել վերևում կամ ուղղահայաց սյուների դիմաց / հետևում:
12 (մոտ) L- ալիքներ կամ փակագծեր: Դրանք ծառայում են բազմաթիվ նպատակների, բայց էապես ապահովում են կառուցվածքային ամբողջականություն/ամրություն բազային շրջանակի անկյուններին և ուղղաձիգ սյուներին:
4 (+?) 3-անցք դեպի 5-փոս հարթ ալիքներ: Սրանք նաև կառուցվածքային ամրություն են հաղորդում ռոբոտին:
ServoCity- ն վաճառում է երկու հիմնական տիպի լայնածավալ հարթ վահանակներ, որոնք օգտակար են որպես ներքևի սահարան կամ վերև, որտեղ մարտկոցը կամ կարգավորիչները կգնային, կամ նույնիսկ սենսորների ավելի բարձր մակերևույթի համար:
Կա 4 (4.5) «X 12» վահանակ, իսկ ես կարծում եմ, որ մյուսը 9 (9.5?) »X 12 վահանակ է:
Այժմ այստեղ ամեն ինչ հետաքրքիր է դառնում և կարող է շփոթեցնող և թանկ լինել (փոքր մասերը գումարվում են): Բոլոր կապուղիները և այլն, կարող են կցվել միմյանց այս միացնող կտորների միջոցով, որոնցից կան ՍԵՓԱԿԱՆ: Այստեղ ես ցավում եմ, որ չունեմ մասերի համապարփակ, մանրամասն, կոնկրետ ցուցակ:
Եվ բանն այն է, որ դուք իսկապես չգիտեք, թե որոնք կարող են ձեզ անհրաժեշտ լինել, կամ քանիսը … քանի որ շատ տարբերակներ կան, որոնք կարող են համատեղել այս կտորները միասին:
Ես կարող եմ թվարկել, թե ինչ եմ օգտագործել.
www.servocity.com/90-quad-hub-mount-c
www.servocity.com/side-tapped-pattern-moun…
www.servocity.com/90-quad-hub-mount-d
Հետևյալ երկուսը շատ հարմար են, և ես պարզապես կբաժանեմ դրանք:
www.servocity.com/single-screw-plate
www.servocity.com/dual-screw-plate
Հաջորդը բոլոր պտուտակներն են (պտուտակներ): Ես սկսեցի յուրաքանչյուրի չափի փաթեթով, և ես անցել եմ դրանցից շատերի միջով: Ես օգտագործում էի ավելի երկար պտուտակներ, որտեղ չափը նշանակություն չուներ, և ավելի կարճները պահում էի այնտեղ, որտեղ դրանք ՊԱՐՏԱԴԻՐ էին, քանի որ այլ երկարություն չէր աշխատի:
Ի վերջո, դուք պետք է ձեռք բերեք դրանցից 1 պայուսակ.
www.servocity.com/6-32-nylock-nuts-pack
Ես այդքան շատ չեմ օգտագործել, բայց դրանք (կարծում եմ) շատ կարևոր են `համոզվելու համար, որ ձեր շարժիչները ժամանակի ընթացքում չեն թրթռում շրջանակից: Յուրաքանչյուր երկշարժիչի համար կաշխատեն միայն երկուսը ՝ U ալիքի պատճառով
Ձեզանից կպահանջվի դրանցից առնվազն 4 -ը, գուցե մեկից ավելին ստանաք, եթե մեկին վնաս պատճառեք (հավատացեք ինձ, գուցե մի քանի անգամ միացնում / անջատում եք շարժիչները).
www.servocity.com/heavy-duty-clamping-shaf…
Սովորաբար, շարժիչների առանցքները 6 մմ են, իսկ առանցքները ՝ 1/4 դյույմ (0.25 դյույմ):
Ես կստանայի մի քանի սև պտուտակներ, որոնք ենթադրաբար ավելի ուժեղ էին, և դրանք կօգտագործեի վերը նշված սեղմակների համար, և ՉԻ օգտագործի այն պտուտակները, որոնք գալիս են սեղմակների հետ.
(Կարծում եմ, որ դրանք են):
4 - 1/4 "(0.25") տրամագծով առանցքակալներ
1 - տոպրակ սև 1/4 դյույմանոց բացատներով
4 - սեղմիչ D -Hubs
www.servocity.com/0-770-clamping-d-hubs
4-D- լիսեռներ (#6340621.375 "(1-3/8")
4-6 դյույմանոց ծանր անիվներ
www.servocity.com/6-heavy-duty-wheel
Նկատի ունեցեք, որ ես սիրում եմ այս անիվները, բայց դրանք կոշտ ռետինե եզր ունեն: Կարծես թե նրանք լավ են աշխատում կոշտ հատակների, գորգերի և, հավանաբար, կոշտ բետոնե զբոսանքների վրա: Լավ չի գործի խոտի, ավազի և այլնի վրա:
ՆԱԵՎ, նրանք հակված են պղտորել ձեր գորգը !!!
4 - շարժիչներ.
www.servocity.com/motors-actuators/gear-mo…
Ես շարժվեցի 223 RPM- ով, լավ ներքին արագությամբ, կարող էի նաև դանդաղ շարժման մեջ բավականին հեշտությամբ տեղաշարժել իմ ռոբոտը (ծանր 2 SLA 12V մարտկոցներով):
2 - շարժիչների կոդավորիչներ շարժիչների համար: (Servo City's Roboclaw- ը վարում է միայն 2 կոդավորիչ)
1 - Roboclaw 2X45A շարժիչի վերահսկիչ, համոզվեք, որ այն ձեռք եք բերում կանաչ տերմինալային բլոկներով, այլ ոչ թե կապում…: լավ… յուրաքանչյուրն ունի իր առավելությունները: Խորաթափանցություն.. Ես գուցե ստացել եմ կապում:
Կարծում եմ `դա Սերվո Սիթիից է:
SparkFun- ը վաճառում է Arduino Uno- ն (դա այն է, ինչ ես օգտագործել եմ), ինչպես նաև Redboard Artemis- ը ՝ որպես ձեր դրայվի մենեջեր:
Դուք կցանկանաք Raspberry Pi 3 (թե՞ 4) որպես ձեր բարձր մակարդակի «ուղեղ» և ինտերֆեյս ձեզ համար:
Ձեզ հարկավոր են էլեկտրագծեր, անջատիչներ, ապահովիչներ և շատ ամուր «հետադարձ» դիոդ:
Ես օգտագործել եմ Duracell 12V 14AH խորքային ցիկլի SLA մարտկոց, բայց դուք կարող եք օգտագործել ամեն ինչ:
WԳՈՇԱՈՄ Այս ռոբոտի դիզայնը (ԲԱALL, և ԼԱID, բայց ՇՈORTՏ) ենթադրում է ծանրության մի տեսակ ծանր կենտրոն, ինչպիսին կարող էր ապահովել SLA մարտկոցը: Այն կարող է լավ չանել նոր տեսակի տեխնոլոգիայի մարտկոցների այլ տեսակների հետ: LiPo, Lion և այլն: Այն կարող է հեշտությամբ շրջվել:
Pololu- ից ես ստացա մի քանի տակառի ադապտեր, որպեսզի կարողանամ ինքնուրույն սնուցել Arduino- ն և/կամ Redboard- ը, չնայած որ դրանք միացված կլինեին ազնվամորիին USB- ի միջոցով, քանի որ ես չէի ուզում հույսը դնել ազնվամորու հզորության վրա:. (Հատկապես տեղադրվող տեսախցիկներ, տվիչներ և այլն)
Ձեզ անհրաժեշտ կլինի 12-ից 5 Վ լարման իջեցման լարման կարգավորիչ ՝ ազնվամորիի համար նվազագույնը 5A (?): Մյուսները կարող են ամեն ինչ կարգավորել 7 -ից 15 Վ լարման միջև, այնպես որ անմիջապես SLA մարտկոցին:
Դա մասերի մասին է:
Այն, ինչ ես չէի անի `90 աստիճանի շեղված հանդերձում:
Կրկին, իմ Robotics youtube երգացանկում կան բազմաթիվ տեսանյութեր, որոնք մանրամասն նկարագրում են վերը նշվածներից շատերը:
Քայլ 1: Շինարարություն
Անկեղծ ասած, իմ բոլոր շինարարական քայլերն արդեն YouTube- ի տեսքով են: Դուք կարող եք տեսնել դրանք իմ Robotics երգացանկում ՝ սկսած «Wallace Robot 4» -ից: Նախորդները (Wallace II, Wallace III) նույնպես լավ նյութ ունեն
www.youtube.com/playlist?list=PLNKa8O7lX-w…
Քայլ 2. Փորձարկեք Roboclaw- ը, Motors- ը և Encoders- ը
Roboclaw (BasicMicro) ստեղծողներն ունեն Windows ծրագիր, որը կարող եք օգտագործել ՝ համոզվելու համար, որ շարժիչները և կոդավորիչները ճիշտ եք միացրել Roboclaw- ին: Դուք Roboclaw- ին զուգահեռ կկապեք նույն կողմի շարժիչները: Դուք կարող եք ընտրել կոդավորող լարերը ՝ միայն հետևի կամ առջևի շարժիչների վրա, կամ գուցե նույնիսկ ավելի լավ ՝ ԱՍՏՎԱԱՇՈՆՉ:
Իմ առաջարկության պատճառը կապված է (հետագայում) խրված ռոբոտի ստուգման հետ: Առջևի/հետևի անիվները պտտվող/չթեքվող կարգավիճակի անկյունագծով լինելը կարող է ավելի լավ լինել, քան պարզապես առջևը, կամ պարզապես հետևը:
Ո NOTՇԱԴՐՈԹՅՈՆ. Այն, ինչ ես ՉԵՄ արել, այն է, որ Arduino- ն օգտագործեմ նաև (GPIO կապում) կոդավորիչներին միանալու համար: հարցրեք Roboclaw- ին `երկու կոդավորիչի արժեքների (և արագության) համար:
ՈEՇԱԴՐՈԹՅՈՆ. Ես օգտագործել եմ BasicMicro- ի դիմումը ՝ Roboclaw- ը նախապես կազմաձևելու համար ՝ Ramping Up / Ramping Down: Սա լավ է ապարատային և էլեկտրոնիկայի պաշտպանության համար: Այդ մասին տեսանյութ կա Robotics- ի իմ տեսացանկում:
Ես գրեթե մոռացել էի. Ես նաև գնեցի մի քանի փամփուշտ միակցիչ մալուխներ, որոնք անցնում են շարժիչի մալուխների և Roboclaw- ի միջև: ՈEՇԱԴՐՈԹՅՈՆ. Եթե դա անեք, կնկատեք, որ մալուխի ընդհանուր երկարությունը ԻՐԱԿԱՆՈ LONՄ Է: Բայց ես չէի ուզում որևէ մեկը կտրել, եթե դրա կարիքը չունենայի: Ես (հետագա քայլերի համար) բախվեցի USB- ի հետ շփման խնդիրներին ազնվամորիի և Arduino- ի միջև, հավանաբար EMI աղմուկի պատճառով: բայց ես դրա շուրջ աշխատել եմ ծրագրային ապահովման հետ:
Եթե դա խնդիր դառնա, կարող եք կարճ կտրել լարերը. Կարող եք նաև մետաղական պաշտպանություն գնել (Amazon- ից, 1 տրամագծով):
Վերջին բանը. Սա դեռ պետք է անեմ --- Roboclaw- ի ավտոմատ կազմաձևում կամ ավտոմատ կարգավորում (կոդավորիչների օգտագործմամբ) այնպես, որ ձախ և աջ կողային շարժիչները շարժվեն նույն արագությամբ, և ռոբոտը ուղիղ գնա:
Իմը շատ թեթևակի թեքվում է մոտ 12 ոտնաչափի վրա, բայց ոչ այնքան, որ անհրաժեշտություն զգայի դրա մասին որևէ բան անել:
Քայլ 3. Arduino- ի ավելացում և ծրագրավորում
Ձեզ հարկավոր է տակառի խրոցը և մի քանի լարեր, ինչպես նաև USB մալուխ: Համոզվեք, որ Arduino միակցիչի համար ստացել եք ճիշտը:
Ձեզ հարկավոր է ներբեռնել Arduino IDE- ն:
Ահա Github- ում ռոբոտին վարելիս աշխատող վերջին ուրվագիծը.
github.com/elicorrales/wallace.robot.ardui…
Դուք Arduino- ն կմիացնեք IDE- ով աշխատող ձեր համակարգչին, և էսքիզը գրվածի հիման վրա դուք կօգտագործեք Arduino- ի 10 -րդ և 11 -րդ կապերը Roboclaw- ի հետ սերիական հաղորդակցության համար (Software Serial):
Ես մշակեցի մի պարզ հաղորդակցության արձանագրություն Raspberry Pi- ի և Arduino- ի միջև:
Այն հիմնված է ASCII- բնույթի վրա, ինչը հեշտացնում է վրիպազերծումն ու փորձարկումը ՝ պարզապես օգտագործելով Arduino IDE- ի «սերիական մոնիտոր» պատուհանը:
Հրամանները սկսվում են «0» թվից (զրո) և անհրաժեշտության դեպքում պարզապես բարձրանում են
«20» -ից սկսվող հրամանները Roboclaw- ի անմիջական հրամաններ են, իսկ այդ թվից ներքև գտնվողները ՝ խիստ Arduino- ի հետ կապված հրամաններ:
EMI աղմուկի պատճառով ես կատարելագործեցի հրամանի տողը `ներառելով ստուգիչ գումար:
Այսպիսով, ցանկացած տող ներառում է.
# շարք նշաններ տողում, ներառյալ այս մեկը
ստուգիչ գումարը
Օրինակ, ասեք, որ ցանկանում եք, որ Arduino- ն պատասխանի իր հրամանների ընտրացանկով.
4 0 12 16
«4» -ը չորս նշան է տողում:
«0» - ը MENU հրամանն է:
«12» -ը իմ ընտրած պատահական թիվն է:
«16» -ը 4 + 0 + 12 -ի գումարն է:
Նույն MENU հրամանը կարող է տարբեր լինել.
4 0 20 24
Քանի որ ես ընտրեցի այլ պատահական թիվ, ստուգման գումարը նույնպես տարբեր է:
Օրինակ, ասեք, որ ցանկանում եք առաջ շարժվել 100 % արագությամբ.
5 29 0 134 100
«5» հինգ խորհրդանիշ
«29» FORWARD հրամանը
«0» պատահական թիվը
«134» ստուգիչ գումարը
«100» պարամետր 1 (արագությունն այս դեպքում)
Եթե Arduino- ն չի կարող ստուգել այդ մուտքային տողը, այն պարզապես թողնում է այն / անտեսում այն, ոչ մի պատասխան:
Եթե Arduino- ն չի ստանում շարժման հաջորդ հրամանը X միլիվայրկյանով, այն STOP շարժիչներ է ուղարկում Roboclaw- ին:
Arduino- ն գործարկվում է և սկսում է ինքնաբերական կարգավիճակ ուղարկել USB պորտին … եթե չասվի դադարեցնել դա:
Այս պահին դուք պետք է պատրաստ լինեք փորձելու վերահսկել Roboclaw- ը և հետևել շարժիչների պտույտին, պարզապես IDE- ում «Սերիական մոնիտոր» օգտագործելով:
Քայլ 4: Ավելացնել և ծրագրավորել Raspberry Pi (node.js)
Կրկին, եթե նայեք իմ Robotics երգացանկին, նույնիսկ սկզբից, ես ամեն քայլափոխի անցել եմ, որ ազնվամորին գործի դնեմ:
Միակ բանը, որ ես կարող էի շոշափել, այն է, որ ձեզ հարկավոր կլինի 5 Վ կարգավորիչ, կամ դրա համար ինչ -որ կերպ կառուցեք, կտրեք/փոփոխեք USB մալուխը կամ այլ կերպ աշխատեք Ազնվամորիով:
Այստեղ ՝ Github- ում, այն ամենն է, ինչ ձեզ հարկավոր է Ազնվամորիում ՝ USB- ի միջոցով Arduino- ի հետ հաղորդակցվելու համար:
github.com/elicorrales/wallace.robot.raspb…
Կան նույնիսկ փորձնական սցենարներ:
Կարող եք նայել node.js սերվերի կոդին և կտեսնեք, թե ինչպես է Ազնվամորը փոխակերպում կարճ թվային հրահանգները REST տիպի url տողերի: Դուք կարող եք օգտագործել «curl» ՝ թեստային հրամաններ ուղարկելու համար:
Օրինակ:
ձեր RP3 IP հասցեն ՝ 8084/arduino/api/forward/50
կհանգեցնի, որ շարժիչները վայրկենապես պտտեն անիվները առաջ:
Եթե դա դնեք խեցու սցենարի օղակի մեջ, կտեսնեք, որ անիվները շարունակում են պտտվել:
Node.js ծածկագիրը (server.js) ներառում է նորից միացման գործառույթ, եթե սերիական կոմունալները կորչեն Arduino- ին: Դուք կարող եք դա ստուգել ՝ պարզապես Arduino- ն ազնվամորիից միացնելուց և նորից միացնելուց:
Համոզվեք, որ դուք համապատասխանում եք սերիական baud փոխարժեքին երկուսի միջև:
Քանի որ Arduino- ն տվյալների վատ փաթեթներ է գցում, և քանի որ node.js մակարդակում և զննարկչի javascript մակարդակում ամեն ինչ կոդավորված է բազմաթիվ «դրայվ» հրամաններ ուղարկելու համար, ես կարողացել եմ աշխատել մինչև 2 000 000 baud (2 Մբիթ / վրկ):
Եթե փորձնական սցենարները գործարկվեն և տեսնում եք, որ անիվները պտտվում են, ապա պատրաստ եք հաջորդ քայլին:
Քայլ 5. Վերջնական քայլ - mingրագրավորում / վեբ էջի հաճախորդի օգտագործում
Այս ամենի ազնվամորու հատվածին Github- ի հղման մեջ ներառված են հաճախորդի ֆայլերը:
index.html: index.js. p5.min.js.
Նրանք կարգավորում են USB Gamepad- ը Gamepad API- ի միջոցով (բրաուզերի վրա հիմնված) և դուք պետք է տեսնեք տարբեր կոճակներ և սահիչներ, որոնք առկա են նաև վեբ էջում:
Javascript ծածկագիրը հարցումներ է անում (հարցում) X և Y առանցքի արժեքները ջոյստիկներից մեկի համար: Այն շատ արագ է հարցումներ անցկացնում, և այն ջնջում է այդ բոլոր արժեքները node.js սերվերին ՝ լսելով 8084:
Theոյստիկների չմշակված X- և Y առանցքի արժեքները 0-ից 1-ի սահմաններում են:
Բայց Roboclaw շարժիչի վերահսկիչի գրադարանի գործառույթը, որն օգտագործվում է Arduino- ում `շարժիչները քշելու համար, ակնկալում է -100 -ից 0 (հետընթաց) կամ (0 -ից 100) միջև արժեք:
Սու…. դա է նպատակը ներառել p5.min.js. Պարզապես պատահում է ունենալ այս շատ գեղեցիկ, հարմար քարտեզ () գործառույթը, որտեղ նրան տալիս եք հում արժեքը, դա հում (ընթացիկ) միջակայքն է և նոր, ցանկալի տիրույթը: Եվ դա փոխակերպում է հումքի արժեքը նոր, քարտեզագրված տիրույթի արժեքի:
Մեկ այլ կետ. 100 արագության դեպքում ռոբոտը կարող է շատ բարդ լինել: Ես անընդհատ բախվում էի ինչ -որ բանի: Բայց նույնիսկ երբ դրանով ավելի լավանում ես, այն դեռ հուզիչ է ձախ կամ աջ պտտվելիս:
Ձեր ավելացնելու համար նման կլինի վեբ էջի ընթացիկ Max Speed սահողին: Այդ սահիկը որոշում է, թե որն է ամենաբարձր կամ առավելագույն արժեքը, որին պետք է քարտեզագրեք Xs և Ys ջոստիկները:
Օրինակ:
Ասեք, որ քարտեզագրում եք 0 -> 1 -ից 0 -> 100: Երբ դուք ջիշտիքին դնում եք լրիվ կանգառով, դուք 100 -ում եք: Գուցե չափազանց արագ լինի:
Բայց, եթե այդ արագության սահիկը մի փոքր հետ եք սահում, ապա այժմ քարտեզագրում եք 0 -> 1 -ից 0 -> 80 կամ 70:
Դա նշանակում է, որ դուք ավելի մեծ ազատություն ունեք ՝ ձեր ջիստիկը տեղափոխելու համար ՝ առանց հանգույցին. Js (և Arduino) ուղարկվող արագության այդքան մեծ փոփոխության:
Եվ հավելումը, որը դուք կարող եք անել, այն է, որ առանձնացնել X- ները (պտտել ձախ կամ աջ) Y- ներից (առաջ կամ հետ) `իրենց հասանելի առավելագույն արագությունների մեջ:
Այսպիսով, դուք կարող եք Y- ները թողնել 0 -ից 100, 0 -ից -100 -ի արագ գծային շարժման համար, բայց իջեցնել Xs առավելագույն արագությունը `ավելի վերահսկվող պտտվող շարժման համար: Երկու աշխարհներից լավագույնը:
Քայլ 6. Լրացուցիչ. Drive Robot With Mouse քաշել և / կամ Touch իրադարձություններ
Եթե այսքան հեռու եք հասել, ապա գիտեք, որ ծրագրաշարի շերտերը ՝ սկսած դիտարկիչից և Javascript- ի միջոցով մինչև Raspberry node.js սերվերը, վերջապես arduino- ին, փոխակերպում է Gamepad joystick X- ի և Y- կոորդինատները »: առաջ »(կամ« հետընթաց »և այլն) հրամանները (և դրանց արագության արժեքը):
Ավելին, դուք գիտեք, որ եթե ջոյսթիքների X- ն և Y- ը բացասական են 1 -ից զրոյի, գումարած 1 -ի, դրանք պետք է փոխարկվեն զրոյի և 100 -ի: Դե, առավելագույնը կախված է վեբ էջի առավելագույն արագության կարգավորումից:
Soo… միակ բանը, որ կարելի է անել մկնիկի կամ հպման իրադարձությունների համար (ինչպես սմարթֆոնում), այդ իրադարձությունները ֆիքսելն է, գրավել X- երը և Y- ները:
ԱՅԼ ---- այդ X- ն և Y- ը ՉԻ 1-ի և 1-ի միջև: Նրանք սկսում են 0-ը և ավելանում են դրական, քանի որ դրանք ըստ էության HTML- ի որոշ տարրի պիքսելներ կամ հարաբերական կոորդինատներ են (օրինակ ՝ bootstrap panel) կամ կտավ:
Այսպիսով, կրկին, P5- ի Js գրադարանի «քարտեզ ()» գործառույթը շատ հարմար է մեզ անհրաժեշտի վերագրանցման համար:
Ես վերափոխեցի կոդը ՝ ունենալու երկու տարբեր վեբ էջեր, մեկը Gamepad- ով աշխատասեղանի համար, մյուսը ՝ բջջայինի համար, օգտագործելով հպման իրադարձությունները:
Բացի այդ, X- երը և Y- ները նորից քարտեզագրվելուց հետո դրանք մտնում են նույն ծածկագրի շղթայի մեջ և այլն, ինչպես նաև Xs և Y- երը Gamepad- ից:
Խորհուրդ ենք տալիս:
Հասկանալով օդորակիչի հեռակառավարման վահանակի IR արձանագրությունը. 9 քայլ (նկարներով)
Հասկանալով օդորակիչի հեռակառավարման վահանակի IR արձանագրությունը. Ես բավականին երկար ժամանակ սովորում եմ IR արձանագրությունների մասին: Ինչպես ուղարկել և ստանալ IR ազդանշաններ: Այս պահին մնում է միայն AC հեռակառավարման վահանակի IR արձանագրությունը: Ի տարբերություն գրեթե բոլոր էլեկտրոնային սարքերի ավանդական հեռակառավարիչների (ասենք հեռուստացույցի), որտեղ
Arduino- ի և Bluetooth- ի միջոցով կորցրած հեռակառավարման վահանակի որոնում. 5 քայլ
Arduino- ի և Bluetooth- ի միջոցով կորցրած հեռուստատեսության հեռակառավարում գտնելը. Կորած հեռուստատեսության հեռավոր գտնելու շատ պարզ միացում և կոդը այնքան պարզ է, պարզապես Arduino Nano- ի միջոցով Bluetooth մոդուլով և փոքր ազդանշանով մարտկոցի ուժեղացուցիչով 3.7v- ից մինչև 5v, և ես ստեղծել եմ ծրագիր: MIT App Inventor- ում, * կարող եք միացնել
Սովորական հեռակառավարման հավաքածուն վերածվեց չորս ալիքի RC Toy հեռակառավարման վահանակի `4 քայլ
Սովորական հեռակառավարման հավաքածուն վերածվեց չորս ալիքի RC Toy հեռակառավարման վահանակի. 如何 将 通用 遥控 器 62改造 方法 非常 简单. 只需 准备 一些 瓦楞纸 板, 然后 按照 视频 教程 完成 这个 电子 项目 并 为 您 服务: 玩具 车船 提供 远程 无线 控制:
Ավտոմատ հեռակառավարման վահանակի միացում / անջատում ՝ տեսախցիկում MIC խցիկի օգտագործմամբ / ցածր լարման պինդ վիճակի ռելե. 4 քայլ (նկարներով)
Ավտոմատ հեռակա միացում / անջատում ՝ օգտագործելով տեսախցիկում MIC խցիկ / ցածր լարման պինդ վիճակի ռելե. Ակնարկ. Մենք օգտագործել ենք տեսախցիկի MIC խցիկը `տեսախցիկի միացման ժամանակը հայտնաբերելու համար: Մենք կառուցեցինք ցածր լարման պինդ վիճակի ռելե ՝ MIC խցիկը հայտնաբերելու և տեսախցիկի նկարահանման հետ միաժամանակ հեռակա սարքը ինքնաբերաբար միացնելու և անջատելու համար: Պինդ վիճակ
Ստվերային/հեռակառավարման վահանակի ակտիվացված լուսարձակներ. 5 քայլ
Ստվեր/հեռակառավարման վահանակ ՝ ակտիվացված լուսադիոդներ. Դե .. ահա դրա վրա ուսանելի բան կա, բայց կա լրացուցիչ. Դուք կարող եք այն գործարկել ՌԴ հեռակառավարման վահանակի միջոցով: Այն այնքան հզոր է, որ կարող եմ լուսավորել իմ անցքերի սենյակը: