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

Պարզ միասնության վերահսկիչ ՝ 5 քայլ
Պարզ միասնության վերահսկիչ ՝ 5 քայլ

Video: Պարզ միասնության վերահսկիչ ՝ 5 քայլ

Video: Պարզ միասնության վերահսկիչ ՝ 5 քայլ
Video: Unity Playmaker - 3rd Person Controller and New Input System 2024, Նոյեմբեր
Anonim
Պարզ միասնության վերահսկիչ
Պարզ միասնության վերահսկիչ

Նկարագրություն

Այս նախագիծը շատ պարզ վերահսկիչ է, որը կարող է ներդրում ունենալ Unity- ին կոճակները սեղմելիս: Ես այն նախագծել եմ `վերահսկելու իմ պատրաստած խաղը, որտեղ խաղացողը կարող է գնալ աջ և ձախ: Իհարկե, դուք միշտ կարող եք հարմարեցնել այն ավելի շատ վերահսկողության համար: Կարիք չկա լրացուցիչ գրադարաններ օգտագործել:

Քայլ 1: Նյութեր

Անհրաժեշտ բաղադրիչներ

  • -Arduino 2x դիմադրություն
  • -[~ 220 Օմ
  • -Ալարեր
  • -2x կոճակներ
  • -Գրատախտակ

Քայլ 2: Breadboarding

Breadboarding
Breadboarding

Ես սկսեցի arduino GND նավահանգիստը միացնելով տախտակի ձախ կողմում բացասական (-) քորոցին, և 5V- ը միացնելով սեղանի աջ կողմում գտնվող դրական (+)-ին:

Դրանից հետո ես կոճակները դրեցի այն տեղում, որտեղ ցանկանում էի, որ լինի mto: Եվ դրանք միացրեց լարերի և դիմադրիչների միջոցով:

Քայլ 3. Arduino- ի կոդավորումը

Նախևառաջ պետք է Arduino- ի համար աշխատելու համար ինչ -որ կոդ գրել: Ես ծածկագրում եմ մեկնաբանություններ, որոնք բացատրում են, թե ինչ է դա անում:

// Հայտարարեք կապումներին, որոնց կոճակները միացված են:

const int buttonPin1 = 3; const int buttonPin2 = 4;

դատարկ կարգավորում ()

{// Սկսեք սերիական Serial.begin (9600); // Կարգավորեք կապումներն որպես ելք: pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

դատարկ շրջան ()

{// Կարդացեք կոճակի վիճակը, եթե (digitalRead (buttonPin1) == HIGH) {// տպեք այս տողը, եթե վիճակը բարձր է: Serial.println («Ձախ»); ուշացում (20); } if (digitalRead (buttonPin2) == HIGH) {// տպեք այս տողը, եթե վիճակը բարձր է: Serial.println («Աջ»); ուշացում (20); }}

Քայլ 4: Միասնություն

Եթե պատրաստ խաղ չունեք, այս ծածկագիրը կաշխատի ցանկացած խաղային օբյեկտի վրա միասնաբար:

եթե դա այդպես է, ապա շարժվելու համար ձեզ անհրաժեշտ կլինի խաղային օբյեկտ:

Պարզության համար մենք կստեղծենք խորանարդ ՝ գնալով GameObject-> 3D Object-> Cube

երբ խորանարդը հայտնվի ձեր տեսարանում, ընտրեք այն և սեղմեք «Ավելացնել բաղադրիչ» կոճակը և ստեղծեք նոր սցենար:

System. IO. Ports գրադարանը աշխատելու համար անհրաժեշտ կլինի նաև փոխել Api- ի համատեղելիության մակարդակը:

Դա անելու համար գնացեք Խմբագրել-> Settingsրագրի կարգավորումներ-> նվագարկիչ

ոլորեք ներքև այս ընտրացանկում մինչև չգտնեք Api համատեղելիության մակարդակը և ընտրեք. NET 2.0 փոխարեն. Net 2.0 ենթաբազմության

Այժմ դուք պատրաստ եք սկսել կոդավորումը:

օգտագործելով System. Collections; օգտագործելով System. Collections. Generic; օգտագործելով UnityEngine; օգտագործելով System. IO. Ports;

հանրային դաս PlayerMovement: MonoBehaviour

{հանրային բոց արագություն; բոց շարժում;

SerialPort sp = նոր SerialPort ("COM3", 9600);

դատարկ սկիզբ ()

{// Գործարկեք կոդը ՝ սերիական նավահանգիստը բացելու համար OpenSerialPort (); }

անվավեր OpenSerialPort ()

{// Բացեք սերիայի պորտը sp. Open (); sp. ReadTimeout = 1; }

դատարկ շարժում (լարերի ուղղություն)

{// Ստուգեք, թե որ ուղղությամբ է անցել arduino- ն, եթե (Ուղղություն == «Ձախ») {շարժում = -1; } if (Ուղղություն == "Աջ") {շարժում = 1; } // հաշվարկել այն գումարը, որով խաղային օբյեկտը կտեղափոխվի բոց թարգմանություն = շարժում * արագություն; // Շարժումը կիրառել gameobject transform. Translate (թարգմանություն, 0, 0); }

անվավեր թարմացում ()

{if (sp. IsOpen) {try {// մինչ սերիական պորտը բաց է, շարժի՛ր շարժման գործառույթը և անցի՛ր այն գիծը, որով Arduino- ն տպում է Շարժում (sp. ReadLine ()); } բռնել (System. Exception) {

}

}

} }

Քայլ 5: Վերջնական նշումներ

Ստուգեք, արդյոք ձեր բաղադրիչներն աշխատում են

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

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