Բովանդակություն:
- Քայլ 1: Ձեզ անհրաժեշտ կլինի
- Քայլ 2: Վերցրեք վերահսկիչը
- Քայլ 3: Կպչեք բաղադրիչները տեղում
- Քայլ 4: Միացրեք լարերը
- Քայլ 5. Programրագրեք Arduino- ն
- Քայլ 6: Հավաքեք վերահսկիչը
- Քայլ 7: Հնարավոր բարելավումներ
Video: Xbox 360 Controller Accelerometer/gyro Steering Mod: 7 Steps
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Ես խաղում էի Assetto Corsa- ով իմ Xbox 360 կարգավորիչի հետ: Unfortunatelyավոք, անալոգային փայտիկով ղեկը շատ ծանր է, և ես տեղ չունեմ անիվի տեղադրման համար: Ես փորձեցի մտածել, թե ինչպես կարող եմ ավելի լավ ղեկի մեխանիզմ կոշիկ դնել վերահսկիչի մեջ, երբ մտքովս անցավ, որ կարող եմ օգտագործել ամբողջ վերահսկիչը որպես ղեկ:
Անալոգային ձողիկն ունի երկու պոտենցիոմետր: Մեկը չափում է ուղղահայաց շարժումը, իսկ մեկը `հորիզոնական: Յուրաքանչյուրի միջոցով այն դնում է 1.6 Վ և չափում է մաքրիչում արտադրվող լարումը `որոշելու, թե որքան է ձողը շարժվել: Սա նշանակում է, որ հնարավոր է վերահսկել ձողերի շարժունակությունը `որոշակի լարման միջոցով մաքրելով մաքրիչի քորոցը: (լրացուցիչ տեղեկություններ այստեղ ՝
Այս ռեժիմն օգտագործում է Arduino- ն ՝ արագացուցիչի ընթերցումներից անկյունը հաշվարկելու և DAC- ի միջոցով այն անալոգային ձողերի շարժման փոխակերպելու համար: Հետևաբար, այն պետք է աշխատի ցանկացած խաղի հետ, որն օգտագործում է անալոգային փայտիկը որպես մուտք:
Քայլ 1: Ձեզ անհրաժեշտ կլինի
Գործիքներ:
- Sոդման երկաթ
- Sոդող
- Sոդման ծծող/հյուս
- Մետաղալար մերկապարուհի
- Պտուտակահան, գուցե Torx ՝ կախված ձեր վերահսկիչի պտուտակներից (իմը խաչմերուկ են)
- Սոսինձ (գերադասելի է ոչ շատ ամուր սոսինձ, որպեսզի այն ավելի ուշ բաժանվի)
- USB- ից սերիական ադապտեր `Arduino- ն ծրագրավորելու համար
Նյութեր:
- Xbox 360 վերահսկիչ (երեկ!)
- Arduino Pro Mini (կամ կլոն) (գերադասելի է 3.3 Վ. Եթե օգտագործում եք 5 Վ տարբերակն, ամենայն հավանականությամբ, ձեզ անհրաժեշտ կլինի լարման բարձրացման փոխարկիչ)
- MPU-6050 գիրոսկոպ/արագացուցիչ
- MCP4725 DAC (երկուսը, եթե ցանկանում եք վերահսկել երկու առանցքները)
- Որոշ բարակ մետաղալարեր
- Գրատախտակ, որպեսզի կարողանաք ամեն ինչ փորձարկել նախքան զոդելը (ըստ ցանկության, բայց խորհուրդ է տրվում)
Քայլ 2: Վերցրեք վերահսկիչը
Կան յոթ պտուտակներ, որոնք պետք է հանել: Դրանցից վեցն ակնհայտ են, բայց յոթերորդը կպչուկի հետևում է: Ենթադրում եմ, որ այն հեռացնելը անվավեր է դարձնում ձեր երաշխիքը, այնպես որ շարունակեք ձեր ռիսկով: Շատ ուղեցույցներ ասում են, որ ձեզ հարկավոր է Torx պտուտակահան, բայց իմը խաչաձև են, այնպես որ ստուգեք ձեր վերահսկիչը:
Դրանից հետո զգուշորեն հանեք հետևի կափարիչը: Եթե առջևից կտրեք, կոճակները կթափվեն և հավանաբար կանցնեն ամբողջ սենյակով մեկ: Բարձրացրեք այն ներքևից: Այնուհետեւ անջատեք երկու թրթռման շարժիչները: (փոքր քաշ ունեցողը պետք է լինի ձախ կողմում, իսկ մեծ քաշ ունեցողը ՝ աջից) Հանեք PCB- ն և հանեք անալոգային ձողերի ռետինե կափարիչները: Նրանք պարզապես քաշվում են:
Հաջորդը ձախ անալոգային փայտը հեռացնելն է, որպեսզի այն չխանգարի մեր մուտքին, բայց ձախ ձգան մեխանիզմը խանգարում է: Այն հեռացնելու համար դուք պետք է ապակոդավորեք պոտենցիոմետրից երեք պինները տախտակի առջևից, այնուհետև անջատեք մեխանիզմը PCB- ից:
Հաջորդը, ապամոնտաժեք 14 կապում, որոնք պահում են ձախ անալոգային ձողը: Այնուհետեւ քաշեք փայտը:
Քայլ 3: Կպչեք բաղադրիչները տեղում
Դուք կնկատեք, որ PCB- ի հետևի և պատյանների միջև բավականին մեծ ազատություն կա: Սա հնարավորություն է տալիս ամբողջ ապարատը դնել պատյանում ՝ առանց որևէ բան հեռացնելու:
Ես միայն հետագայում հասկացա, բայց սա լավ ժամանակ կլիներ Arduino- ի զրոյացման կոճակը ապամոնտաժելու համար: Եթե դա չանեք, այն կսեղմի պատյանի հետևի հատվածին և կհանգեցնի նախագծի աշխատանքի դադարեցմանը, եթե այն պտուտակներից մեկը չափազանց ամրացնեք այն նորից հավաքելիս:
Ես յուրաքանչյուր PCB- ի հետևի մասում կպցրեցի բարակ կտոր ՝ այն մեկուսացնելու համար, այնուհետև այն կպցրեցի վերահսկիչի PCB- ին: Ես դժկամությամբ էի սոսինձ օգտագործում, բայց չէի մտածում դա անելու ավելի լավ տարբերակ:
Պատկերի դիրքերը լավագույն համադրությունն է, որ կարող եմ գտնել: Arduino- ն ձախ կողմում է, որի եզրը, որի վրա տեղադրված է կոճակը, պլաստիկի կտորին սահում է աջ ձգան մեխանիզմից, մյուս կողմը `մետաղալարերի տակ, և անկյունը` հնարավորինս սպիտակ միակցիչին մոտ: Փոքրիկ ուռուցք կա պատյանում, բայց ավելի լավ տեղ չգտա այն դնելու համար:
Արագացուցիչը մետաղալարից աջ է: Այն պետք է լինի հնարավորինս հարթ և հնարավորինս, հակառակ դեպքում գուցե ստիպված լինեք ավելի ուշ գրել ինչ -որ ծածկագիր `փոխհատուցումը փոխհատուցելու համար: Ուշադրություն դարձրեք, որ պատյանի հետևի մասում կան պլաստմասե կտորներ, որոնցից խուսափելը պետք է զգույշ լինի: Ես պարզել եմ, որ պլաստիկի դուրս ցցված կտորների վրա կարելի է կպչուն և գունագեղ բան դնել, օրինակ ՝ շրթնաներկը, այնուհետև դնել հետևի կափարիչը ՝ տեսնելու, թե որտեղ է հետքեր թողնում:
DAC (ներ) ը գնում են ներքևի ձախ անկյունում: Այստեղ բավականաչափ թույլտվություն կա երկու DAC, մեկը մյուսի վրա դնելու համար, եթե ցանկանում եք վերահսկել երկու առանցքները: Պետք չէ դրանք սոսնձել: Նրանք կմնան այնտեղ, որտեղ նրանք են ՝ միայն զոդված միացումներով: Եթե քարտը կպցնում եք նրանց միջև, համոզվեք, որ այն կտրել եք այնպես, որ հասանելի լինեն SCL, SDA, VCC և GND, քանի որ դրանք մուտք կունենաք երկու կողմից:
Եթե դուք օգտագործում եք երկու DAC, մի մոռացեք միացնել հասցեի թռիչքը և անջատել դրանցից մեկի վրա ձգվող դիմադրիչները, ինչպես նկարագրված է այստեղ ՝ https://learn.sparkfun.com/tutorials/mcp4725-digital-to-analog -converter-hookup-guide
Քայլ 4: Միացրեք լարերը
Այժմ դուք պետք է ամեն ինչ միացնեք: VCC, GND, SDA և SCL բոլոր 2/3 սարքերից պետք է համապատասխանաբար միացված լինեն VCC- ին, GND- ին, A4- ին և A5- ին Arduino- ում: DAC- ները ամենաբարդ մասն են: Եթե ունեք երկուսը, դրանք պետք է միացնեք իրար, իսկ ինչ -որ տեղ թողնելիս կարող եք հոսանքն ու գծերը միացնել արագացուցիչին `միաժամանակ պահելով OUT լարերը առանձին:
DAC- ի OUT կապը պետք է միացված լինի վերահսկիչի PCB- ի քորոցին, որն օգտագործվում էր անալոգային ձողի միջին հորիզոնական պոտենցիոմետր քորոցի համար: Այսինքն, այնտեղ, որտեղ անալոգային ձողիկն էր, վերևում կա երեք կապում շարան: Միացրեք այն միջինին: Եթե ունեք այլ DAC, միացրեք այն ուղղահայաց պոտենցիոմետրի քորոցին (տողը ձախից) նույն կերպ: Երբ ձգանը փոխարինվում է, դուք չեք կարողանա հետևից հասնել կապումներին, այնպես որ դուք պետք է մետաղալար անցկացնեք տախտակի առջևից: Կա պլաստիկ շրջանաձև «պատ» անալոգային փայտի տարածքի շուրջը, բայց բարեբախտաբար դրա մեջ կա հարմար բաց, որի միջոցով կարող եք լարեր անցկացնել: Համոզվեք, որ լարերը չեն խոչընդոտում գործի առջևի մասում գտնվող պտուտակաձողի վրա:
Իմ սկզբնական ծրագիրն այն էր, որ Arduino- ն 5V- ով սնուցեմ RAW կապին միացված USB մալուխից, բայց երբ փորձեցի, այն չաշխատեց: Arduino- ն ոչինչ չաշխատեց, և Arduino- ն և վերահսկիչը մի քանի վայրկյան անց անջատվեցին: Այնուամենայնիվ, ես հայտնաբերեցի, որ կա կայուն 3.3 Վ ելք տախտակի առջևի երկու կապումներից ՝ սև ծայրամասային վարդակից մոտ, ենթադրաբար, ծայրամասային սարքերը սնուցելու համար: Այն աշխատում է ինչպես VCC- ի, այնպես էլ RAW- ի հետ, բայց ես ընտրել եմ VCC- ն, քանի որ դա արդեն ճիշտ լարումն է, և որովհետև այն թույլ է տալիս ինձ այն զոդել VCC- ի մետաղալարով DAC- ով, որն արդեն տախտակի ներքևի մասում է և խնայել լարերի վրա:
Տեղյակ եղեք, որ պատյանից դուրս պրծած պլաստմասե մասեր շատ են, որոնց շուրջ պետք է աշխատեք, բայց եթե լարերը կպցնում եք տեղում, ապա դրանց մասին միայն մեկ անգամ պետք է անհանգստանաք:
Այս ամենը դժվար է նկարագրել բառերով, այնպես որ ես ներառել եմ նկարներ և կոպիտ դիագրամ:
Քայլ 5. Programրագրեք Arduino- ն
Այժմ դուք պետք է ծրագրավորեք Arduino- ն: Դրա համար անհրաժեշտ է USB մալուխը տեղափոխել վերահսկիչի վրա, որպեսզի կարողանաք մուտք գործել Arduino- ի սերիական կապեր: Ես ներառել եմ իմ օգտագործած կոդը: Այն պահանջում է Adafruit MCP4725 գրադարանը, որը կարելի է գտնել այստեղ ՝
Ինչպես որ կա, ծածկագիրը թույլ է տալիս հավասարաչափ անցնել անալոգային ձողի շարժման ամբողջ տիրույթը ՝ կարգավորիչը 90 աստիճան ձախից 90 աստիճան դեպի աջ տեղափոխելով, և այն պահել մեջտեղում ՝ այն հարթ պահելով:
Այն ստանում է վերահսկիչի անկյունը `հաշվարկելով X առանցքի g- ուժի հակադարձ տանգենսը` բաժանված Z առանցքի g- ուժի վրա: Սա նշանակում է, որ այն աշխատում է, եթե վերահսկիչը ուղղահայաց է, հարթ կամ դրա միջև ընկած ցանկացած անկյուն: (լրացուցիչ տեղեկություններ այստեղ ՝
Այն աշխատում է իմ վերահսկիչի վրա, բայց մյուս կարգավորիչները կարող են պահանջել տարբեր լարման ՝ այն անհավասարեցնելով: Կարծում եմ, լարման տիրույթը գտնելու լավագույն միջոցը փորձությունն ու սխալն է: Շատ խաղեր ձեզ ցույց կտան անալոգային ձողերի շարժման սահիկ, բայց շարժումը որոշելու առավել ճշգրիտ եղանակը jstest- ն է Linux- ում: (https://wiki.archlinux.org/index.php/Gamepad#Joystick_API) Այն ձեզ տալիս է ոչ թե գրաֆիկական, այլ ոչ թե գրաֆիկական, այլ ոչ թե գրաֆիկական պատկեր, այլ -32, 767 և 32, 767 միջև ընկած ժամանակահատված: Միացրեք և՛ վերահսկիչը, և՛ Arduino USB- ն սերիական ադապտերին, բեռնեք jstest- ը և փորձեք DAC- ի տարբեր արժեքներ, մինչև հասնեք միջակայքի վերևին և ներքևին և նշեք յուրաքանչյուրը: Ինձ համար դա 1, 593 - 382 էր:
Առանձնահատուկ հետաքրքրություն է ներկայացնում 36 -րդ տողը.
dacvalue = (վերահսկիչ + 2.5617859169446084418) / 0.0025942135867793503208 + 0.5;
Միանգամից ակնհայտ չէ, թե ինչ է դա անում: Պարզապես, այն վերցնում է վերահսկիչի անկյունը (չափվում է ռադիաններով և 7 1.57-ից ~ -1.57) և այն վերածում է DAC- ի 1, 593 և 382 արժեքների: Եթե ունեք այլ DAC տիրույթ, ապա ձեզ հարկավոր է փոխել այդ գիծը:
Տողը կարող է գրվել հետևյալ կերպ.
dacvalue = (կարգավորիչ +) / + 0.5;
Այն թվերի հետ և որոնք պետք է փոխվեն: հավասար է վերահսկիչի անկյունի (pi) տիրույթին բաժանված DAC արժեքների ընդհանուր տիրույթի վրա: (միջակայքի վերևը հանած միջակայքի ներքևի մասի) Սա ձեզ հասցնում է այնքան, որքան փոխում է լարումը, չնայած արդյունքները կլինեն ձեր ուզած տիրույթից դուրս: Դրա համար պետք է: հավասար է բազմապատկված տիրույթի ներքևին գումարած վերահսկիչի շարժման տիրույթի կեսին: (pi / 2) Շարժման միջակայքի կեսը ավելացնելով համոզվում եք, որ դա բացասական թիվ չէ, և միջակայքի ներքևում բազմապատկվածը համոզված է, որ այն համաժամեցված է ձեր ուզած տիրույթի հետ:
Տասնորդական թվերը ամբողջ թվին փոխարկելիս C ++ - ը չի կլորանում: Փոխարենը այն կտրում է տասնորդականը, ուստի 9.9 -ը դառնում է 9. Վերջում 0.5 -ի ավելացումն ապահովում է, որ կեսից բարձր որևէ բան անցնի հաջորդ ամբողջ թվին, այնպես որ կլորանա:
Ձեր ծրագիրը վերբեռնելուց հետո համոզվեք, որ այն աշխատում է jstest- ով:
Քայլ 6: Հավաքեք վերահսկիչը
Վերահսկիչը նորից միացրեք այնպես, ինչպես այն հեռացրել եք, առանց ձախ անալոգային ձողի: Այն պետք է աշխատի հիմա: Ես գտնում եմ, որ նկատելի ուշացում չկա, և դա շատ ավելի լավ է, քան անալոգային ձող օգտագործելուց: Քանի որ այն օգտագործում է արագացուցիչ, այն ազդում է հանկարծակի շարժումների վրա, բայց դա նկատելու համար պետք է ամեն ինչից դուրս գալ:
Քայլ 7: Հնարավոր բարելավումներ
Կան որոշ բարելավումներ, որոնք կարող են կատարվել: Դրանք ներառում են.
- Օգտագործելով ավելի քիչ ծանր մագնիսական մետաղալար
- Ամեն ինչ փորագրեք մեկ PCB- ի վրա, որը նախատեսված է վերահսկիչի պատյանում տեղավորվելու համար
- Ձախ անալոգային ձողը միացնելը և ոտքերը Arduino- ի անալոգային մուտքերին միացնելը, որպեսզի դրանք կարողանան օգտագործվել Arduino- ն կարգավորելու համար
- Անլար հսկիչի համար հետևի պատյան ստանալը և նախագիծը մարտկոցի խցիկում դնելը (դա կպահանջի USB մալուխի համար անցք կտրել)
Խորհուրդ ենք տալիս:
Tonka Truck RC Conversion With Dump and 4WS Quad Steering: 6 Steps (With Pictures)
Tonka Truck RC Conversion With Dump and 4WS Quad Steering: Այո, սա արվել է նախկինում, բայց իմ կարծիքով, մնացած բոլորը դա արել են դժվարին ճանապարհով և ձախողվել են
Xbox Controller Hack: 8 Steps
Xbox Controller Hack. Ինձ նվիրեցին X-Box 360 մի քանի տարի առաջ: Ինքս-խաղացող չլինելով, ես մտածեցի, որ մեծ երեխաները կարող են օգտագործել դա: Խնդիր. Տեսնելով, որ G- երեխաներն ապրում էին այլ քաղաքներում և հաճախ չէին այցելում, վերահսկիչների մարտկոցները, երբ նրանք գային, մեռած կլինեին
Xbox 360 Arcade Controller - Project Gyokusho: 8 Steps
Xbox 360 Arcade Controller - Project Gyokusho. Դե, սա գրեթե այդպես է հնչում: Ես պոկել եմ 360 -անոց լարային հսկիչը, փորոտիքը դրել եմ գեղեցիկ տուփի մեջ և զոդել եմ որոշ արկադային կոճակներ և դրան մի վահանակ: Մտածեցի, որ սա կհրապարակեմ, որպեսզի բոլորիդ պատկերացում կազմեմ, թե ինչպես կարելի է դա անել
Պարզ Xbox 360 Rapid Fire Mod. 8 քայլ (նկարներով)
Պարզ Xbox 360 Rapid Fire Mod. Վստահ եմ, որ տեսել եք, թե ինչ կարող է անել մոդիֆիկացված վերահսկիչը, եթե առցանց խաղացել եք այնպիսի խաղերի վրա, ինչպիսիք են Call Of Duty, Halo, Counter Strike կամ Battlefield: Ահա իսկապես պարզ փոփոխություն, որը հնարավորություն կտա ձեզ նկարահանել ձեր Barret 50 կալորիան P90- ի պես: Թարմացում. Այնտեղ
Xbox 360 Rumble Powered Rapid Fire Mod: 6 քայլ
Xbox 360 Rumble Powered Rapid Fire Mod. Ձեր xbox 360 վերահսկիչը կառավարելու հեշտ միջոց ՝ առանց բոլոր հոյակապ միկրոչիպերի և դեռ չբացահայտելի է (ԱՌԱ): (ՄԵՆԱԳՈՐԱԿԱՆ ԳՈՐԸՆԹԱՈՄ ՔՈ ՎԵՐԱԲԱՈԹՅՈՆԻՆ ՀԱՎԱՍՏԱՆՈԹՅԱՆ ՀԱՄԱՐ ՊԱՏԱՍԽԱՆԱՏՎՈ ՉԵՄ --ԱՆՈԹՈԹՅՈՆ ---- ՇԱՐՈՆԱԿՈ ATԹՅՈՆ ՍԵՓԱԿԱՆ ՌԻՍԿՈՄ) Կներեք նկարի մասին