Orodha ya maudhui:

Mdhibiti wa Mchezo wa Arduino Na Taa Akijibu Mchezo Wako wa Umoja :: Hatua 24
Mdhibiti wa Mchezo wa Arduino Na Taa Akijibu Mchezo Wako wa Umoja :: Hatua 24

Video: Mdhibiti wa Mchezo wa Arduino Na Taa Akijibu Mchezo Wako wa Umoja :: Hatua 24

Video: Mdhibiti wa Mchezo wa Arduino Na Taa Akijibu Mchezo Wako wa Umoja :: Hatua 24
Video: How to user Makerfabs ESP32 3.5" TFT Capacitive Touch with Camera 2024, Novemba
Anonim
Mdhibiti wa Mchezo wa Arduino na Taa Akijibu Mchezo Wako wa Umoja
Mdhibiti wa Mchezo wa Arduino na Taa Akijibu Mchezo Wako wa Umoja

Kwanza niliandika jambo hili kwa neno. Hii ni mara yangu ya kwanza kutumia kufundisha kwa hivyo kila ninaposema: andika nambari kama vile ujue kwamba ninazungumzia picha iliyo juu ya hatua hiyo.

Katika mradi huu ninatumia 2 arduino's kuendesha bits 2 tofauti za nambari kwani nilikuwa na shida kuifanya ifanye kazi na moja tu

Hawa ni Uno na Leonardo

kwa jumla hii ndio utahitaji kuweka mkate kwenye mradi huu.

· Vifungo 7 vya kushinikiza

· 23 waya za kuruka

· 1 arduino Leonardo + kebo ya usb

· 4 vipinzani · 4 zilizoongozwa

· 1 arduino uno + kebo ya usb

· Bao 2 za mkate

Hatua ya 1: Kuunganisha vifungo vya Udhibiti kwa Arduino

Kuunganisha vifungo vya Udhibiti kwa Arduino
Kuunganisha vifungo vya Udhibiti kwa Arduino

Nini utahitaji kuunganisha sehemu hii:

· Vifungo 7 vya kushinikiza

· Waya 14 za kuruka

· 1 arduino Leonardo + kebo ya usb

· Ubao wa mkate

Vifungo ni rahisi sana kuunganisha lakini inaweza haraka kuwa fujo kuonyesha katika fomu ya picha.

· Kwanza wewe weka vifungo vya kushinikiza katika nafasi nilizozitia alama kwenye picha hapo juu.

· Pili unataka kunasa jumper kutoka kwenye ardhi yanayopangwa kwenye arduino Leonardo kwenye safu ya minus ya ubao wa mkate.

· Sasa unaunganisha kuruka kutoka mahali popote kwenye safu ya minus hadi safu ambayo inalingana na pini ya kulia ya kitufe cha kushinikiza. hii italisha nguvu kwake.

· Ifuatayo unataka kuunganisha waya ya kuruka kutoka safu ambayo inaambatana na pini ya kushoto ya kitufe chako cha kushinikiza kwenye nafasi za kuingiza za dijiti za Leonardo. Kwa vifungo hapa nilitumia slot 2 - 3 - 4 - 5 - 6 - 7- 8

Nilionyesha tu waya kwenda kuingiza 8 kwenye picha sababu inakuwa picha ya fujo kukuonyesha waya zote zikivuka.

Hatua ya 2: Kuandika Arduino Leonardo:

Kuandika juu ya Arduino Leonardo
Kuandika juu ya Arduino Leonardo

Kwa hivyo kukuambia sababu ninayotumia Leonardo kwa hili. Ni kwa sababu ina chip fulani ambayo Uno haifanyi ambayo inafanya kompyuta kuitambua kama kifaa cha kuingiza usb. Mengi kama Ingekuwa kibodi. Ambayo inatuwezesha kufanya kitu ambacho hufanya maisha yetu kama waandaaji wa mradi huu kuwa jehanamu ya rahisi sana. Uigaji wa kibodi. Tutadanganya kompyuta kufikiria kuwa tunabonyeza funguo fulani kwenye kibodi wakati tunabonyeza vifungo kwenye kidhibiti chetu.

Sasa nitatembea ulifikiri nambari hiyo hatua kwa hatua.

Kwanza kabisa kwenda juu tunajumuisha Kinanda.h. Hii itaturuhusu kutumia kazi za kibodi ambazo tutatumia katika nambari yetu.

Hatua ya 3:

Picha
Picha

Halafu tunahitaji kufafanua nafasi za kuingiza za dijiti ambazo tutatumia kwenye

Leonardo kwa kila kifungo.

Nimewataja kila mmoja wao baada ya ufunguo nitakaoiga.

Hatua ya 4:

Picha
Picha

Kutoka hapo tunaingia kwenye kazi ya usanidi. Hii inamwambia

arduino inachofanya wakati wa kuanza.

kwanza tunaandika Serial.begin ambayo itafungua bandari ya serial na kuweka kiwango cha data hadi 9600 bps

na tunafafanua wote wamepewa pini kuwa pembejeo.

Hatua ya 5:

Picha
Picha

Na mwishowe tunaandika kazi yetu ya kitanzi ambayo itaangalia ikiwa

vifungo vinasisitizwa na kuwaambia arduino jinsi ya kujibu hilo.

Kwanza tunaandika Keyboard.begin ambayo itamwambia arduino kwamba anahitaji kutuangalia kwa kutumia kazi za kibodi

Hatua ya 6:

Picha
Picha
Picha
Picha
Picha
Picha

Halafu kwa kila kitufe tunaandika taarifa ya ikiwa / nyingine ambayo huenda kama hii

Kwa hivyo kile nilichomwambia arduino hapa ni: Ikiwa kitufe changu cha kushoto kinabanwa kwenye kidhibiti fanya kompyuta ifikirie tunabonyeza kitufe cha "a" na ikiwa sio hivyo fanya iwe kufikiria kwamba tumeacha ufunguo.

Kimsingi unarudia kizuizi hiki cha nambari kwa kila kitufe kwenye kidhibiti chako. na mabadiliko kwa kila kutofautisha na vitufe ambavyo anuwai inahitaji kuiga

Hatua ya 7:

Picha
Picha

Funguo tuliambia kompyuta ipigie hapa ni W - A - S - D ambayo

ni kiwango cha kawaida cha harakati katika michezo ya pc na E - Q - na spacebar ambayo katika nambari hii inatambuliwa kama '' ambayo ni vifungo ninavyotumia kuchukua - kufukuza na kuwasha moto kwenye mchezo wangu. Jisikie huru kubadilisha hizi kuwa funguo zozote unazohisi zinafanya kazi vizuri kwa mchezo / mtawala wako.

Halafu mwishowe tunawaambia arduino kuacha hundi ambayo Kinanda.end

Hatua ya 8: Harakati za Usimbuaji katika Umoja:

Harakati za Usimbuaji katika Umoja
Harakati za Usimbuaji katika Umoja

Kwanza kabisa nikuambie ninatengeneza hii kwa mchezo wa 2d hivyo

mifano unayoenda kuona imejengwa kwa hiyo. Maana haswa ambapo ninatumia vector2's ikiwa unafanya kazi katika 3d utatumia vector3's. kwa sababu utahitaji kuwa na wasiwasi juu ya mwelekeo wa ziada wa harakati katika 3d.

Sasa sababu ya mimi kutumia uigaji wa Kinanda upande wa arduino ni kwa sababu Umoja una kitu cha kujenga kutambua funguo kwenye kibodi ambacho tunaweza kutumia.

Ukifungua mradi wako kwa umoja nenda Hariri -> Mipangilio ya Mradi -> Ingizo. Unaweza kuona katika mkaguzi wako anaongeza meneja wa pembejeo. Ambapo ukibonyeza kwenye shoka unaweza kuona rundo zima la majina ya pembejeo yakifunguliwa ambayo kawaida hutumiwa kwa vidhibiti vya pc kama vile tunavyotengeneza sasa. Pembejeo 2 tunazotumia ni Horizontal na Wima ambayo hukagua ulikisia W-A-S-D.

Kwanza unataka kutengeneza kitu Katika safu yako ya umoja wa safu ambayo itakuwa mchezaji wako. Kwa upande wangu kuwa mtu huyu mdogo wa kufurahisha. Hii inaweza kuwa chochote unachohitaji iwe lakini kwa kusudi la mchezo wangu nilimfanya mtu huyu.

Hatua ya 9:

Picha
Picha

Unataka kumpa mchezaji huyu vitu 2. Kikusanyiko cha sanduku 2d na

Rigidbody 2d na uhariri kuwa kama picha hapo juu.

Hatua ya 10:

Picha
Picha

Kisha unataka kwenda kwenye folda ya miradi yako na uunda faili ya

C # hati. Ambayo nilipa jina PlayerMovement.

Katika hati hii utafafanua vigeuzi 2. Kuelea kwa umma ambayo ninaiita hojaSpeed. Ambayo itaamua jinsi unavyoenda haraka. Na Rigidbody2D ya kibinafsi ambayo ninaiita RigidPlayer. Ambayo itatafuta wachezaji wako rigidbody.

Usisahau kufika kwa mhariri wako wa umoja bonyeza kichezaji chako ongeza hati hii mpya kwa kuikokota kwa mkaguzi na uweke nambari ya nambari ya kusongaSpeed.

Hatua ya 11:

Picha
Picha

sasa katika Start () yako unataka kufanya jambo moja nalo ni kufanya

hakikisha RigidPlayer yako inaweza kupata mlipaji wako rigidbody 2d. Unafanya hivyo kwa laini ifuatayo ya nambari:

Hatua ya 12:

Picha
Picha

Kisha tunaendelea na sasisho (). Hapa ndipo tunakoenda

kumfanya mchezaji ahame.

tunafanya hivyo kwa rahisi sana ikiwa taarifa ambayo itaangalia funguo hasi na chanya kutoka Horizontal (AD) na Vertical (SW) na tuzitumie kama nambari ya kulazimisha tutavaa rigidbody 2d yetu kushinikiza mchezaji wetu mwelekeo. Nambari hiyo itazidishwa na kutofautisha kwa kasi.

Hatua ya 13:

Picha
Picha

Mwishowe unataka kuhakikisha kuwa mchezaji wako anaacha kusonga wakati

haubonyei chochote. Hii unapenda hivi:

Sasa ikiwa unataka kutumia vifungo vyako vingine 3 kwa chochote unachofanya na hii ikiwa taarifa: ikiwa (Input. GetKeyDown (Keycode. Space))

kwa mwambaa wa nafasi na badala ya nafasi weka herufi ya funguo zingine ulizochagua kutumia kwa funguo zingine.

Hatua ya 14: Kuunganisha Taa kwa Arduino

Kuunganisha Taa kwa Arduino
Kuunganisha Taa kwa Arduino

·

Nini utahitaji kuunganisha sehemu hii:

· 9 waya za kuruka

· Vipinga 4

· 4 zilizoongozwa

· 1 arduino uno + kebo ya usb

· Ubao wa mkate

Kuunganishwa kwa taa kutafanywa kupitia Uno.

Itaishia kuonekana kama picha hii hapo juu:

Unaunganisha vipinga kwa upande mrefu wa LED. Halafu unaunganisha jumper kutoka kwa nambari ya pini ya dijiti kwenye uno hadi vipinga. katika kesi hii nilitumia alama za pini za dijiti 9 - 10 -11 -12 nambari hizi zitafaa tutakapofikia nambari ya taa.

Kutoka hapo unataka kuunganisha jumper kutoka kwenye slot ya ardhi kwenye arduino Uno yako hadi mahali kwenye bodi yako kama inavyoonekana na waya mweusi kwenye picha hapo juu.

Halafu unataka kuwa na wanarukaji 4 wote wanaongoza kwenye mwisho mfupi wa kila LED

Hatua ya 15: Kuandika Arduino Uno

Kuweka alama kwa Arduino Uno
Kuweka alama kwa Arduino Uno

Kwanza kabisa tutafafanua vigeuzi vyetu tena

Kwa hivyo kwanza ni pembejeo gani za dijiti tunazotumia taa zetu. Na tutafanya char inayoitwa myCol [20]

Hatua ya 16:

Picha
Picha

Kisha katika usanidi tunataka kufanya Serial.anza tena. Weka LED zetu zote kwenye Pato na uzime zote wakati wa kuanza.

Hatua ya 17:

Picha
Picha

Na mwishowe unataka kuandika kazi yako ya kitanzi.

Hii itasababisha Arduino kusoma katika data yoyote inayoingia kupitia serial hadi moja ya hafla mbili zitatokea. Ama tabia ya kulisha laini hugunduliwa; hii inatambuliwa na lf ambayo imewekwa kwa 10 na ndio hoja ya kwanza au idadi fulani ya ka zimesomwa ndani. Hii ni hoja ya tatu na kwa mfano huu imewekwa kwa ka moja tu. Takwimu zimehifadhiwa kwenye myCol inayobadilika, ambayo imewekwa kwa char na kikomo cha 20. Katika readBytesMpaka hii ni hoja ya pili. Au njia nyingine ya kuielezea ni Serial.readBytesUntil (terminatorCharacter, buffer, byteLimit);

Na ikiwa taarifa zitahakikisha taa kadhaa zinawashwa wakati umoja unatoa ishara. Katika kesi hii nilipata taa 4 za rangi tofauti kwa hivyo ninafanya umoja utume g kwa taa ya kijani kuwasha, b kwa taa ya bluu kuwasha, r kwa taa nyekundu kuwasha na y kwa taa ya manjano kuwasha.

Hatua ya 18: Upandaji wa Taa za Unasaji wa Coding:

Upande wa Taa za Kuweka Coding
Upande wa Taa za Kuweka Coding

Oke vitu 2 kwanza kabla hatujaingia katika hii.

1. katika mpango wako wa usimbuaji wa arduino nenda kwenye Zana -> Bandari -> na unichungulie ambayo COM yako yako iko. Kwa upande wangu COM3 (hii itakuwa muhimu katika nambari)

2. kwa umoja Nenda kwa Hariri -> Mipangilio ya Mradi -> Kichezaji kisha kwenye mkaguzi bofya kwenye mipangilio mingine nenda kwa Kiwango cha utangamano wa Api na ubadilishe kutoka kwa. NET 2.0 subnet hadi tu. NET 2.0

Oke hiyo imefanywa. Wacha tuingie ndani.

Bonyeza kulia juu ya uongozi wako na bonyeza Unda tupu.

Hii itakuwa kitu tupu cha mchezo ambacho kitakuwepo tu kwenye mchezo wako kutushikilia hati moja. Nimeita kitu hiki Init.

Hatua ya 19:

Picha
Picha

Kisha nenda kwenye kichupo cha miradi yako na unda hati mpya ya C #

na kuiita Kutuma.

Jambo la kwanza unalofanya ni kuandika hizi kwa mistari katika sehemu za kutumia nambari yako:

kutumia Bandari za System. IO;

kutumia Mfumo. Kukanyaga;

hii inafanya hivyo ili tuweze kutumia tofauti ya SerialPort

Hatua ya 20:

Picha
Picha

katika hati hii tutafanya vigeuzi vifuatavyo. Sasa kumbuka nimepata COM3 kuna hii inaweza kuwa tofauti kwako kama tulivyojadili mwanzoni mwa hatua hii. Ikiwa inachukua nafasi ya 3 na nambari iliyokuambia.

Hatua ya 21:

Picha
Picha

Mwanzoni tunaambia hati itumike ni OpenConnection

kazi ambayo tutaandika kidogo

sasisho ni jaribio zaidi basi chochote lakini ikiwa unataka kuijumuisha ni kujaribu ujumbe unaotumwa kwa umoja. Unaweza kuipuuza kwa uaminifu.

Hatua ya 22:

Picha
Picha

Oke sasa kwa kazi hii ya OpenConnection. Hii ni kubwa tu

ikiwa / kingine taarifa ambayo inaweka unganisho wazi ingia tu kama ilivyoandikwa na unapaswa kuwa sawa.

Hatua ya 23:

Picha
Picha

Sasa Kumbuka kutoka kwa nambari ya arduino ambayo niliifanya ichunguzwe

ishara kwamba umoja utatuma kwake.

vizuri hapa ndipo inapotokea. Katika kesi yangu nilipata taa 4 zilizounganishwa kwa hivyo niliandika kazi 4 ambazo ni rahisi sana. Wote wanafanya ni wakati wanaitwa wanapeleka barua kwa arduino. Wakati arduino anapopata barua hiyo inawasha taa inayolingana na barua hiyo.

Hatua ya 24:

Picha
Picha

Labda unajiuliza ni jinsi gani ninaipata kuita hii

kazi? Kweli unaifanya kwa laini moja rahisi katika maandishi yako yoyote ya c # unayotumia kwa mchezo wako. Kutuma. NameFunctionhere ();. Kwa hivyo kwa mfano kwenye mchezo wangu mchezaji anapewa jukumu la kukusanya orbs 4 za rangi. Kwa hivyo niliandika maandishi kidogo ambayo inahakikisha kwamba anapofika karibu na moja na kubonyeza kitufe cha kulia anaichukua na hutuma ishara kwa arduino kwamba katika kesi hii orb ya Njano imechukuliwa. Ili ijue, ni lazima nipate kuwasha taa ya Manjano:

Unaweza kuweka mstari mmoja wa nambari mahali popote unapopenda. Ikiwa unataka iwe wazi wakati mchezo unapoanza kuiweka katika kazi ya kuanza. Inataka iweze kuwaka wakati akifa iweke katika kazi yako kwa kifo cha wachezaji. Jaribu karibu kidogo. Ninachagua kufanya taa iwe aina ya ui nje ya mchezo ili kuweka wimbo wa orbs unazopaswa kukusanya bila kusongesha skrini.

Ilipendekeza: