Turinys:
- 1 žingsnis: Valdymo mygtukų prijungimas prie „Arduino“
- 2 žingsnis: „Arduino Leonardo“kodavimas:
- 3 žingsnis:
- 4 žingsnis:
- 5 žingsnis:
- 6 žingsnis:
- 7 žingsnis:
- 8 žingsnis: judėjimo kodavimas vienybėje:
- 9 veiksmas:
- 10 veiksmas:
- 11 veiksmas:
- 12 žingsnis:
- 13 žingsnis:
- 14 žingsnis: prijunkite šviesas prie „Arduino“
- 15 žingsnis: „Arduino Uno“kodavimas
- 16 žingsnis:
- 17 žingsnis:
- 18 žingsnis: Šviesos kodavimo vienybės pusė:
- 19 žingsnis:
- 20 žingsnis:
- 21 žingsnis:
- 22 žingsnis:
- 23 žingsnis:
- 24 žingsnis:
Video: „Arduino“žaidimų valdiklis su žibintais, reaguojančiais į jūsų vienybės žaidimą :: 24 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Pirmiausia aš tai parašiau žodžiu. Tai pirmas kartas, kai naudoju instrukciją, todėl kiekvieną kartą, kai sakau: parašykite kodą taip, kad žinotumėte, jog turiu omenyje paveikslėlį šio veiksmo viršuje.
Šiame projekte aš naudoju 2 arduino, kad paleisčiau 2 atskirus kodo bitus, nes turėjau problemų, kad jis veiktų tik su vienu
Tai yra „Uno“ir „Leonardo“
iš viso to jums reikės norint įgyvendinti šį projektą.
· 7 mygtukai
· 23 trumpikliai
· 1 arduino Leonardo + USB kabelis
· 4 rezistoriai · 4 LED
· 1 arduino uno + USB kabelis
· 2 duonos lentos
1 žingsnis: Valdymo mygtukų prijungimas prie „Arduino“
Ko jums reikia norint sujungti šią dalį:
· 7 mygtukai
· 14 trumpiklių
· 1 arduino Leonardo + USB kabelis
· Bandomoji Lenta
Mygtukus yra gana paprasta prijungti, tačiau jie gali greitai tapti netvarka, kad būtų rodoma vaizdo forma.
· Pirmiausia padėkite mygtukus tose vietose, kurias pažymėjau aukščiau esančiame paveikslėlyje.
· Antra, norite prijungti megztinį iš arduino Leonardo žemės lizdo į minusinę duonos lentos eilę.
· Dabar prijunkite džemperius iš bet kurios minuso eilutės vietos iki eilutės, kuri atitinka jūsų dešiniojo mygtuko kaištį. tai maitins jį energija.
· Toliau norite prijungti trumpąjį laidą iš eilės, kuri atitinka kairįjį mygtuko kaištį, prie „Leonardo“skaitmeninių įvesties angų. Čia esantiems mygtukams naudojau 2 - 3 - 4 - 5 - 6 - 7- 8 lizdą
Aš parodžiau tik laidą, einantį į vaizdo įvestį 8, nes tai tampa labai netvarkingas vaizdas, rodantis visus laidus, kertančius vienas kitą.
2 žingsnis: „Arduino Leonardo“kodavimas:
Taigi norėčiau pasakyti, kodėl aš tam naudoju Leonardo. Dėl to, kad „Uno“neturi tam tikro lusto, kompiuteris jį atpažįsta kaip USB įvesties įrenginį. Panašiai kaip klaviatūra. Tai leidžia mums padaryti kažką, kas palengvina mūsų, kaip šio projekto programuotojų, gyvenimą. Klaviatūros emuliacija. Mes apgaudinėsime kompiuterį manydami, kad spaudžiame tam tikrus klaviatūros klavišus, kai iš tikrųjų spaudžiame savo valdiklio mygtukus.
Dabar aš eisiu, kaip jūs žingsnis po žingsnio galvojote apie kodą.
Pirmiausia viršuje įtraukiame klaviatūrą.h. Tai leis mums naudoti klaviatūros funkcijas, kurias naudosime savo kode.
3 žingsnis:
Tada turime apibrėžti skaitmeninius įvesties lizdus, kuriuos ketiname naudoti
Leonardo už kiekvieną mygtuką.
Aš taip pat pavadinau kiekvieną iš jų pagal raktą, kuriuo ketinu sekti.
4 žingsnis:
Iš ten mes einame į sąrankos funkciją. Tai pasakoja
arduino, ką jis daro paleidžiant.
pirmiausia parašome Serial.begin, kuris atidarys nuoseklųjį prievadą ir nustatys duomenų perdavimo spartą iki 9600 bps
ir mes apibrėžiame, kad visi įvardyti kaiščiai yra įėjimai.
5 žingsnis:
Ir galiausiai parašome savo ciklo funkciją, kuri patikrins, ar
spaudžiami mygtukai ir pasakykite arduino, kaip į tai reaguoti.
Pirmiausia parašome „Keyboard.begin“, kuris pasakys arduino, kad jam reikia mūsų ieškoti naudojant klaviatūros funkcijas
6 žingsnis:
Tada prie kiekvieno mygtuko parašome teiginį „if/else“, kuris yra toks
Taigi, ką aš pasakiau arduino, čia yra: Jei valdiklyje spaudžiamas mano kairysis mygtukas, priverskite kompiuterį manyti, kad mes spaudžiame „a“klavišą, o jei taip nėra, leiskite manyti, kad mes paleisime raktą.
Jūs iš esmės kartojate šį kodo bloką kiekvienam valdiklio mygtukui. su kiekvieno kintamojo pakeitimais ir raktais, kuriuos kintamasis turi imituoti
7 žingsnis:
Raktai, kuriuos liepėme kompiuteriui pataikyti, yra W - A - S - D
yra beveik judėjimo kompiuteriniuose žaidimuose ir E-Q standartas, o tarpo klavišas, kuris šiame kode yra atpažįstamas kaip „“, yra mygtukai, kuriuos naudoju, norėdamas pasiimti-atleisti ir suaktyvinti žaidimą. Nedvejodami pakeiskite juos į bet kokius, jūsų manymu, žaidimui/valdikliui tinkančius raktus.
Tada galiausiai liepiame arduino sustabdyti patikrinimą, kuris Keyboard.end
8 žingsnis: judėjimo kodavimas vienybėje:
Pirmiausia leiskite man pasakyti, kad tai darau 2d žaidimui
pavyzdžiai, kuriuos pamatysite, yra sukurti tam. Daugiausia reiškia, kur aš naudoju vektorių2, jei dirbate 3D, naudosite vektorių3. nes jums reikia nerimauti dėl papildomo 3D judesio aspekto.
Dabar priežastis, kodėl aš naudojau klaviatūros emuliaciją arduino pusėje, yra ta, kad „Unity“turi kažką sukurto, kad atpažintų klaviatūros klavišus, kuriuos galime naudoti.
Jei atidarote projektą vieningai, eikite į Redaguoti -> Projekto nustatymai -> Įvestis. Inspektoriuje galite pamatyti, kaip jis įjungia įvesties tvarkyklę. Kur spustelėjus ašis, galite pamatyti visą krūvą įvesties pavadinimų, kurie paprastai naudojami kompiuterių valdikliams, tokiems kaip dabar. Dvi įvestys, kurias naudosime, yra horizontalios ir vertikalios, kurios patikrins, ar atspėjote, ar tai W-A-S-D.
Pirmiausia norite sukurti objektą savo vienybės scenų hierarchijoje, kuris bus jūsų žaidėjas. Mano atveju, tai linksmas mažas vaikinas. Tai gali būti viskas, ko jums reikia, bet savo žaidimo tikslu aš padariau šį vaikiną.
9 veiksmas:
Jūs norite duoti šiam žaidėjui 2 dalykus. Dėžės susidūrėjas 2d ir
„Rigidbody 2d“ir redaguokite juos taip, kad būtų panašūs į aukščiau esantį vaizdą.
10 veiksmas:
Tada norite patekti į savo projektų aplanką ir sukurti
C# scenarijus. Kurį pavadinau „PlayerMovement“.
Šiame scenarijuje jūs apibrėžsite 2 kintamuosius. Viešas plūdė, kurią aš vadinu „moveSpeed“. Kuris nulems, kaip greitai eisi. Ir privatus „Rigidbody2D“, kurį aš vadinu „RigidPlayer“. Kuris ieškos jūsų žaidėjų tvirto kūno.
Nepamirškite patekti į savo vienybės redaktorių, spustelėkite savo grotuvą ir pridėkite šį naują scenarijų, vilkite jį į inspektorių ir nustatykite „moveSpeed“skaičiaus reikšmę.
11 veiksmas:
dabar savo „Start“() norite padaryti vieną dalyką ir tai padaryti
įsitikinkite, kad jūsų „RigidPlayer“gali rasti jūsų mokėtojo standųjį kūną 2d. Tai galite padaryti naudodami šią kodo eilutę:
12 žingsnis:
Tada pereiname prie atnaujinimo (). Štai kur mes einame
kad žaidėjas judėtų.
mes tai darome su gana paprastu teiginiu, kuriame bus apžvelgti neigiami ir teigiami raktai iš horizontalių (AD) ir vertikalių (SW) ir pritaikyti tai kaip skaičių, kad priverstinai uždėsime savo standųjį kūną 2d, kad įstumtume savo žaidėją kryptis. Šis skaičius bus padaugintas iš kintamojo „moveSpeed“.
13 žingsnis:
Galiausiai norite įsitikinti, kad jūsų grotuvas nustoja judėti
nieko nespaudi. Tau tai patinka:
Dabar, jei norite naudoti bet kuriuos kitus 3 mygtukus, kad tai padarytumėte naudodami šį if: if (Input. GetKeyDown (Keycode. Space))
tarpo klavišą ir vietoj tarpo įdėkite kitų klavišų raidę, kurią pasirinkote naudoti kitiems klavišams.
14 žingsnis: prijunkite šviesas prie „Arduino“
·
Ko jums reikia norint sujungti šią dalį:
· 9 jungiamieji laidai
· 4 rezistoriai
· 4 šviesos diodai
· 1 arduino uno + USB kabelis
· Bandomoji Lenta
Žibintų prijungimas bus atliekamas per „Uno“.
Galų gale jis atrodys taip, kaip aukščiau pateiktas vaizdas:
Prijunkite rezistorius prie ilgosios šviesos diodų pusės. Tada prijunkite trumpiklį nuo skaitmeninio kaiščio numerio ant uno prie rezistorių. šiuo atveju naudojau skaitmeninius kaiščių lizdus 9 -10 -11 -12, šie skaičiai bus svarbūs, kai gausime žibintų kodą.
Iš ten norite prijungti megztinį nuo „arduino Uno“antžeminio lizdo iki lentos vietos, kaip matyti iš juodos vielos aukščiau esančiame paveikslėlyje.
Tada norite, kad 4 trumpikliai būtų nukreipti į trumpą kiekvieno šviesos diodo galą
15 žingsnis: „Arduino Uno“kodavimas
Gerai, pirmiausia mes vėl nustatysime savo kintamuosius
Taigi pirmiausia kokius skaitmeninius įvestis naudojame žibintams. Ir mes padarysime anglišką pavadinimą „myCol“[20]
16 žingsnis:
Tada sąrankoje norime vėl atlikti „Serial.bin“. Įjunkite visus mūsų šviesos diodus ir išjunkite juos paleidžiant.
17 žingsnis:
Ir galiausiai norite parašyti savo ciklo funkciją.
Dėl to „Arduino“skaitys visus serijinius duomenis, kol įvyks vienas iš dviejų įvykių. Aptiktas eilutės tiekimo simbolis; tai identifikuojama pagal lf, kuris nustatytas į 10 ir yra pirmasis argumentas, arba buvo perskaityta tam tikra baitų dalis. Tai yra trečiasis argumentas ir šiame pavyzdyje nustatytas tik vienas baitas. Duomenys saugomi kintamajame „myCol“, kuris nustatytas kaip „char“ir 20. Arba kitas būdas tai paaiškinti yra Serial.readBytesUntil (terminatorCharacter, buffer, byteLimit);
Ir jei teiginiai užtikrins, kad kai vienybė duos signalą, užsidegs tam tikros lemputės. Šiuo atveju aš gavau 4 skirtingų spalvų lemputes, todėl vienybę siunčiu g, kad žalias šviesos diodas įsijungtų, b - mėlynas, r - raudonas, o y - geltonas šviesos diodas.
18 žingsnis: Šviesos kodavimo vienybės pusė:
Pirmiausia, prieš pradėdami tai daryti, du dalykai.
1. savo arduino kodavimo programoje eikite į Įrankiai -> Uostas -> ir patikrinkite, kuris COM yra jūsų un. Mano atveju jos COM3 (tai bus svarbu kode)
2. vienybėje Eikite į Redaguoti -> Projekto nustatymai -> Žaidėjas, tada inspektoriuje spustelėkite kitus nustatymus, eikite į Api suderinamumo lygį ir perjunkite jį iš. NET 2.0 potinklio į tiesiog. NET 2.0
Gerai, kad padaryta. Įeikime į tai.
Dešiniuoju pelės mygtuku spustelėkite savo hierarchiją ir spustelėkite Sukurti tuščią.
Tai bus tuščias žaidimo objektas, kuris tiesiog egzistuos jūsų žaidime, kad mums būtų pateiktas vienas scenarijus. Aš pavadinau šį objektą Init.
19 žingsnis:
Tada eikite į savo projektų skirtuką ir sukurkite naują C# scenarijų
ir pavadinkite tai siuntimu.
Pirmas dalykas, kurį jūs darote, yra parašyti šias eilutes kodo naudojimo skiltyse:
naudojant System. IO. Ports;
naudojant „System. Threading“;
todėl galime naudoti kintamąjį „SerialPort“
20 žingsnis:
šiame scenarijuje mes sudarysime šiuos kintamuosius. Dabar atkreipkite dėmesį, kad aš gavau COM3, tai jums gali būti kitaip, kaip aptarėme šio žingsnio pradžioje. Jei tai yra, pakeiskite 3 numeriu, kurį jis jums pasakė.
21 žingsnis:
Pradžioje nurodome naudoti scenarijų „OpenConnection“
funkcija, kurią mes šiek tiek parašysime
atnaujinimas yra daugiau testas nei bet kas, bet jei norite jį įtraukti, tai bus tikrinami pranešimai, siunčiami „unity“. Galite sąžiningai į tai nekreipti dėmesio.
22 žingsnis:
Gerai dabar šiai „OpenConnection“funkcijai. Tai tik didelis
jei/kitas teiginys, kuris palaiko ryšį, tiesiog nukopijuokite jį kaip parašytą ir jums viskas bus gerai.
23 žingsnis:
Dabar prisiminkite iš „arduino“kodo, kurį aš patikrinau
signalizuoja, kad vienybė jai pasiųs.
nu čia tai atsitinka. Mano atveju aš prijungiau 4 šviesas, todėl parašiau 4 funkcijas, kurios yra labai paprastos. Viskas, ką jie daro, yra tada, kai jiems paskambina, jie siunčia laišką arduino. Kai arduino gauna tą raidę, ji uždega šviesą, atitinkančią tą raidę.
24 žingsnis:
Jums gali kilti klausimas, kaip priversti jį taip pavadinti
funkcija? Na, jūs tai darote naudodami vieną paprastą eilutę bet kuriame kitame savo žaidime naudojamame c# scenarijuje. Siunčiamas. VardasFunkcija čia ();. Pavyzdžiui, mano žaidime žaidėjui pavesta surinkti 4 spalvotus rutuliukus. Taigi aš parašiau nedidelį scenarijų, kuris užtikrina, kad kai jis priartėja prie vieno ir paspaudžia dešinį mygtuką, jis jį paima ir jis siunčia arduino signalą, kad šiuo atveju buvo paimta geltona rutulė. Kad tai žinotų, gerai, aš turiu įjungti geltoną šviesos diodą:
Galite įdėti šią kodo eilutę bet kur, kur norite. Jei norite, kad jis užsidegtų žaidimo pradžioje, įjunkite jį į pradžios funkciją. Jei norite, kad jis užsidegtų, kai jis miršta, įtraukite tai į jūsų funkciją žaidėjų mirtimi. Eksperimentuokite šiek tiek. Aš pasirenku, kad žibintai taptų savotišku ui elementu už žaidimo ribų, kad galėčiau sekti gautus rutulius, kuriuos turite surinkti, neperkraudami ekrano.
Rekomenduojamas:
Automatinis „Google T Rex“žaidimų valdiklis naudojant „Arduino“: 7 žingsniai
Automatinis „Google T Rex“žaidimų valdiklis naudojant „Arduino“: leidžia jį sukurti
„Arduino“vaizdo žaidimų valdiklis: 4 žingsniai
„Arduino“vaizdo žaidimų valdiklis: Ar turite „Arduino“rinkinį, bet nežinote, ką su juo daryti? Galbūt ne, bet šioje instrukcijoje aš žingsnis po žingsnio parodysiu, kaip sukurti, koduoti ir integruoti „Arduino“į jūsų projektą. Šiuo metu šis vadovas yra tikrinamas tik naudojant „Clic“
„Arduino“žaidimų valdiklis: 5 žingsniai
„Arduino“žaidimų valdiklis: žaidimų valdiklis yra įrenginys, naudojamas vaizdo žaidimui įvesti, kad veikėjas ar objektas judėtų. Žaidimų valdiklio dizainas ir funkcionalumas yra lengvi ir tikrai suteiks jums nuostabią žaidimų patirtį, o tai bus daugiau
„Arduino“ritmo žaidimų valdiklis (mano žaidimui): 6 žingsniai
„Arduino“ritmo žaidimų valdiklis (mano paties žaidimui): Šioje instrukcijoje aš jums parodysiu, kaip aš sukuriu šį ritmo žaidimų valdiklį nuo nulio. Tai apima pagrindinius medžio apdirbimo įgūdžius, pagrindinius 3D spausdinimo įgūdžius ir pagrindinius litavimo įgūdžius. Tikriausiai galite sėkmingai sukurti šį projektą, jei neturite nulio
„Arduino“pagrindu sukurtas „pasidaryk pats“žaidimų valdiklis - „Arduino PS2“žaidimų valdiklis - Žaidimas „Tekken“naudojant „pasidaryk pats“„Arduino“žaidimų pultą: 7 žingsniai
„Arduino“pagrindu sukurtas „pasidaryk pats“žaidimų valdiklis | „Arduino PS2“žaidimų valdiklis | Žaidimas „Tekken“naudojant „pasidaryk pats“„Arduino Gamepad“: Sveiki, vaikinai, žaisti žaidimus visada smagu, tačiau žaisti su savo „pasidaryk pats“žaidimo valdikliu yra smagiau. Taigi, mes padarysime žaidimų valdiklį naudodami „arduino pro micro“šioje instrukcijoje