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

USB թիավարման խաղի վերահսկիչ. 7 քայլ (նկարներով)
USB թիավարման խաղի վերահսկիչ. 7 քայլ (նկարներով)

Video: USB թիավարման խաղի վերահսկիչ. 7 քայլ (նկարներով)

Video: USB թիավարման խաղի վերահսկիչ. 7 քայլ (նկարներով)
Video: Atari VCS: Part 1 - What It Is And Why I Like It 2024, Հուլիսի
Anonim
USB թիավարման խաղերի վերահսկիչ
USB թիավարման խաղերի վերահսկիչ
USB թիավարման խաղերի վերահսկիչ
USB թիավարման խաղերի վերահսկիչ
USB թիավարման խաղերի վերահսկիչ
USB թիավարման խաղերի վերահսկիչ

Որդիս իր ծննդյան օրվա ռետրո տեսախաղեր էր անցկացնում, և օրվա առավոտյան ես որոշեցի տեսնել, թե արդյոք կարող եմ Պոնգի համար պատրաստել մի զույգ USB թիավարման խաղերի վերահսկիչ ՝ 3D տպիչի և էլեկտրոնիկայի օգնությամբ: Թեև ես իսկապես հասցնում էի, որ նրանք հիմնականում ժամանակին աշխատեն, ի վերջո մարդիկ չափազանց զբաղված էին Պոնգի համար այլ խաղերով:

Կառավարիչները կարող են օգտագործվել Pong- ի համար DICE- ի միացման մակարդակի էմուլյատորով կամ իմ բավականին ճշգրիտ pygame տարբերակով, Atari 2600 խաղերով ՝ էմուլյատորով, և Etch-a-Sketch- ի նման ֆունկցիոնալությամբ ՝ Tux Paint- ի նման նկարչական ծրագրով:

Գոյություն ունեն երեք փոխարկելի ռեժիմ.

  • Նրանք պետք է աշխատեն Atari 2600 մոդելավորման բոլոր ծրագրերի հետ, որոնք աջակցում են Stelladaptor- ին. Stelladaptor ռեժիմում թիակները գործում են որպես երկու առանցք ունեցող երկկողմանի ջոստիկ, որոնցից յուրաքանչյուրը ղեկավարում է մեկ առանցք և մեկ կոճակ
  • երկակի ջոյսթիքների կրկնօրինակում.
  • մուկ. յուրաքանչյուր թիավարում է բացարձակ մկնիկի շարժման մեկ ուղղություն, իսկ կոճակները մկնիկի կոճակներ են. նկարչական ծրագրի հետ միասին կարող եք ձեռք բերել Etch-a-Sketch- ի նման բարձր տեխնոլոգիական սարք:

Պարագաներ

Ձեզ հարկավոր կլինի.

  • stm32f103c8t6 կապույտ հաբ
  • 2x գծային պոտենցիոմետր (խորհուրդ եմ տալիս 20K-100K)
  • 2x 12 մմ լայնությամբ միկրո անջատիչ կոճակով
  • 3D տպիչ
  • տարատեսակ (թել, լարեր, զոդ, զոդ, տաք սոսինձ)

Քայլ 1. Պատրաստեք տախտակ և Arduino միջավայր

Պատրաստեք տախտակ և Arduino միջավայր
Պատրաստեք տախտակ և Arduino միջավայր
Պատրաստեք տախտակ և Arduino միջավայր
Պատրաստեք տախտակ և Arduino միջավայր
  1. Sոդեք վեց վերնագրի կապում ձեր stm32f103c8t6 տախտակի մեջտեղում:
  2. Ստուգեք դիմադրությունը A12- ի և 3.3V- ի միջև: USB- ի ամբողջական համատեղելիության համար այն պետք է լինի 1.5K: Շատ տախտակներ դրա փոխարեն ունեն 10K: Եթե դուք մեկն եք դրանցից, ապա իդեալականորեն կպցրեք 1.8K դիմադրիչի մեջ A12- ից մինչև 3.3V, չնայած, որ դուք բախտավոր կլինեք և ձեր համակարգիչները կաշխատեն 10K- ով:
  3. Տեղադրեք bootloader: Այս հրահանգի 2 -րդ քայլում կան հրահանգներ: Պետք է ուշադրություն դարձնել, թե որն է STM ցուցարարի կողմից հաղորդվող բռնկման չափը: Եթե դա 32K է, դուք ունեք կեղծ stm32f103c8, որը հավանաբար վերանվանված stm32f103c6 է: Այս նախագիծը դեռ պետք է աշխատի դրա հետ, բայց նշեք, որ ապագա քայլի համար ունեք կեղծ տախտակ:
  4. Տեղադրեք Arduino, Arduino Zero և Roger libmaple- ի վրա հիմնված միջուկը ՝ հետևելով նախորդ քայլին օգտագործված Instructable- ի 3-րդ քայլին տրված հրահանգներին: Այդ քայլին անտեսեք գրադարանի ցուցումները:
  5. Ներբեռնեք իմ USB Composite գրադարանի վերջին թողարկումը և բացեք այն ձեր Arduino/Գրադարանների պանակում:
  6. Ներբեռնեք իմ paddlecontrollers- ի ուրվագիծը և բացեք այն ձեր Arduino թղթապանակում:
  7. Արդուինոյում գնացեք Գործիքներ | Տախտակ | Ընդհանուր STM32F103C շարք, եթե չունեք կեղծ c6 տախտակ, որի դեպքում փոխարենը ընտրեք Generic STM32F103C6/կեղծ STM32F103C8: Եթե վստահ չեք, թե որն ունեք, կեղծ տարբերակն ընտրելն իրականում ավելի անվտանգ է:

Քայլ 2: Վերբեռնում

Վերբեռնել
Վերբեռնել

Միացրեք տախտակը ձեր համակարգչի USB ադապտերին, տեղադրեք թիավարման վերահսկիչի էսքիզը և կտտացրեք «Վերբեռնել» կոճակին (աջ սլաքը): Եթե ամեն ինչ լավ ընթանա, ուրվագիծը պետք է վերբեռնվի, և տախտակը պետք է հայտնվի ձեր համակարգչում ՝ որպես երկու առանցք ունեցող երկու կոճակներով ջոյսթիք, որը կոչվում է «Stelladaptor»: Windows- ում դուք կարող եք դա հաստատել Windows-R- ով, joy.cpl [մուտքագրել]:

Իհարկե, դա ոչինչ չի անի, մինչև սարքավորումների մնացած մասը հավաքված չլինի:

Քայլ 3: Տպել

Տպել
Տպել
  1. Ներբեռնեք stl և/կամ scad ֆայլերը իմ Thingiverse էջից այս նախագծի համար: Խնդրում ենք նկատի ունենալ, որ թիավարման կոճակը փոփոխված է այստեղից:
  2. Եթե ձեր միկրո անջատիչի պատյանների լայնությունը տարբերվում է 12 մմ-ից, ապա ձեզ հարկավոր է կարգավորել կոճակի լայնության պարամետրը paddlemain-standalone.scad ֆայլում: Դուք կարող եք դա անել OpenSCAD- ում կամ Thingiverse Customizer- ում:
  3. Հնարավոր է, որ անհրաժեշտ լինի փոփոխել paddleknob.scad ֆայլում առկա չափումները `ձեր պոտենցիոմետրին տեղավորելու համար:
  4. Տպեք այս ֆայլերը (կատարեք «2x» ֆայլերի միայն մեկ օրինակ, եթե ցանկանում եք միայն մեկ թիավարել): Ես օգտագործել եմ PLA- ն, բայց ABS- ը նույնպես պետք է լավ աշխատի:

    • 2x paddlemain.stl
    • 2x paddleknob.stl
    • 1x paddleconverter.stl
    • 1x pcbholdernarrower.stl
    • 2x buttoncap110.stl (ըստ ցանկության)
    • 1x 12.stl (ըստ ցանկության; տպեք այլ գույնով և կպցրեք երկու թիակները պիտակելու համար)

Քայլ 4: Լարերի տեղադրում

Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր

Դուք պետք է չորս լար անցկացնեք stm32f103c տախտակից մինչև յուրաքանչյուր թիավարման հսկիչ: Այս լարերի համար կարող եք օգտագործել հին USB լարերը: Ինձ պատահեց, որ ունեի գեղեցիկ ինքնուրույն լարեր ethernet մալուխից, որոնք միացրել էի նեղացող փաթաթայի հետ միասին:

Յուրաքանչյուր թիակ ունի մեկ միկրո անջատիչ և մեկ պոտենցիոմետր: Մուլտիմետրով նշեք միկրո անջատիչի հարակից (ոչ անկյունագծային) զույգ կապերը, որոնք միացված/անջատված են կոճակը սեղմելով: Այս գծապատկերում ես կպիտակավորեմ S1 և S2 կապանքները: Պոտենցիոմետրի երեք կապում, որոնք ես պիտակավորել եմ P1, P2 և P3 վերևից ներքև, նայելով պոտենցիոմետրի ներքևի մասից, իսկ կապումներն ուղղված են աջ:

Գրատախտակից չորս լարերը մղեք թիակի պատյանների կողային անցքի միջով (paddlemain.stl):

Միկրո անջատիչին լարերը միացնելիս, նախ լարերը մղեք թիակի պատյան կողքի անցքերի միջով և միացրեք անջատիչին, իսկ անջատիչը գտնվում է պատյանի արտաքին մասում: Այնուհետեւ քաշեք անջատիչը դեպի բնակարան, դարձնելով կապումներն ու ամրացված լարերը տեղավորվող անցքերի մեջ: Ես կտրեցի ավելորդ քորոցները:

Երկու թիակները

  • P1- ից S1
  • P1 տախտակ 3.3V (3.3)
  • P3 GND (G) տախտակ

Թիակ 1:

  • P2 A1 տախտակին
  • S2 տախտակ A2

Թիակ 2:

  • P2 A3 տախտակին
  • S2 ՝ A4 տախտակին

Այժմ փորձարկեք կապերը `միանալով ձեր համակարգչին և օգտագործելով ջոյսթիկի փորձարկման ծրագիր: Windows- ում, Windows-R, joy.cpl [մուտքագրեք], ընտրեք Stelladaptor, կտտացրեք Հատկություններ: Թիակ 1-ը պետք է վերահսկի X առանցքը և առաջին կոճակը. թիակ 2-ը պետք է վերահսկի Y առանցքը և երկրորդ կոճակը:

Քայլ 5: Վերջնական հավաքում

Վերջնական ժողով
Վերջնական ժողով
Վերջնական ժողով
Վերջնական ժողով
Վերջնական ժողով
Վերջնական ժողով
Վերջնական ժողով
Վերջնական ժողով

Միկրո անջատիչները կարող են սոսնձվել (տաք սոսինձն ինձ համար գործ արեց) թիավարման տուփի կողքի իրենց տեղերում: Կոճակների գլխարկները կարելի է սեղմել ՝ կայունության համար մի փոքր տաք սոսինձով:

Պոտենցիոմետրը կցվում է թիավարման տուփի վերևի մեծ անցքին: Բռնակը պետք է սահի և կպչի: Անհրաժեշտության դեպքում մեծացրեք անցքերը փորվածքով: Ներքևի կափարիչը սեղմեք, եթե ցանկանում եք, մի քիչ տաք սոսինձ ավելացրեք:

Կապույտ դեղահատի տախտակը տեղավորվում է PCB սլայդի ներսում, որն այնուհետև պտուտակվում է փոխարկիչի տուփի ներքևի մասում, որն ունի նաև կափարիչ, որը կարող է ծածկել այն:

Ես ավելացրել եմ մի փոքր Shoe Goo, որտեղ լարերը հանդիպում են պատյաններին `լարերը պաշտպանելու համար: Եվ ես սոսնձեցի թիակների վրա «1» և «2» պիտակների վրա:

Քայլ 6: Գործողության եղանակներ

Գործողության ռեժիմներ
Գործողության ռեժիմներ
Գործողության ռեժիմներ
Գործողության ռեժիմներ

Թիակները ունեն երեք ռեժիմ: Դուք կարող եք փոխել ռեժիմը `սեղմելով կոճակների որոշակի համադրություն` դրանք միացնելով USB պորտին, արձակելով, երբ տախտակի LED- ները դադարում են բռնկվել: Գործողության ռեժիմը միացնելուց հետո այն կպահվի ֆլեշ հիշողության մեջ և կպահպանվի մինչև հաջորդ փոխելը: (Այսպիսով, եթե դուք չեք ցանկանում փոխել ռեժիմը, մի սեղմեք որևէ կոճակ, երբ թիակները միացնում եք USB պորտին): Ահա ընտրանքները.

  • Միայն ձախ թիավարման կոճակ. Մեկ երկկողմանի կոճակ `երկու կոճ, յուրաքանչյուր առանցքով և կոճակով վերահսկվում է մեկ թիակով: Ավելին, թիակները ճանաչվում են որպես Stelladaptor, դադարեցված USB ադապտեր Atari 2600 վերահսկիչների համար, և այդպիսով Atari 2600 էմուլյատորները, ինչպիսիք են Stella- ն և Z26- ը, որոնք համատեղելի են Stelladapter- ի հետ, պետք է կատարյալ աշխատեն:
  • Երկու թիավարման կոճակներ. Joyոյսթիկն ունի մեկ գործառնական կոճակ, և թիակը պտտելը ջոյստիկը տեղափոխում է անկյունագծով, այնպես որ կամ X- ը կամ Y առանցքը գործում է թիակի համար:
  • Միայն աջ թիավարման կոճակ. Թիակները ցուցադրվում են որպես երկու կոճակով բացարձակ մուկ: Այժմ դուք կարող եք նման կերպ օգտագործել Etch-a-Sketch- ը ՝ գծագրման ծրագրով:

Քայլ 7: Պոնգ

Պոնգ
Պոնգ
Պոնգ
Պոնգ

Պոնգը հիանալի օրիգինալ թիավարման խաղ էր: Ես խորհուրդ եմ տալիս օրիգինալ տարբերակը, քանի որ կլոնները հաճախ չեն կարողանում ներառել բոլոր գեղեցիկ նուրբ գործառույթները, ինչպես կրկնվող հարվածներով արագության փոփոխությունները, անկյունը փոխվում է ՝ կախված թիակի այն հատվածից, որը հարվածում է գնդակին, կամ նուրբ, բայց ոչ հեշտ կանխատեսելի դիրքից: մատուցումից բաց թողնելուց հետո: Բնօրինակի մանրակրկիտ վերլուծության համար տե՛ս այստեղ:

Պոնգ խաղալու լավագույն միջոցներից մեկը DICE- ի միացման մակարդակի էմուլյատորն է, եթե ձեր համակարգիչը բավականաչափ արագ է այն ամբողջ արագությամբ օգտագործելու համար: (Իմ Windows նոութբուքը, բայց Raspberry PI 3+ -ը չափազանց դանդաղ է): Ես խորհուրդ եմ տալիս 0.8 տարբերակը:

Եթե դուք օգտագործում եք Stelladaptor ռեժիմը թիավարում, գնացեք Կարգավորումներ | Կարգավորեք մուտքերը… DICE- ում և ընտրեք Joystick 1 և Absolute Player 1 Paddle- ի համար, և հորիզոնական և ուղղահայաց սահմանեք Joy 1 X-Axis: Հետո նույնն արեք Player 2 Paddle- ի դեպքում, բացառությամբ Y-Axis- ի:

Եթե ձեր համակարգիչը չափազանց դանդաղ է DICE- ի համար, ես պատրաստեցի Python3+pygame տարբերակ, որի ժամկետներն ու գործառույթները նախատեսված են շատ մոտ լինել բնօրինակ Pong- ին (ես երախտապարտ եմ այս հարցում դոկտոր Հյուգո Հոլդենի օգնության համար):

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