Satura rādītājs:
- 1. solis: savienojiet vadības pogas ar Arduino
- 2. darbība: Arduino Leonardo kodēšana:
- 3. darbība:
- 4. solis:
- 5. darbība
- 6. darbība:
- 7. darbība:
- 8. darbība: kustību kodēšana vienotībā:
- 9. darbība
- 10. darbība:
- 11. darbība:
- 12. solis:
- 13. darbība
- 14. solis: gaismas pieslēgšana Arduino
- 15. solis: Arduino Uno kodēšana
- 16. darbība:
- 17. darbība:
- 18. darbība. Gaismas kodēšanas vienotības puse:
- 19. darbība:
- 20. darbība:
- 21. darbība:
- 22. darbība:
- 23. darbība:
- 24. darbība:
Video: Arduino spēļu kontrolieris ar gaismām, kas reaģē uz jūsu vienotības spēli :: 24 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Vispirms es to uzrakstīju vārdos. Šī ir pirmā reize, kad izmantoju pamācību, tāpēc ikreiz, kad saku: uzrakstiet kodu tā, lai zinātu, ka es atsaucos uz attēlu šī soļa augšdaļā.
Šajā projektā es izmantoju 2 arduino, lai palaistu 2 atsevišķus koda bitus, jo man bija grūtības panākt, lai tas darbotos tikai ar vienu
Tie ir Uno un Leonardo
Kopumā tas ir tas, kas jums būs nepieciešams, lai pārietu uz šo projektu.
· 7 spiedpogas
· 23 džemperu vadi
· 1 arduino Leonardo + USB kabelis
· 4 rezistori · 4 LED
· 1 arduino uno + USB kabelis
· 2 maizes dēļi
1. solis: savienojiet vadības pogas ar Arduino
Lai savienotu šo daļu, jums būs nepieciešams:
· 7 spiedpogas
· 14 džemperu vadi
· 1 arduino Leonardo + USB kabelis
· Maizes dēlis
Pogas ir diezgan vienkārši savienojamas, taču tās var ātri kļūt par putru, lai tās parādītu attēla formā.
· Vispirms ievietojiet spiedpogas tajās pozīcijās, kuras es atzīmēju attēlā iepriekš.
· Otrkārt, jūs vēlaties savienot džemperi no zemes slota uz arduino Leonardo maizes dēļa mīnus rindā.
· Tagad jūs savienojat džemperus no jebkuras vietas mīnus rindā līdz rindai, kas atbilst jūsu spiedpogas labajam tapam. tas baros to ar spēku.
· Tālāk vēlaties savienot džemperu vadu no rindas, kas atbilst spiedpogas kreisajam tapam, Leonardo digitālajām ievades ligzdām. Šeit esošajām pogām es izmantoju slotu 2 - 3 - 4 - 5 - 6 - 7- 8
Vadā parādīju tikai attēla 8. ievadi, jo tas kļūst par ļoti netīru attēlu, lai parādītu visus vadus, kas šķērso viens otru.
2. darbība: Arduino Leonardo kodēšana:
Tāpēc es jums pastāstīšu iemeslu, kāpēc es izmantoju Leonardo. Tas ir tāpēc, ka tam ir noteikta mikroshēma, kuras Uno nav, tāpēc dators to atpazīst kā USB ievades ierīci. Līdzīgi kā ar tastatūru. Kas ļauj mums darīt kaut ko tādu, kas padara mūsu kā šī projekta programmētāju dzīvi elles daudz vieglāku. Tastatūras emulācija. Mēs ļausim datoram iedomāties, ka mēs nospiežam noteiktus tastatūras taustiņus, patiesībā nospiežot mūsu kontroliera pogas.
Tagad es staigāšu, jūs soli pa solim domājāt par kodu.
Vispirms augšpusē ir iekļauta tastatūra.h. Tas ļaus mums izmantot tastatūras funkcijas, kuras mēs izmantosim savā kodā.
3. darbība:
Tad mums ir jādefinē digitālās ievades vietas, kuras mēs izmantosim
Leonardo par katru pogu.
Es arī nosaucu katru no tiem pēc atslēgas, ar kuru es līdzināšos.
4. solis:
No turienes mēs nokļūstam iestatīšanas funkcijā. Tas stāsta
arduino, ko tas dara palaišanas laikā.
vispirms mēs rakstām Serial.begin, kas atvērs seriālo portu un iestatīs datu pārraides ātrumu līdz 9600 bps
un mēs definējam, ka visi nosaukti tapas ir ievadi.
5. darbība
Un visbeidzot mēs uzrakstām mūsu cilpas funkciju, kas pārbaudīs, vai
pogas tiek nospiestas un pasakiet arduino, kā uz to reaģēt.
Vispirms mēs rakstām Keyboard.begin, kas pateiks arduino, ka viņam ir jārūpējas par mums, izmantojot tastatūras funkcijas
6. darbība:
Tad katrai pogai mēs uzrakstām if/else paziņojumu, kas ir šāds
Tātad, ko es teicu arduino:
Jūs būtībā atkārtojat šo koda bloku katrai kontroliera pogai. ar izmaiņām katram mainīgajam un taustiņiem, kuriem ir jāatdarina
7. darbība:
Atslēgas, kuras mēs teicām datoram, lai šeit iesit, ir W - A - S - D kuras
ir diezgan daudz kustību standarts datorspēlēs un E-Q-un atstarpes taustiņš, kas šajā kodā ir atpazīts kā "", kuras ir pogas, kuras es izmantoju, lai paņemtu-atlaistu un aktivizētu savā spēlē. Jūtieties brīvi mainīt tos uz jebkuriem taustiņiem, kas, jūsuprāt, darbojas labāk jūsu spēlei/kontrolierim.
Visbeidzot mēs sakām arduino, lai apturētu pārbaudi, kura Keyboard.end
8. darbība: kustību kodēšana vienotībā:
Vispirms ļaujiet man jums pateikt, ka es to veidoju 2d spēlei
piemēri, kurus jūs redzēsit, ir paredzēti tam. Galvenokārt tas nozīmē, kur es izmantoju vektoru2, ja strādājat 3D formātā, jūs izmantosit vektoru3. jo jums būtu jāuztraucas par to, ka esmu 3D kustībā papildu dimensija.
Tagad iemesls, kāpēc es izmantoju tastatūras emulāciju arduino pusē, ir tāpēc, ka Unity ir kaut kas iebūvēts, lai atpazītu tastatūras taustiņus, kurus mēs varam izmantot.
Ja atverat savu projektu vienotībā, dodieties uz Rediģēt -> Projekta iestatījumi -> Ievads. Jūs varat redzēt savā inspektorā, ka tas sāk ievades pārvaldnieku. Ja, noklikšķinot uz asīm, var redzēt, ka tiek atvērts viss ievades nosaukumu kopums, ko parasti izmanto datoru kontrolieriem, piemēram, tiem, kurus mēs pašlaik veidojam. Divas ieejas, kuras mēs izmantosim, ir horizontālas un vertikālas, kuras pārbaudīja, vai jūs to uzminējāt W-A-S-D.
Vispirms jūs vēlaties izveidot objektu jūsu vienotības ainu hierarhijā, kas būs jūsu spēlētājs. Manā gadījumā es esmu šis jautrais puisis. Tas var būt viss, kas jums nepieciešams, bet savas spēles nolūkā es izveidoju šo puisi.
9. darbība
Jūs vēlaties dot šim spēlētājam 2 lietas. Kastes sadursme 2d un
a Rigidbody 2d un rediģējiet tos, lai tie būtu līdzīgi iepriekš redzamajam attēlam.
10. darbība:
Pēc tam vēlaties iedziļināties projektu mapē un izveidot
C# skripts. Ko es nosaucu par PlayerMovement.
Šajā skriptā jūs definēsit 2 mainīgos. Publisks pludiņš, ko es saucu par moveSpeed. Kas noteiks, cik ātri jūs brauksit. Un privāts Rigidbody2D, ko es saucu par RigidPlayer. Kas meklēs jūsu spēlētājus stingri.
Neaizmirstiet nokļūt vienotības redaktorā, noklikšķiniet uz atskaņotāja, lai pievienotu šo jauno skriptu, velkot to pie inspektora, un iestatiet numura vērtību kustībai.
11. darbība:
tagad savā Start () jūs vēlaties darīt vienu lietu, un tas ir
pārliecinieties, ka jūsu RigidPlayer var atrast jūsu maksātāja rigidbody 2d. Jūs to darāt, izmantojot šādu koda rindu:
12. solis:
Tad mēs pārietam uz atjauninājumu (). Šeit mēs ejam
lai spēlētājs kustētos.
mēs to darām ar diezgan vienkāršu paziņojumu, kurā tiks aplūkotas negatīvās un pozitīvās atslēgas no horizontālās (AD) un vertikālās (SW), un to izmantosim kā skaitli, lai piespiestu, mēs uzliksim savu stingro ķermeni 2d, lai iespiestu spēlētāju. virziens. Šis skaitlis tiks reizināts ar mainīgo moveSpeed.
13. darbība
Visbeidzot, jūs vēlaties pārliecināties, vai atskaņotājs pārstāj kustēties
tu neko nespied. Tas jums patīk šādi:
Tagad, ja vēlaties izmantot savas 3 citas pogas, lai to izdarītu, izmantojot šo paziņojumu: if (Input. GetKeyDown (Keycode. Space))
atstarpes taustiņu un atstarpes vietā ievietojiet citu taustiņu burtu, kuru izvēlējāties izmantot citiem taustiņiem.
14. solis: gaismas pieslēgšana Arduino
·
Lai savienotu šo daļu, jums būs nepieciešams:
· 9 džemperu vadi
· 4 rezistori
· 4 gaismas diodes
· 1 arduino uno + USB kabelis
· Maizes dēlis
Gaismu savienošana tiks veikta, izmantojot Uno.
Galu galā tas izskatīsies šādi:
Jūs savienojat rezistorus ar gaismas diodes garo pusi. Un tad jūs pievienojat džemperi no digitālā tapas numura uz uno līdz rezistoriem. šajā gadījumā es izmantoju ciparu tapu slotus 9 -10 -11 -12 šie skaitļi būs aktuāli, kad nonāksim pie gaismas koda.
No turienes jūs vēlaties savienot džemperi no arduino Uno zemes slota uz vietu uz tāfeles, kā redzams ar melno vadu attēlā.
Tad jūs vēlaties, lai 4 džemperi novietotu katras gaismas diodes īsajā galā
15. solis: Arduino Uno kodēšana
Labi, vispirms mēs atkal definēsim savus mainīgos
Tātad vispirms, kuras digitālās ieejas mēs izmantojam savām gaismām. Un mēs izveidosim simbolu ar nosaukumu myCol [20]
16. darbība:
Pēc tam iestatīšanas laikā mēs vēlamies sākt Serial.begin. Ielieciet visas mūsu gaismas diodes uz izeju un ieslēdzot tās izslēdziet.
17. darbība:
Un visbeidzot jūs vēlaties uzrakstīt savu cilpas funkciju.
Tas liks Arduino izlasīt visus datus, kas tiek ievadīti sērijveidā, līdz notiek viens no diviem notikumiem. Tiek konstatēts vai nu līnijas plūsmas raksturs; to identificē ar lf, kas ir iestatīts uz 10 un ir pirmais arguments vai ir nolasīts noteikts daudzums baitu. Šis ir trešais arguments, un šim piemēram ir iestatīts tikai viens baits. Dati tiek glabāti mainīgajā myCol, kas ir iestatīts uz char un ierobežojums 20. In readBytesUltil šis ir otrais arguments. Vai cits veids, kā to izskaidrot, ir Serial.readBytesUntil (terminatorCharacter, buffer, byteLimit);
Un, ja paziņojumi nodrošinās, ka dažas gaismas iedegas, kad vienotība dod signālu. Šajā gadījumā man ir 4 dažādu krāsu gaismas, tāpēc es lieku vienotībai nosūtīt g, lai iedegtos zaļā gaismas diode, b, lai iedegtos zilā gaismas diode, r, lai iedegtos sarkanā gaismas diode un y, lai iedegtos dzeltenā gaismas diode.
18. darbība. Gaismas kodēšanas vienotības puse:
Oke 2 lietas, pirms mēs iedziļināties šajā.
1. savā arduino kodēšanas programmā dodieties uz Rīks -> Ports -> un pārbaudiet, kurš COM ir ieslēgts. Manā gadījumā tā COM3 (tas būs svarīgi kodā)
2. vienotībā Dodieties uz Rediģēt -> Projekta iestatījumi -> Spēlētājs, pēc tam inspektorā noklikšķiniet uz citiem iestatījumiem, dodieties uz Api saderības līmeni un pārslēdziet to no. NET 2.0 apakštīkla uz tikai. NET 2.0
Labi, tas ir izdarīts. Iedziļināsimies tajā.
Ar peles labo pogu noklikšķiniet uz savas hierarhijas un noklikšķiniet uz Izveidot tukšu.
Tas būs tukšs spēles objekts, kas vienkārši eksistēs jūsu spēlē, lai turētu mums vienu skriptu. Es nosaucu šo objektu par Init.
19. darbība:
Pēc tam atveriet cilni Projekti un izveidojiet jaunu C# skriptu
un nosauciet to par sūtīšanu.
Pirmā lieta, ko jūs darāt, ir rakstīt šīs rindiņas koda izmantošanas sadaļās:
izmantojot System. IO. Ports;
izmantojot System. Threading;
tāpēc mēs varam izmantot mainīgo SerialPort
20. darbība:
šajā skriptā mēs izveidosim šādus mainīgos. Tagad ņemiet vērā, ka es tur saņēmu COM3, tas jums varētu būt citādi, kā mēs apspriedām šī soļa sākumā. Ja tas ir, nomainiet 3 ar skaitli, ko tas jums teica.
21. darbība:
Sākumā mēs sakām, ka skripts ir OpenConnection
funkcija, kuru mēs nedaudz uzrakstīsim
atjauninājums ir vairāk tests, bet viss, bet, ja vēlaties to iekļaut, tas ir jāpārbauda ziņojumiem, kas tiek nosūtīti vienotībai. Jūs varētu to godīgi ignorēt.
22. darbība:
Labi tagad šai OpenConnection funkcijai. Šis ir tikai liels
Ja/cits paziņojums, kas saglabā savienojumu atvērtu, vienkārši nokopējiet to, kā rakstīts, un jums vajadzētu būt kārtībā.
23. darbība:
Tagad atcerieties no arduino koda, kuru es pārbaudīju
signalizē, ka tai sūtīs vienotību.
nu šeit tas notiek. Manā gadījumā man bija pieslēgtas 4 gaismas, tāpēc es uzrakstīju 4 funkcijas, kas ir ārkārtīgi vienkāršas. Viss, ko viņi dara, ir tad, kad viņiem piezvana, viņi nosūta vēstuli arduino. Kad arduino saņem šo burtu, tas iedegas šim burtam atbilstošajai gaismai.
24. darbība:
Jums varētu rasties jautājums, kā panākt, lai to tā sauc
funkcija? Jūs to darāt ar vienu vienkāršu līniju jebkurā citā c# skriptā, ko izmantojat savai spēlei. Sūta. NameFunctionhere ();. Piemēram, manā spēlē spēlētājam ir uzdots savākt 4 krāsainas lodes. Tāpēc es uzrakstīju nelielu skriptu, kas nodrošina, ka, kad viņš pietuvojas vienam un nospiež labo pogu, viņš to paņem un tas nosūta arduino signālu, ka šajā gadījumā dzeltenā lode ir pacelta. Lai tas zinātu, man jāieslēdz dzeltenā gaismas diode:
Jūs varētu ievietot šo vienu koda rindu jebkurā vietā. Ja vēlaties, lai tas iedegas spēles sākumā, ievietojiet to sākuma funkcijā. Ja vēlaties, lai tas iedegas, kad viņš nomirst, nododiet to jūsu funkcijai spēlētāju nāvei. Eksperimentējiet nedaudz. Es izvēlos padarīt gaismas par sava veida ui elementu ārpus spēles, lai sekotu līdzi savāktajām lodes, nepārblīvējot ekrānu.
Ieteicams:
DIY spēļu kontrolieris uz Arduino bāzes - Arduino PS2 spēļu kontrolieris - Spēlējot Tekken ar DIY Arduino Gamepad: 7 soļi
DIY spēļu kontrolieris uz Arduino bāzes | Arduino PS2 spēļu kontrolieris | Spēlēt Tekken ar DIY Arduino Gamepad: Sveiki, puiši, spēlēt spēles vienmēr ir jautri, bet spēlēt ar savu DIY pielāgoto spēļu kontrolieri ir jautrāk. Tāpēc šajā instrukcijā mēs izveidosim spēles kontrolieri, izmantojot arduino pro micro
Neopixel LED sloksne, kas reaģē uz Myoware muskuļu sensoru: 6 soļi
Neopixel LED sloksne reaģē uz Myoware muskuļu sensoru: Mērķis ir uzstādīt muskuļu sensoru ar Arduino palīdzību un apstrādāt ienākošos datus ar Adafruit IO un iegūt izvadi ar sprūdu tā, lai gaisma vienu minūti pārvērstos no baltas uz sarkanu. ir muskuļu sensors Muskuļu sensors
Arduino spēļu kontrolieris + vienotības spēle: 5 soļi
Arduino spēļu kontrolieris + vienotības spēle: šajā pamācībā es jums parādīšu, kā izveidot/programmēt arduino spēļu kontrolieri, kas var izveidot savienojumu ar vienotību
Vienkāršs vienotības kontrolieris: 5 soļi
Vienkāršs vienotības kontrolieris: apraksts Šis projekts ir ļoti vienkāršs kontrolieris, kas var dot ieguldījumu Unity, nospiežot pogas, kuras es izstrādāju, lai kontrolētu manu izveidoto spēli, kurā spēlētājs var iet pa kreisi un pa labi. Protams, jūs vienmēr varat to pielāgot, lai iegūtu vairāk kontroles. Nav n
Siltumnīcas projekts (RAS): uzraugiet elementus, kas reaģē uz mūsu stādījumu: 18 soļi (ar attēliem)
Siltumnīcas projekts (RAS): Uzraudzīt elementus, kas reaģē uz mūsu stādījumu: Šis projekts piedāvā uzraudzīt gaisa temperatūru, spožumu un mitrumu, kā arī birzs temperatūru un mitrumu. Tā arī ierosina izveidot šos pasākumus, kas ir tik nolasāmi vietnē Actoborad.com. Lai to izdarītu, mēs savienojam 4 sensorus ar N