Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Rukia Karibu
- Hatua ya 2: Kuunganisha pedi
- Hatua ya 3: Kuondoa Nuru Nzuri
- Hatua ya 4: Kuanzia Msimbo
- Hatua ya 5: Kubadilisha Mchezo
- Hatua ya 6: Kubadilisha Nambari ya Kuruka kwa Mchezaji
- Hatua ya 7: Kubadilisha Pato
- Hatua ya 8: Inafanya kazi
- Hatua ya 9: Kuandaa Chumba
- Hatua ya 10: Imekamilika
Video: Kuunda Kidhibiti cha Mchezo wa Kimwili: Hatua 10 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Wakati Nintendo Wii ilipozinduliwa wachezaji walihimizwa, hapana inahitajika, kuondoka kwenye sofa na kuruka, kucheza, na kuruka ili kupata alama kwenye mchezo wao wa kuchagua. Wakati kuna mwinuko wa kujifunza katika kujenga Wii, ni rahisi kujenga kifaa cha kawaida ambacho hukuruhusu kudhibiti mchezo kwa kuruka kwa pedi za shinikizo kwa wakati unaofaa.
Hii inaweza kufundisha jinsi nilivyobadilisha mchezo wa 'Space Bounce' (inayoweza kucheza moja kwa moja kwenye https://marquisdegeek.com/spacebounce/ na chanzo kwenye https://github.com/MarquisdeGeek/SpaceBounce) kutumia kidhibiti cha mwili.
Vifaa
- Arduino
- Mikeka miwili ya shinikizo (yangu ilitoka Maplin
- Vipinga viwili, kwa kitanda cha shinikizo (100 K, lakini nyingi ni sawa)
- LED mbili (hiari)
- Vipimo viwili, kwa LEDs (100 K, lakini nyingi ni sawa. Pia hiari)
- Laptop
Hatua ya 1: Rukia Karibu
Nilianza kwa kubuni kiolesura cha kuruka na, kupitia ukaguzi wa mchezo, niligundua kuwa kuwa na mikeka miwili ingeelezea wazo lake la msingi. Hiyo ni, unasimama kwenye mkeka wa kushoto kuiga hisia ya kushikilia ukuta wa kushoto na, kwa wakati unaofaa, ruka kwenye mkeka wa kulia, na mhusika wako wa skrini atafanya vivyo hivyo.
Hatua ya 2: Kuunganisha pedi
Kwa hivyo nilinunua mikeka miwili, na nikaanza kufanya kazi. Mikeka ya shinikizo iliyoonyeshwa hapa ni rahisi zaidi (na ya bei rahisi!) Nimepata, kwa $ 10 kila moja. Zina waya nne, mbili ambazo hufanya kama swichi rahisi: unaposimama kwenye mkeka, unganisho hufanywa, na unaporuka juu huvunjika. Nililisha hii ndani ya Arduino na mzunguko huu wa kimsingi.
Hatua ya 3: Kuondoa Nuru Nzuri
Ilifanya kazi, lakini haikuwa ya kutia moyo sana. Kwa hivyo, niliongeza LED zingine kuonyesha hali ya kila kitanda cha shinikizo.
LED hazihitajiki kucheza mchezo, lakini kwa kuziongeza kwenye mzunguko ningeweza kuona kwa urahisi kile mzunguko ulifikiri ilikuwa hali ya sasa. Kwa hivyo, ikiwa mchezo haukujibu kwa usahihi, ningeweza kujua ikiwa shida ilikuwa na mzunguko, programu ya Arduino, au mantiki ya mchezo.
Hatua ya 4: Kuanzia Msimbo
Kwa kuzingatia mchezo wa asili ulikuwa kwenye JavaScript, niliamua kuandika programu ya NodeJS ambayo inasikiliza mabadiliko katika hali ya kitanda cha shinikizo, na kutuma data kupitia visanduku vya wavuti kwa mteja wa mchezo.
Kwanza, weka firmata ya kawaida kwenye Arduino yako ili tuweze kuendesha seva ya Node kwenye PC na tumia maktaba ya Johnny Tano kusikiliza mabadiliko ya serikali kutoka Arduino. Kisha ongeza Express kuhudumia yaliyomo kwenye mchezo.
Nambari yote ya seva inaonekana kama hii:
const express = zinahitaji ('express');
programu ya const = express (); const http = zinahitaji ('http'); seva ya const = http.createServer (programu); const io = zinahitaji ('socket.io'). sikiliza (seva); const arduino = zinahitaji ('arduino-controller'); seva. sikiliza (3000, kazi () {console.log ('Sikiliza seva inasikiliza…');}); programu.use ('/', express.static ('app')); const tano = zinahitaji ("johnny-five"); bodi ya const = mpya tano. Bodi ({repl: false}); board.on ("tayari", kazi () {let green = new five. Led (5); let red = mpya tano. Led (6); let left = mpya tano. Pin (2); kulia = mpya tano Siri (3); err, val) => {if (val) {green.on ();} mwingine {green.off ();} ikiwa (val! == lastLeft) {lastLeft = val; let state = {side: 'left', state: val? 'down': 'up'} socket.emit ('arduino:: state', JSON.stringify (state), {for: 'everyone'});}}} tano. Pin.read (kulia, (err, val) => {if (val) {red.on ();} mwingine {red.off ();} // if (val! == lastRight) {lastRight = val; hebu hali = {upande: 'kulia', jimbo: val? 'chini': 'up'} soketi.emit ('arduino:: state', JSON.stringify (state), {for: 'everyone'});}})}); });
Na inaendeshwa na:
seva ya nodi
Hatua ya 5: Kubadilisha Mchezo
Shida ya kwanza ilikuwa kiolesura; unabofyaje kwenye kitufe cha kucheza wakati unachoweza kufanya ni kuruka? Nilitatua hii kwa kuondoa vifungo vingine vyote! Ninaweza kuchochea kitufe kilichobaki wakati wowote mchezaji anaruka, kwa kusikiliza tukio la 'up'.
tundu = io (); socket.on ('arduino:: state', function (msg) {let data = JSON.parse (msg); if (data.state === 'up') {// tunaruka!}}));
Kutoka hapa niliweza kuingia kwenye mchezo, na kutumia pedi kwa kitu cha kufurahisha zaidi - mchezo wenyewe.
Hatua ya 6: Kubadilisha Nambari ya Kuruka kwa Mchezaji
Wakati huu ningehitaji kushughulikia kila pedi peke yake, na kumfanya mhusika aanze kuruka wakati wowote mguu wa mchezaji unapoondoka kwenye pedi. Wakati wa mhusika kwenye skrini kuvuka shimoni la mgodi ni mrefu kuliko wakati wa mchezaji kuruka kutoka upande mmoja kwenda upande. Hili ni jambo zuri, kwani inampa mchezaji nafasi ya kupata tena usawa, angalia miguu yao, na angalia mchezaji akikamilisha kuruka kwenye skrini. Ikiwa hii isingekuwa hivyo, ningempunguza kasi mchezaji.
tundu = io ();
socket.on ('arduino:: state', kazi (msg) {
hebu data = JSON.parse (msg); ikiwa (data.side === 'left' && data.state === 'up') {// tunaruka kutoka upande wa kushoto}});
Hatua ya 7: Kubadilisha Pato
Pamoja na utaratibu wa kuingiza kazi, nilihitaji kufanya kazi kwenye pato. Mchezo unacheza vizuri kwenye kompyuta kibao au simu, kwa sababu inajaza skrini. Lakini, wakati unaruka karibu, ni ndogo sana kuona, kwa hivyo eneo la kucheza kwenye skrini linahitaji kupanuliwa. Mengi!
Kwa bahati mbaya, kupanua mali zote za kielelezo ni kazi inayotumia wakati mwingi. Kwa hivyo, nilidanganya! Kwa kuwa mchezo hauitaji kuelewa nafasi ya X, Y ya kubonyeza panya, au tukio la kugusa, ninaweza kuongeza tena turubai yote!
Hii ilihusisha utapeli kwenye CSS na JavaScript ili kitu kilichopo cha turubai cha HTML5 kiendeshe skrini kamili.
Kwa kuongezea, mchezo unachezwa katika hali ya picha ambayo ilimaanisha kutumia upeo wa mali isiyohamishika ya skrini tulihitaji kuzungusha turubai kwa digrii 90.
#SGXCanvas {
msimamo: kabisa; z-index: 0; badilisha: zunguka (-90deg); kubadilisha-asili: juu kulia; upana: auto; }
Hatua ya 8: Inafanya kazi
Kwa mchezo wangu wa kwanza nilielekeza kompyuta yangu ndogo upande wake, na nilicheza hivi.
Hatua ya 9: Kuandaa Chumba
Kujenga kidhibiti mwili ni mwanzo tu wa safari, sio mwisho. Sehemu iliyobaki ya mwili inahitaji kuzingatiwa.
Kwanza, mikeka ya shinikizo ilizunguka sakafuni wakati ulipotua juu yao. Hii ilirekebishwa kwa urahisi na pedi zingine zenye nene mbili. Wanafanya kazi vizuri, lakini labda hawatashikilia kuchakaa kwa machozi mengi.
Ifuatayo, laptop inaonekana kidogo, ambayo inakusumbua kutoka kwa mchezo yenyewe. Kwa hivyo, Televisheni kutoka kwenye chumba cha kupumzika "ilikopwa" na kupelekwa kwa MakerSpace ya ndani, ambapo ilikuwa imewekwa kwenye ukuta na kuunganishwa.
Katika siku za usoni ingekuwa nzuri kuongeza nyayo kwenye mikeka ya shinikizo (labda ya kuchapa mwezi wa kwanza wa Neil Armstrong!) Kuongoza mchezaji. Pia kuweka bora na kuzunguka kwa Runinga kungeongeza kwa kujisikia. Labda wale walio na wakati na nafasi nyingi wangeweza kutengeneza uso wa mwamba wa karatasi, uliowekwa upande wowote wa mikeka, kuiga hisia ya claustrophobic ya kuanguka chini ya shimoni la mgodi!
Hatua ya 10: Imekamilika
Na hapo unayo. Mradi rahisi wa siku ambao huongeza mchezo wa asili, na hukuweka sawa wakati unacheza!
Unaweza pia kutumia Makey Makey ambayo inaiga moja kwa moja mitambo ya kushinikiza inayotumiwa kwenye mchezo wa asili, ili kupunguza kazi hii. Lakini hiyo imesalia kama zoezi kwa msomaji:)
Nambari yote iko katika tawi maalum katika repo ya Space Bounce:
Ilipendekeza:
Kuunda Kidhibiti cha MIDI cha Arduino: Hatua 9 (na Picha)
Kuunda Kidhibiti cha MIDI cha Arduino: Mafundisho haya yalichapishwa mwanzoni kwenye blogi yangu mnamo Juni 28, 2020. Ninafurahiya vitu vya kujumuisha ambavyo vinajumuisha vifaa vya elektroniki, na kila wakati nilitaka kujenga kitu kwa kutumia Arduino. Moja ya ujenzi wa kawaida kwa Kompyuta niliyoipata Mdhibiti wa MIDI.
Kidhibiti cha Kijijini cha Kivinjari cha Arduino (linux): Hatua 9 (na Picha)
Kidhibiti cha Kijijini cha Kivinjari cha Arduino (linux): Tuna watoto. Nawapenda kwa bits lakini wanaendelea kuficha rimoti kwa setilaiti na TV wanapoweka vituo vya watoto. Baada ya haya kutokea kila siku kwa miaka kadhaa, na baada ya mke wangu kipenzi kuniruhusu kuwa na
Kidhibiti cha Mchezo wa Arduino Kulingana na DIY - Arduino PS2 Mdhibiti wa Mchezo - Kucheza Tekken na DIY Arduino Gamepad: Hatua 7
Kidhibiti cha Mchezo wa Arduino Kulingana na DIY | Arduino PS2 Mdhibiti wa Mchezo | Kucheza Tekken na DIY Arduino Gamepad: Halo jamani, kucheza michezo kila wakati ni raha lakini kucheza na Mdhibiti wako wa mchezo wa dhana ya DIY ni ya kufurahisha zaidi. Kwa hivyo tutafanya Mdhibiti wa mchezo kutumia arduino pro micro katika mafundisho haya
Kidhibiti cha Ndege cha Arwiino kilichodhibitiwa cha DIY Arwiino: Hatua 7 (na Picha)
DIY Arduino Imedhibitiwa Mdhibiti wa Ndege wa Multiwii: Mradi huu ni kuunda bodi ya mantiki ya dereva wa moduli nyingi kulingana na Arduino na Multiwii
Kifurushi cha Betri cha Kidhibiti cha Xbox cha Mdhibiti kinachoweza kulipwa (mradi katika Maendeleo): Hatua 3 (na Picha)
DIY Xbox One Mdhibiti Kifurushi cha Battery kinachoweza kuchajiwa (mradi katika Maendeleo): Kabla hatujaingia kwenye maelezo ningependa kushughulikia kichwa. Mradi huu unaendelea kwa sababu ya matokeo kadhaa baada ya kujaribu muundo wa kwanza. Hiyo ikisemwa ninaunda bodi mpya ili kubeba mabadiliko ambayo nitapita. Nilifunua