Kazalo:
- 1. korak: Priključitev nadzornih gumbov na Arduino
- 2. korak: Kodiranje Arduino Leonarda:
- 3. korak:
- 4. korak:
- 5. korak:
- 6. korak:
- 7. korak:
- 8. korak: Kodiranje gibanja v enotnosti:
- 9. korak:
- 10. korak:
- 11. korak:
- 12. korak:
- 13. korak:
- Korak 14: Priključitev luči na Arduino
- Korak 15: Kodiranje Arduino Uno
- 16. korak:
- 17. korak:
- 18. korak: Enota kodiranja luči:
- 19. korak:
- 20. korak:
- 21. korak:
- 22. korak:
- 23. korak:
- 24. korak:
Video: Arduino krmilnik iger z lučmi, ki se odzivajo na vašo igro Unity :: 24 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Najprej sem to zapisal z besedo. To je prvič, da uporabljam navodila, zato vsakič, ko rečem: napišite kodo, tako da veste, da se sklicujem na sliko na vrhu tega koraka.
V tem projektu uporabljam 2 arduina za izvajanje dveh ločenih kodov, saj sem imel težave pri delovanju samo z enim
To sta Uno in Leonardo
vse to je tisto, kar potrebujete za pripravo tega projekta.
· 7 gumbov
· 23 mostičnih žic
· 1 kabel arduino Leonardo + USB
· 4 upori · 4 LED
· 1 kabel arduino uno + usb
· 2 plošči
1. korak: Priključitev nadzornih gumbov na Arduino
Kaj boste morali povezati s tem delom:
· 7 gumbov
· 14 mostičnih žic
· 1 kabel arduino Leonardo + USB
· Mizo
Gumbi so precej preprosti za priključitev, vendar lahko hitro postanejo zmešnjave za prikaz v obliki slike.
· Najprej postavite gumbe na položaje, ki sem jih označil na zgornji sliki.
· Drugič, želite priključiti skakalca iz talne reže na arduinu Leonardo v minus vrstico na plošči.
· Zdaj povežete skakalce od kjer koli v minus vrstici do vrstice, ki je v skladu z desnim zatičem gumba. to mu bo dalo moč.
· Nato želite povezati mostiček iz vrstice, ki je v skladu z levim zatičem vašega gumba, za Leonardove digitalne vhodne reže. Za gumbe sem uporabil režo 2 - 3 - 4 - 5 - 6 - 7- 8
Pokazal sem samo žico, ki gre na vhod 8 na sliki, ker postane zelo grda slika, ki prikazuje vse žice, ki se križajo.
2. korak: Kodiranje Arduino Leonarda:
Zato, da vam povem, zakaj za to uporabljam Leonarda. Ker Uno nima določenega čipa, ga računalnik prepozna kot vhodno napravo USB. Podobno kot tipkovnica. Kar nam omogoča, da naredimo nekaj, kar nam kot programerjem olajša življenje. Emulacija tipkovnice. Računalnik bomo zavedli, da pritiska na določene tipke na tipkovnici, medtem ko dejansko pritisnemo gumbe na krmilniku.
Zdaj bom hodil po korakih, ko ste pomislili na kodo.
Najprej vse do vrha vključimo Keyboard.h. To nam bo omogočilo uporabo funkcij tipkovnice, ki jih bomo uporabljali v naši kodi.
3. korak:
Nato moramo definirati reže za digitalni vhod, ki jih bomo uporabili na
Leonardo za vsak gumb.
Vsakega izmed njih sem poimenoval tudi po ključu, ki ga bom posnemal.
4. korak:
Od tam preidemo v nastavitveno funkcijo. To pove
arduino, kaj počne ob zagonu.
najprej napišemo Serial.begin, ki bo odprl serijska vrata in nastavil hitrost prenosa podatkov na 9600 bps
in definiramo, da so vsi imenovani zatiči vhodi.
5. korak:
In na koncu napišemo našo funkcijo zanke, ki bo preverila, če
pritisnete gumbe in povejte arduinu, kako se na to odzvati.
Najprej napišemo Keyboard.begin, ki bo arduinu povedal, da mora paziti na nas s funkcijami tipkovnice
6. korak:
Nato za vsak gumb napišemo stavek if/else, ki gre takole
Torej, kar sem povedal arduinu tukaj: Če pritisnem levo tipko na krmilniku, naj računalnik misli, da pritiskamo tipko "a", in če temu ni tako, naj pomisli, da smo tipko izpustili.
Ta blok kode v bistvu ponovite za vsak gumb na krmilniku. s spremembami za vsako spremenljivko in ključi, ki jih mora spremenljivka posnemati
7. korak:
Ključi, ki smo jih povedali računalniku, da pritisnejo tukaj, so W - A - S - D, ki
so precej standard za gibanje v računalniških igrah in E-Q-in preslednica, ki je v tej kodi prepoznana kot "", ki so gumbi, ki jih uporabljam za dvig-zavrnitev in sprožitev v igri. Spremenite jih na vse tipke, za katere menite, da bolje delujejo za vašo igro/krmilnik.
Nazadnje povemo arduinu, naj ustavi preverjanje, ki ga Keyboard.end
8. korak: Kodiranje gibanja v enotnosti:
Najprej vam povem, da to delam za 2d igro
primeri, ki jih boste videli, so narejeni za to. Predvsem pomeni, da če uporabljam vector2, če delate v 3d, boste uporabili vector3. ker bi morali skrbeti za dodatno dimenzijo gibanja v 3d.
Zdaj sem uporabil emulacijo tipkovnice na strani arduino, ker ima Unity nekaj vgrajenega za prepoznavanje tipk na tipkovnici, ki jih lahko uporabljamo.
Če projekt odprete v enotnosti, pojdite na Uredi -> Nastavitve projekta -> Vnos. V svojem inšpektorju lahko vidite, da zažene upravitelja vnosov. Kjer, če kliknete na Osi, lahko vidite, da se odpre cel kup vhodnih imen, ki se običajno uporabljajo za krmilnike računalnikov, kot so tisti, ki jih izdelujemo zdaj. Dva vhoda, ki jih bomo uporabili, sta vodoravna in navpična, ki preverjata, ali ste uganili W-A-S-D.
Najprej želite narediti predmet v hierarhiji prizorov enotnosti, ki bo vaš igralec. V mojem primeru sem tako zabaven fant. To je lahko vse, kar potrebujete, toda za namen moje igre sem tega fanta naredil.
9. korak:
Igralcu želite dati 2 stvari. Škatlasti trkalnik 2d in
a Rigidbody 2d in jih uredite tako, kot je na zgornji sliki.
10. korak:
Nato želite iti v mapo svojih projektov in ustvariti datoteko
Skript C#. Ki sem ga poimenoval PlayerMovement.
V tem skriptu boste definirali dve spremenljivki. Javni plovec, ki mu pravim moveSpeed. Kar bo določilo, kako hitro greste. In zasebni Rigidbody2D, ki mu pravim RigidPlayer. Kar bo vašim igralcem pomenilo trdno telo.
Ne pozabite priti do urejevalnika enotnosti, kliknite na predvajalnik in dodajte ta novi skript tako, da ga povlečete v inšpektor in nastavite številčno vrednost za moveSpeed.
11. korak:
zdaj v svojem Start () želite narediti eno stvar in to je to
Poskrbite, da bo vaš RigidPlayer našel vašega plačnika rigidbody 2d. To naredite z naslednjo vrstico kode:
12. korak:
Nato preidemo na update (). Tukaj gremo
da se igralec premakne.
to naredimo s precej preprosto izjavo if, ki bo gledala na negativne in pozitivne ključe iz vodoravnega (AD) in navpičnega (SW) in to uporabila kot številko, da bomo prisilili naše trdno telo 2d, da potisne našega igralca smer. To število bo pomnoženo s spremenljivko moveSpeed.
13. korak:
Nazadnje se želite prepričati, da se vaš predvajalnik neha premikati, ko
nič ne pritisneš. To vam je všeč tako:
Zdaj, če želite uporabiti svoje 3 druge gumbe za vse, kar storite s tem stavkom if: if (Input. GetKeyDown (Keycode. Space))
za preslednico in namesto presledka vnesite črko drugih tipk, ki ste jih izbrali za druge tipke.
Korak 14: Priključitev luči na Arduino
·
Za povezovanje tega dela boste potrebovali:
· 9 mostičnih žic
· 4 upori
· 4 LED
· 1 kabel arduino uno + usb
· Mizo
Priključitev luči bo izvedena prek sistema Uno.
Na koncu bo videti takole na zgornji sliki:
Upor priključite na dolgo stran LED. Nato priključite mostiček z digitalne številke pin na enoti na upor. v tem primeru sem uporabil digitalne reže za pin 9 -10 -11 -12. Te številke bodo pomembne, ko pridemo do kode za luči.
Od tam želite priključiti skakalec iz talne reže na vašem arduino Uno na mesto na deski, kot je prikazano s črno žico na zgornji sliki.
Potem želite imeti 4 mostičke, ki vodijo v kratek konec vsake LED
Korak 15: Kodiranje Arduino Uno
Najprej bomo spet opredelili naše spremenljivke
Torej najprej katere digitalne vhode uporabljamo za luči. Naredili bomo char z imenom myCol [20]
16. korak:
Nato v nastavitvah želimo znova narediti Serial.begin. Vklopite vse LED diode na izhodu in jih izklopite ob zagonu.
17. korak:
In končno želite napisati svojo funkcijo zanke.
To bo povzročilo, da bo Arduino prebral vse podatke, ki prihajajo skozi serijo, dokler se ne zgodi eden od dveh dogodkov. Zaznan je znak za vnos vrstice; to je označeno z lf, ki je nastavljeno na 10 in je prvi argument ali je bila prebrana določena količina bajtov. To je tretji argument in za ta primer je nastavljen na samo en bajt. Podatki so shranjeni v spremenljivki myCol, ki je nastavljena na char in omejitev 20. V readBytesUntil je to drugi argument. Ali drug način za razlago je Serial.readBytesUntil (terminatorCharacter, medpomnilnik, byteLimit);
Izjave if bodo zagotovile, da se določene luči prižgejo, ko enotnost odda signal. V tem primeru imam 4 različne barvne luči, zato enotnost pošljem g za vklop zelene LED, b za vklop modre LED, r za vklop rdeče LED in y za vklop rumene LED.
18. korak: Enota kodiranja luči:
Preden se lotimo tega, najprej poglej dve stvari.
1. v svojem programu za kodiranje arduino pojdite na Orodje -> Vrata -> in me preverite, na katerem COM -ju je vaš uno. V mojem primeru njegov COM3 (to bo pomembno v kodi)
2. v enotnosti Pojdite na Uredi -> Nastavitve projekta -> Predvajalnik, nato v inšpektorju kliknite na druge nastavitve, pojdite na raven združljivosti Api in ga preklopite iz podomrežja. NET 2.0 v samo. NET 2.0
Okej, to je narejeno. Pojdimo vanjo.
Z desno miškino tipko kliknite svojo hierarhijo in kliknite Ustvari prazno.
To bo prazen predmet igre, ki bo samo obstajal v vaši igri in bo imel za nas en skript. Ta predmet sem poimenoval Init.
19. korak:
Nato pojdite na zavihek »projekti« in ustvarite nov skript C#
in ga pokličete Pošiljam.
Prva stvar, ki jo naredite, je, da v vrstice v razdelkih svoje kode zapišete te vrstice:
z uporabo System. IO. Ports;
z uporabo System. Threading;
zato lahko uporabimo spremenljivko SerialPort
20. korak:
v tem skriptu bomo naredili naslednje spremenljivke. Upoštevajte, da sem tam dobil COM3. To je lahko za vas drugačno, kot smo razpravljali na začetku tega koraka. Če je 3, ga zamenjajte s številko, ki vam jo je napisal.
21. korak:
Na začetku povemo, da naj bodo skripti OpenConnection
funkcijo, ki jo bomo še napisali
posodobitev je bolj preizkus kot karkoli drugega, če pa jo želite vključiti, preizkusite sporočila, ki se pošiljajo enoti. Lahko bi ga pošteno prezrli.
22. korak:
Ok zdaj za to funkcijo OpenConnection. To je samo velik
if/else stavek, ki ohranja povezavo odprto, jo samo kopirajte, kot je napisano, in bi morali biti v redu.
23. korak:
Zdaj se spomnite kode arduino, ki sem jo preveril
signalizira, da mu bo enotnost poslala.
no, tukaj se to zgodi. V mojem primeru sem priklopil 4 luči, zato sem napisal 4 zelo preproste funkcije. Vse, kar počnejo, je, ko jih pokličejo in pošljejo pismo na arduino. Ko arduino dobi to črko, zasveti lučka, ki ustreza omenjeni črki.
24. korak:
Morda se sprašujete, kako naj to pokličem
funkcijo? To naredite z eno preprosto vrstico v katerem koli drugem skriptu c#, ki ga uporabljate za igro. Sending. NameFunctiontukaj ();. Tako na primer v moji igri ima igralec nalogo, da zbere 4 barvne krogle. Zato sem napisal majhen scenarij, ki poskrbi, da ga, ko se približa enemu in pritisne desni gumb, pobere in ta pošlje signal arduinu, da je v tem primeru rumena krogla pobrana. Da ve, oke, moram prižgati rumeno LED:
To vrstico kode lahko postavite kamor koli želite. Če želite, da zasveti, ko se igra začne, jo vstavite v funkcijo zagona. Če želite, da zasveti, ko umre, dajte to v svojo funkcijo za smrt igralcev. Malo eksperimentirajte. Odločil sem se, da bodo luči zunaj igre nekakšen element uporabniškega vmesnika, da bom spremljal krogle, ki jih morate zbrati, ne da bi obremenjeval zaslon.
Priporočena:
Arduino krmilnik video iger: 4 koraki
Arduino krmilnik video iger: Ali imate komplet Arduino, vendar ne veste, kaj storiti z njim? Morda ne, toda v tem navodilu vam bom korak za korakom pokazal, kako zgraditi, kodirati in integrirati Arduino v svoj projekt. Ta priročnik je trenutno preizkušen samo s klikom
Arduino krmilnik iger: 5 korakov
Arduino krmilnik iger: krmilnik iger je naprava, ki se uporablja za vnos v videoigro, da se lik ali predmet premakne. Oblikovanje in funkcionalnost igralnega krmilnika sta enostavna in zagotovo vam bosta dala neverjetno izkušnjo igranja iger, bolj pa bo
Arduino DIY krmilnik za igre - Arduino PS2 krmilnik iger - Predvajanje Tekkena z igralno ploščo Arduino DIY: 7 korakov
Arduino DIY krmilnik za igre | Arduino PS2 krmilnik iger | Igranje Tekken z igralno ploščo DIY Arduino: Pozdravljeni, igranje iger je vedno zabavno, vendar je igranje s svojim lastnim krmilnikom iger po meri bolj zabavno. Zato bomo v tem navodilu naredili krmilnik za igre z uporabo arduino pro micro
Krmilnik PS4 in shranjevanje iger: 5 korakov
Krmilnik PS4 in shranjevanje iger: Dolgo sem se boril s shranjevanjem dodatne opreme za PS4. Živim v majhni sobi in površine, ki jih imam, običajno zaseda veliko stvari, večinoma vse moje škatle za igre in krmilniki. V enem od razredov v šoli
Skriti prostor - krmilnik avdio iger: 5 korakov (s slikami)
Skriti prostor - krmilnik avdio iger: V tej vadnici bomo izdelali krmilnik iger za avdio igro. Igra je razvita z Unityjem. Poskuša ustvariti vmesnik za igre, ki ni na zaslonu, z omejenimi vizualnimi in večinoma zvočnimi informacijami. Igralec bo nosil