Բովանդակություն:
- Քայլ 1. Միացրեք կառավարման կոճակները Arduino- ին
- Քայլ 2. Arduino Leonardo- ի կոդավորումը
- Քայլ 3:
- Քայլ 4:
- Քայլ 5:
- Քայլ 6:
- Քայլ 7:
- Քայլ 8. Միասնության մեջ շարժման կոդավորումը
- Քայլ 9:
- Քայլ 10:
- Քայլ 11:
- Քայլ 12:
- Քայլ 13:
- Քայլ 14: Միացրեք լույսերը Arduino- ին
- Քայլ 15. Arduino Uno- ի կոդավորումը
- Քայլ 16:
- Քայլ 17:
- Քայլ 18: Կոդավորման լույսեր Միասնության կողմ
- Քայլ 19:
- Քայլ 20:
- Քայլ 21:
- Քայլ 22:
- Քայլ 23:
- Քայլ 24:
Video: Arduino Game Controller With Lights Responding Your Unity Game :: 24 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
Սկզբում ես սա գրեցի բառով: Սա առաջին անգամն է, երբ ես օգտագործում եմ խրատելի, այնպես որ ամեն անգամ, երբ ասում եմ, գրեք կոդը այնպես, որ իմանաք, որ ես նկատի ունեմ այդ քայլի վերևի պատկերը:
Այս նախագծում ես օգտագործում եմ 2 arduino- ն ՝ 2 առանձին բիթ կոդ գործարկելու համար, քանի որ որոշակի խնդիր ունեի աշխատել միայն մեկի հետ
Սրանք են Ունոն և Լեոնարդոն
ընդհանուր առմամբ սա այն է, ինչ ձեզ հարկավոր է այս նախագիծը սահելու համար:
· 7 կոճակ
· 23 jumper լարեր
· 1 arduino Leonardo + USB մալուխ
· 4 դիմադրություն · 4 լուսարձակներ
· 1 arduino uno + USB մալուխ
· 2 տախտակ
Քայլ 1. Միացրեք կառավարման կոճակները Arduino- ին
Այս հատվածը միացնելու համար ձեզ հարկավոր է.
· 7 կոճակ
· 14 թռիչքային լարեր
· 1 arduino Leonardo + USB մալուխ
· Տախտակ
Կոճակները միացնելը բավականին պարզ է, բայց կարող են արագորեն խառնաշփոթ դառնալ պատկերների տեսքով ցուցադրելու համար:
· Առաջինը ձեզանից տեղադրեք կոճակները այն դիրքերում, որոնք ես նշեցի վերևի նկարի վրա:
· Երկրորդը, դուք ցանկանում եք arduino Leonardo- ի գետնանցումից ցատկիչը միացնել հացաթխման մինուս շարքում:
· Այժմ դուք միացնողներ միացնում եք մինուս տողի ցանկացած վայրից դեպի այն շարքը, որը համընկնում է ձեր կոճակի աջ սեղմակի հետ: սա ուժ կտա դրան:
· Հաջորդը, դուք ցանկանում եք մի jumper մետաղալար միացնել անընդմեջ, որը համընկնում է ձեր կոճակի ձախ քորոցին Լեոնարդոյի թվային մուտքի անցքերի հետ: Այստեղ կոճակների համար ես օգտագործել եմ անցք 2 - 3 - 4 - 5 - 6 - 7- 8
Ես միայն ցույց տվեցի, որ պատկերը մուտքագրում է 8 -ը, որովհետև այն դառնում է շատ խառնաշփոթ պատկեր ՝ ցույց տալու համար միմյանց անցնող բոլոր լարերը:
Քայլ 2. Arduino Leonardo- ի կոդավորումը
Այսպիսով, ձեզ ասելու համար, թե ինչու եմ ես օգտագործում Լեոնարդոյին դրա համար: Քանի որ այն ունի որոշակի չիպ, որը Uno- ն չունի, ինչը ստիպում է համակարգչին ճանաչել այն որպես USB մուտքային սարք: Շատ նման էր ստեղնաշարի: Դա մեզ թույլ է տալիս անել մի բան, որը մեր նախագծի ծրագրավորողների կյանքը շատ ավելի հեշտ է դարձնում: Ստեղնաշարի նմանակում: Մենք համակարգչին կխաբենք մտածելու, որ մենք սեղմում ենք ստեղնաշարի որոշակի ստեղներ, երբ իրականում սեղմում ենք մեր վերահսկիչի կոճակները:
Այժմ ես քայլելու եմ, կարծում եք, որ կոդը քայլ առ քայլ է:
Սկզբից մինչև վերջ, մենք ներառում ենք Keyboard.h: Սա թույլ կտա մեզ օգտագործել ստեղնաշարի գործառույթները, որոնք մենք կօգտագործենք մեր ծածկագրում:
Քայլ 3:
Այնուհետև մենք պետք է սահմանենք թվային մուտքի անցքերը, որոնք մենք պատրաստվում ենք օգտագործել
Լեոնարդո յուրաքանչյուր կոճակի համար:
Ես նաև նրանցից յուրաքանչյուրին անվանակոչել եմ այն բանալու անունով, որը ես պատրաստվում եմ ընդօրինակել:
Քայլ 4:
Այնտեղից մենք անցնում ենք տեղադրման գործառույթին: Սա պատմում է
arduino- ն ինչ է անում գործարկման ժամանակ:
նախ գրում ենք Serial.begin- ը, որը կբացի սերիական նավահանգիստը և տվյալների արագությունը սահմանում է 9600 բիթ / վրկ
և մենք սահմանում ենք, որ բոլոր անուններով կապում են մուտքեր:
Քայլ 5:
Եվ վերջապես, մենք գրում ենք մեր հանգույցի գործառույթը, որը կստուգի `արդյոք
կոճակները սեղմվում են և arduino- ին ասում, թե ինչպես արձագանքել դրան:
Սկզբում մենք գրում ենք Keyboard.begin- ը, որը arduino- ին կասի, որ նա պետք է հոգ տանի մեզ ՝ օգտագործելով ստեղնաշարի գործառույթները
Քայլ 6:
Այնուհետև յուրաքանչյուր կոճակի համար մենք գրում ենք if/else հայտարարությունը, որն այսպես է ընթանում
Այսպիսով, այն, ինչ ասացի arduino- ին այստեղ.
Դուք հիմնականում կրկնում եք կոդի այս բլոկը ձեր վերահսկիչի յուրաքանչյուր կոճակի համար: յուրաքանչյուր փոփոխականի փոփոխություններով և այն բանալիներով, որոնք պետք է ընդօրինակեն փոփոխականին
Քայլ 7:
Բանալիները, որոնք մենք ասացինք համակարգչին, որ այստեղ խփի, W - A - S - D են, որոնք
համակարգչային խաղերում և E-Q- ում տեղաշարժի չափանիշ են և տիեզերական տող, որն այս ծածկագրում ճանաչված է որպես «որոնք են այն կոճակները, որոնք ես օգտագործում եմ վերցնելու համար ՝ հեռացնել և կրակել իմ խաղում»: Ազատորեն փոխեք դրանք այն բանալիներով, որոնք զգում եք, որ ավելի լավ են աշխատում ձեր խաղի/վերահսկիչի համար:
Հետո, վերջապես, մենք arduino- ին ասում ենք, որ դադարեցնի Ստեղնաշարի ստուգումը: վերջ
Քայլ 8. Միասնության մեջ շարժման կոդավորումը
Նախ թույլ տվեք ասել ձեզ, որ ես դա պատրաստում եմ 2d խաղի համար
օրինակները, որոնք դուք կտեսնեք, դրա համար են ստեղծված: Հիմնականում նշանակում է, թե որտեղ եմ ես օգտագործում վեկտոր 2 -ը, եթե դուք աշխատում եք եռաչափում, ապա կօգտագործեք վեկտոր 3 -ը: քանի որ դուք պետք է անհանգստանաք շարժման լրացուցիչ չափի մասին 3d- ում:
Այժմ arduino- ի կողմից ստեղնաշարի նմանակումն օգտագործելու պատճառն այն է, որ Unity- ն կառուցված է ստեղնաշարի ստեղները ճանաչելու համար, որը մենք կարող ենք օգտագործել:
Եթե ձեր նախագիծը միասնաբար բացեք, գնացեք Խմբագրել -> settingsրագրի կարգավորումներ -> Մուտք: Ձեր տեսուչում կարող եք տեսնել, որ այն գործարկում է մուտքային կառավարիչը: Որտեղ, եթե սեղմում եք Axes- ի վրա, կարող եք տեսնել մուտքի անունների մի ամբողջ փունջ, որոնք սովորաբար օգտագործվում են համակարգիչների վերահսկիչների համար, ինչպիսին մենք այժմ պատրաստում ենք: 2 մուտքագրումները, որոնք մենք պատրաստվում ենք օգտագործել, հորիզոնական և ուղղահայաց են, որոնք, ըստ ձեզ, կռահեցիք, որ դա W-A-S-D է:
Նախ ցանկանում եք օբյեկտ դարձնել ձեր միասնության տեսարանների հիերարխիայում, որը կլինի ձեր նվագարկիչը: Իմ դեպքում այս զվարճալի փոքրիկ տղան լինելը: Սա կարող է լինել այն, ինչ ձեզ հարկավոր է, բայց իմ խաղի նպատակով ես ստեղծեցի այս տղային:
Քայլ 9:
Դուք ցանկանում եք այս խաղացողին տալ 2 բան: Տուփի բախիչ 2d և
a Rigidbody 2d և խմբագրել դրանք, որպեսզի նման լինեն վերը նշված պատկերին:
Քայլ 10:
Այնուհետև ցանկանում եք մտնել ձեր նախագծերի թղթապանակ և ստեղծել ա
C# սցենար: Որը ես անվանեցի PlayerMovement:
Այս սցենարում դուք պատրաստվում եք սահմանել 2 փոփոխական: Հասարակական բոց, որը ես անվանում եմ moveSpeed: Որը կորոշի, թե որքան արագ եք գնում: Եվ մասնավոր Rigidbody2D որը ես անվանում եմ RigidPlayer: Որը կփնտրի ձեր խաղացողներին rigidbody:
Չմոռանաք հասնել ձեր միասնության խմբագրիչին, կտտացրեք ձեր նվագարկիչին և ավելացրեք այս նոր սցենարը ՝ այն քարշ տալով տեսուչին և մի շարք արժեք սահմանեք moveSpeed- ի համար:
Քայլ 11:
այժմ ձեր Սկիզբում () ցանկանում եք անել մի բան, և դա անելն է
համոզվեք, որ ձեր RigidPlayer- ը կարող է գտնել ձեր վճարողի կարծր մարմինը 2d: Դուք դա անում եք կոդի հետևյալ տողով.
Քայլ 12:
Այնուհետեւ մենք անցնում ենք թարմացման (): Ահա թե ուր ենք գնում
խաղացողին ստիպել շարժվել:
մենք դա անում ենք բավականին պարզ, եթե մի հայտարարությամբ, որը կանդրադառնա հորիզոնական (մ.թ.) և ուղղահայաց (արևմուտք) բացասական և դրական ստեղներին և կկիրառի, որ ուժի համար մենք մեր կոշտ մարմնով 2 դնելու ենք մեր խաղացողին ներս մղելու համար: ուղղություն. Այդ թիվը բազմապատկվելու է moveSpeed փոփոխականով:
Քայլ 13:
Ի վերջո, ցանկանում եք համոզվել, որ երբ խաղացողը դադարում է շարժվել
դու ոչինչ չես սեղմում Սա ձեզ դուր է գալիս այսպես.
Այժմ, եթե ցանկանում եք օգտագործել ձեր 3 այլ կոճակները այն ամենի համար, ինչ անում եք այս if հայտարարությամբ. If (Input. GetKeyDown (Keycode. Space))
spacebar- ի համար և տիեզերքի փոխարեն դրեք մյուս ստեղների տառը, որը դուք ընտրել եք օգտագործել մյուս ստեղների համար:
Քայլ 14: Միացրեք լույսերը Arduino- ին
·
Այս հատվածը միացնելու համար ձեզ հարկավոր է.
· 9 jumper լարեր
· 4 դիմադրություն
· 4 led
· 1 arduino uno + USB մալուխ
· Տախտակ
Լապտերների միացումը կկատարվի Uno- ի միջոցով:
Այն կավարտվի վերևի այս պատկերի տեսքով.
Դուք ռեզիստորները միացնում եք LED- ների երկար կողմին: Այնուհետև միացրեք jumper- ը uno- ի թվային կապի համարից դեպի ռեզիստորներ: Այս դեպքում ես օգտագործել եմ թվային կապի slots 9 -10 -11 -12 այս թվերը տեղին կլինեն, երբ հասնենք լույսերի կոդին:
Այնտեղից դուք ցանկանում եք մի jumper կապել ձեր arduino Uno- ի գետնային անցքից դեպի ձեր տախտակի տեղը, ինչպես երևում է վերևում պատկերված սև մետաղալարով:
Այնուհետև ցանկանում եք ունենալ 4 թռիչք, որոնք բոլորն առաջնորդում են յուրաքանչյուր LED- ի կարճ ծայրին
Քայլ 15. Arduino Uno- ի կոդավորումը
Լավ, առաջին հերթին մենք նորից կսահմանենք մեր փոփոխականները
Այսպիսով, առաջին հերթին, թե որ թվային միջոցներն ենք օգտագործում մեր լույսերի համար: Եվ մենք պատրաստելու ենք myCol անունով ածուխ [20]
Քայլ 16:
Այնուհետև տեղադրման մեջ մենք ցանկանում ենք կրկին կատարել Serial.begin- ը: Տեղադրեք մեր բոլոր LED- ները Ելքի վրա և անջատեք դրանք բոլորը գործարկման ժամանակ:
Քայլ 17:
Եվ վերջապես, դուք ցանկանում եք գրել ձեր հանգույցի գործառույթը:
Սա կհանգեցնի նրան, որ Arduino- ն կկարդա սերիական միջոցով մուտքագրվող ցանկացած տվյալ, մինչև տեղի ունենա երկու իրադարձություններից մեկը: Կայքի հոսքի բնույթ է հայտնաբերվում. սա նույնականացվում է lf- ով, որը 10 է և առաջին արգումենտն է կամ կարդացվել է որոշակի քանակությամբ բայթ: Սա երրորդ փաստարկն է, և այս օրինակի համար սահմանվում է ընդամենը մեկ բայթ: Տվյալները պահվում են փոփոխական myCol- ում, որը դրված է char և 20 սահմանաչափ: ReadBytesUntil սա երկրորդ փաստարկն է: Կամ դա բացատրելու այլ եղանակ է Serial.readBytesUntil (terminatorCharacter, buffer, byteLimit);
Իսկ եթե հայտարարությունները կապահովեն, որ որոշակի լույսեր միանան, երբ միասնությունը ազդանշան տա: Այս դեպքում ես ստացա 4 տարբեր գույնի լույսեր, այնպես որ ես միասնություն եմ ուղարկում կանաչ LED- ի միացման համար, b- ի համար `կապույտ LED- ի, r- ի` կարմիր LED- ի և y- ի `դեղին LED- ի համար:
Քայլ 18: Կոդավորման լույսեր Միասնության կողմ
Oke 2 բան նախ նախքան դրան անդրադառնալը:
1. Ձեր arduino կոդավորման ծրագրում գնացեք Գործիք -> Պորտ -> և ստուգեք, թե որ COM- ում է ձեր uno- ն: Իմ դեպքում դրա COM3- ը (սա կարևոր կլինի ծածկագրում)
2. միասնության մեջ Գնացեք Խմբագրել -> settingsրագրի կարգավորումներ -> Խաղացող, այնուհետև տեսուչում կտտացրեք այլ պարամետրերին և անցեք Api համատեղելիության մակարդակ և անցեք այն. NET 2.0 ենթացանցից ընդամենը. NET 2.0
Լավ, դա ավարտված է: Եկեք մտնենք դրա մեջ:
Աջ սեղմեք ձեր հիերարխիայի վրա և կտտացրեք Ստեղծեք դատարկ:
Սա կլինի դատարկ խաղային օբյեկտ, որը պարզապես գոյություն կունենա ձեր խաղում `մեզ համար մեկ սցենար պահելու համար: Այս օբյեկտը ես անվանել եմ Init:
Քայլ 19:
Այնուհետև մտեք ձեր նախագծերի ներդիր և ստեղծեք նոր C# սցենար
և կոչեք այն Ուղարկում:
Առաջին բանը, որ դուք անում եք, ձեր կոդի օգտագործվող հատվածներում տողերին գրելն է.
օգտագործելով System. IO. Ports;
օգտագործելով System. Threading;
սա ստիպում է, որ մենք կարողանանք օգտագործել SerialPort փոփոխականը
Քայլ 20:
այս սցենարում մենք պատրաստվում ենք կատարել հետևյալ փոփոխականները: Այժմ նշեք, որ ես այնտեղ ստացել եմ COM3, սա ձեզ համար կարող է տարբեր լինել, ինչպես մենք քննարկեցինք այս քայլի սկզբում: Եթե այն փոխարինում է 3 -ը ձեզ համար նշված թվով:
Քայլ 21:
Սկզբում մենք ասում ենք, որ սցենարը պետք է օգտագործի OpenConnection
գործառույթ, որը մենք մի փոքր գրելու ենք
թարմացումն ավելի շատ փորձություն է, քան որևէ այլ բան, բայց եթե ցանկանում եք այն ներառել, ապա ստուգեք հաղորդագրությունները, որոնք ուղարկվում են միասնության: Դուք կարող եք անկեղծորեն անտեսել այն:
Քայլ 22:
Լավ հիմա, այս OpenConnection գործառույթի համար: Սա պարզապես մեծ է
if/else հայտարարությունը, որը կապը բաց է պահում, պարզապես պատճենեք այն գրվածի պես, և դուք լավ կլինեք:
Քայլ 23:
Այժմ հիշեք arduino կոդից, որի համար այն ստուգել եմ
ազդանշաններ, որ միասնությունը կուղարկի դրան:
լավ, սա այն է, որտեղ դա տեղի է ունենում: Իմ դեպքում ես 4 լուսարձակներ կապեցի, այնպես որ ես գրեցի չափազանց պարզ 4 գործառույթ: Նրանք անում են միայն այն, երբ իրենց զանգում են, նամակ են ուղարկում arduino- ին: Երբ arduino- ն ստանում է այդ տառը, այն լուսավորում է նշված տառին համապատասխան լույսը:
Քայլ 24:
Դուք կարող եք մտածել, թե ինչպես կարող եմ դա անվանել
գործառույթ? Դե, դա անում եք մեկ պարզ տողով ՝ ձեր ցանկացած այլ c# սցենարներում, որոնք օգտագործում եք ձեր խաղի համար: Sending. NameFunctionhere ();. Օրինակ ՝ իմ խաղում խաղացողին հանձնարարվում է հավաքել 4 գունավոր գունդ: Այսպիսով, ես գրեցի մի փոքրիկ սցենար, որը համոզված է, որ երբ նա մոտենում է մեկին և սեղմում աջ կոճակը, նա վերցնում է այն և այն ազդանշան է ուղարկում arduino- ին, որ այս դեպքում Դեղին գունդն արդեն վերցված է: Որպեսզի դա իմանա, լավ, ես պետք է միացնեմ Դեղին LED- ը.
Դուք կարող եք տեղադրել այս մեկ տող ծածկագիրը ցանկացած վայրում, որտեղ ցանկանում եք: Եթե ցանկանում եք, որ այն լուսավորվի, երբ խաղը սկսվի, տեղադրեք այն մեկնարկի գործառույթում: Wantանկանում եք, որ այն լուսավորվի, երբ նա մահանա, դա դարձրեք ձեր գործառույթը խաղացողների մահվան համար: Մի փոքր փորձարկեք: Ես ընտրում եմ, որ լույսերը խաղից դուրս մի տեսակ ui տարր դարձնեն, որպեսզի հետևեմ այն հավաքած գունդերին, որոնք հավաքել ես ՝ առանց էկրանը շաղ տալու:
Խորհուրդ ենք տալիս:
Ion Cooled System for Your Raspberry Pi Game Server !: 9 քայլ (նկարներով)
Ion Cooled System for Your Raspberry Pi Game Server! Hi Hi Makers! Որոշ ժամանակ անց ես ստացա Raspberry Pi- ն, բայց ես իսկապես չգիտեի, թե ինչ անել դրա հետ: Վերջերս Minecraft- ը կրկին հանրաճանաչություն ձեռք բերեց, ուստի ես որոշեցի ստեղծել Minecraft սերվեր իմ և իմ ընկերների համար, որոնք կարող են վայելել: Դե, պարզվեց, որ ես պարզապես եղել եմ
Arduino- ի վրա հիմնված DIY խաղի վերահսկիչ - Arduino PS2 Game Controller - Խաղալ Tekken- ով DIY Arduino Gamepad- ով ՝ 7 քայլ
Arduino- ի վրա հիմնված DIY խաղի վերահսկիչ | Arduino PS2 Game Controller | Խաղալ Tekken- ով DIY Arduino Gamepad- ով: Բարև տղերք, խաղերը միշտ զվարճալի են, բայց ձեր սեփական DIY հատուկ խաղի Controller- ով խաղալը ավելի զվարճալի է: Այսպիսով, մենք այս հրահանգների մեջ կդարձնենք խաղային վերահսկիչ ՝ օգտագործելով arduino pro micro:
Run Jump Game Using Unity, BT Arduino, Ուլտրաձայնային տվիչ ՝ 14 քայլ
Run Jump Game Using Unity, BT Arduino, Ultrasonic Sensor. Իմ միասնության նախագծի հաջողությունից հետո Unity Multiplayer 3D Hologram Game and Hologram Projector for PC, սա երկրորդ նախագիծն է միասնության մեջ: Այսպիսով, խաղի սկզբից մինչև վերջ ամբողջական նախագիծը ավարտելու համար ուսումնասիրելը շատ ժամանակ է պահանջում: Երբ սկսում եմ
Arduino Game Controller + Unity Game: 5 քայլ
Arduino Game Controller + Unity Game. Այս ուսանելի ծրագրում ես ձեզ ցույց կտամ, թե ինչպես կառուցել/ծրագրավորել arduino խաղի վերահսկիչ, որը կարող է միանալ միասնությանը:
Arduino Led Strip Controller Cool PC Lights- ի համար `5 քայլ
Arduino Led Strip Controller- ը Cool PC Lights- ի համար. Ես ստացել եմ այս սառը RGB led շերտը aliexpress- ից, և ես ուզում եմ այն օգտագործել համակարգչի լույսերի համար: Առաջին խնդիրը տաք է վերահսկել այն, թե ինչպես ուժ տալ նրան: Այս հրահանգավորումը ցույց է տալիս, թե ինչպես դա անել github arduino կոդով, աշխատանքային նախագծի տեսանյութով և քայլ առ քայլ