Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Valmista levy ja Arduino -ympäristö
- Vaihe 2: Lataa
- Vaihe 3: Tulosta
- Vaihe 4: Johdotus
- Vaihe 5: Lopullinen kokoonpano
- Vaihe 6: Toimintatilat
- Vaihe 7: Pong
Video: USB Paddle Game Controller: 7 vaihetta (kuvien kanssa)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Poikani vietti retro -videopeli -iltaa syntymäpäivänään, ja päivän aamuna päätin katsoa, voisinko tehdä parin USB -mela -peliohjaimia Pongille 3D -tulostimen ja elektroniikan avulla varastostani. Vaikka onnistuin saamaan heidät periaatteessa toimimaan ajoissa, ihmiset olivat lopulta liian kiireisiä muiden Pongin pelien kanssa.
Ohjaimia voidaan käyttää Pongilla DICE-piiritason emulaattorilla tai melko tarkalla pygame-versiollani, Atari 2600 -peleillä emulaattorilla ja Etch-a-Sketchin kaltaisilla toiminnoilla Tux Paintin kaltaisen maalausohjelman kanssa.
Vaihdettavia tiloja on kolme:
- Stelladaptor -melaemulointi: niiden pitäisi toimia kaikkien Atella 2600 -emulointiohjelmistojen kanssa, jotka tukevat Stelladaptoria; Stelladaptor-tilassa melat toimivat kaksiakselisena kahden painikkeen ohjaussauvana, joista jokainen ohjaa yhtä akselia ja yhtä painiketta
- kaksoisohjaussauvan emulointi: jokainen mela toimii ohjaussauvana yhdellä painikkeella (melaliike muuttaa liikkeen molemmilla ohjaussauvojen akseleilla)
- hiiri: jokainen mela ohjaa yhtä liikesuuntaa absoluuttiselle hiirelle, ja painikkeet ovat hiiren painikkeita; yhdessä maalausohjelman kanssa voit saada Etch-a-Sketchin kaltaisen korkean teknologian laitteen.
Tarvikkeet
Tarvitset:
- stm32f103c8t6 sininen pilleri
- 2x lineaarinen potentiometri (suosittelen 20K-100K)
- 2x 12 mm leveä mikrokytkin painikkeella
- 3D tulostin
- sekalaisia (hehkulanka, langat, juotos, juotin, kuuma liima)
Vaihe 1: Valmista levy ja Arduino -ympäristö
- Juotos kuusi otsatappia stm32f103c8t6 -levyn keskelle.
- Tarkista resistanssi välillä A12 ja 3.3V. Sen pitäisi olla 1,5 kt, jotta USB -yhteensopivuus olisi täydellisempi. Monilla levyillä on sen sijaan 10K. Jos olet yksi niistä, ideaalisesti juota 1,8 K: n vastuksessa A12 - 3,3 V, vaikka saatat olla onnekas ja saada tietokoneesi toimimaan 10K: n kanssa.
- Asenna käynnistyslatain. Tämän ohjeen vaiheessa 2 on ohjeet. Yksi asia on huomioitava, mikä on STM Demonstratorin ilmoittama salaman koko. Jos se on 32K, sinulla on väärennetty stm32f103c8, joka on todennäköisesti uudelleenmerkitty stm32f103c6. Tämän projektin pitäisi silti toimia sen kanssa, mutta huomaa, että sinulla on väärennetty levy tulevaa askelta varten.
- Asenna Arduino, Arduino Zero ja Rogerin libmaple-pohjainen ydin noudattamalla edellisessä vaiheessa käyttämäsi Instructable-ohjelman vaiheen 3 ohjeita. Ohita kirjaston ohjeet tässä vaiheessa.
- Lataa USB -komposiittikirjastoni uusin versio ja pura se Arduino/Libraries -kansioon.
- Lataa paddlecontrollers -luonnos ja pura se Arduino -kansioon.
- Siirry Arduinossa Työkalut | Hallitus | Yleinen STM32F103C -sarja, ellei sinulla ole väärennettyä c6 -korttia, jolloin valitset sen sijaan Generic STM32F103C6/fake STM32F103C8. Jos et ole varma, mikä sinulla on, väärennetyn vaihtoehdon valitseminen on itse asiassa turvallisempaa.
Vaihe 2: Lataa
Liitä kortti tietokoneen USB -sovittimeen, lataa paddlecontroller -luonnos ja napsauta Lataa -painiketta (oikea osoittava nuoli). Jos kaikki menee hyvin, luonnoksen pitäisi ladata ja piirilevyn pitäisi näkyä tietokoneellasi kaksiakselisena kahden painikkeen ohjaussauvana nimeltä "Stelladaptor". Windowsissa voit tarkistaa tämän Windows-R: llä, joy.cpl [enter].
Tämä ei tietenkään tee mitään, ennen kuin loput laitteistot on koottu.
Vaihe 3: Tulosta
- Lataa stl- ja/tai scad -tiedostot Thingiverse -sivultani tätä projektia varten. Huomaa, että mela -nuppia muutetaan täältä.
- Jos mikrokytkimen kotelon leveys on eri kuin 12 mm, sinun on säädettävä painikkeen leveysparametria paddlemain-standalone.scad-tiedostossa. Voit tehdä sen OpenSCADissa tai Thingiverse Customizerissa.
- Sinun on ehkä muokattava paddleknob.scad -tiedoston mittauksia potentiometriisi sopivaksi.
-
Tulosta nämä tiedostot (tee vain yksi kopio "2x" -tiedostoista, jos haluat vain yhden melan). Käytin PLA: ta, mutta myös ABS: n pitäisi toimia hyvin.
- 2x paddlemain.stl
- 2x paddleknob.stl
- 1x melakonvertteri. Stl
- 1x pcbholdernarrower.stl
- 2x buttoncap110.stl (valinnainen)
- 1x 12.stl (valinnainen; tulosta eri värillä ja liimaa kaksi melaa)
Vaihe 4: Johdotus
Sinun on suoritettava neljä johtoa stm32f103c -kortilta jokaiseen melaohjaimeen. Voit käyttää vanhoja USB -johtoja näihin johtoihin. Minulla sattui olemaan mukavia itsenäisiä johtoja ethernet -kaapelista, jonka sidoin yhteen kutistekääreellä.
Jokaisessa melassa on yksi mikrokytkin ja yksi potentiometri. Käytä yleismittaria mikrokytkimen vierekkäisten (ei lävistävien) nastojen parin tunnistamiseen, jotka on kytketty/irrotettu painamalla painiketta. Merkitsen nämä nastat S1 ja S2 kaavioon. Potentiometrin kolme nastaa olen merkinnyt P1, P2 ja P3 ylhäältä alas, potentiometrin alapuolelta katsottuna, tapit osoittavat oikealle.
Työnnä levyn neljä johtoa päitsinkotelon (paddlemain.stl) sivulla olevan reiän läpi.
Kun kytket johdot mikrokytkimeen, työnnä johdot ensin päitsinkotelon sivussa olevien reikien läpi ja juota kytkimeen samalla, kun kytkin on kotelon ulkopuolella. Vedä sitten kytkin koteloon, jolloin tapit ja kiinnitetyt johdot sopivat reikiin. Leikkasin tarpeettomat nastat pois.
Molemmat melat:
- P1 - S1
- P1 kortille 3.3V (3.3)
- P3 GND: lle (G)
Mela 1:
- P2 kortille A1
- S2 kortille A2
Mela 2:
- P2 kortille A3
- S2 levylle A4
Testaa nyt liitännät liittämällä tietokoneeseen ja käyttämällä ohjaussauvan testausohjelmaa. Windows, Windows-R, joy.cpl [enter], valitse Stelladaptor, napsauta Ominaisuudet. Melan 1 tulisi ohjata X-akselia ja ensimmäistä painiketta; melan 2 tulee ohjata Y-akselia ja toista painiketta.
Vaihe 5: Lopullinen kokoonpano
Mikrokytkimet voidaan liimata (kuuma liima teki tehtävän puolestani) paikoillaan melalaatikon sivussa. Nappikorkit voidaan napsauttaa kiinni, ja niissä on hieman kuumaa liimaa vakauden varmistamiseksi.
Potentiometri kiinnittyy melalaatikon yläosassa olevaan suureen reikään. Nupin tulee liukua ja tarttua kiinni. Suurenna reikiä tarvittaessa poralla. Työnnä pohjakansi päälle ja lisää halutessasi hieman kuumaa liimaa.
Sininen pillerilevy sopii piirilevyluukun sisälle, joka ruuvataan sitten muuntajarasian pohjaan, jossa on myös kansi, joka voi peittää sen.
Lisäsin hieman Shoe Gooa, jossa johdot kohtaavat kotelon johtojen suojaamiseksi. Ja liimasin melat "1" ja "2" tarroihin.
Vaihe 6: Toimintatilat
Melailla on kolme toimintatilaa. Voit vaihtaa toimintatilaa painamalla tiettyä näppäinyhdistelmää, kun liität ne USB -porttiin ja vapauttaa sen, kun kortin LED -valot lakkaavat vilkkumasta. Kun vaihdat toimintatilaa, se tallennetaan flash -muistiin ja säilyy, kunnes vaihdat sen seuraavan kerran. (Joten jos et halua vaihtaa tilaa, älä paina mitään painiketta, kun liität melat USB -porttiin.) Tässä on vaihtoehtoja:
- Vain vasen melapainike: Yksi kaksiakselinen kahden painikkeen joystick, jokaista akselia ja painiketta ohjataan yhdellä melalla. Lisäksi melat tunnistetaan Stelladaptoriksi, Atari 2600 -ohjainten USB -sovitin on lopetettu, ja siksi Stelladapter -yhteensopivien Atella 2600 -emulaattorien, kuten Stella ja Z26, pitäisi toimia täydellisesti.
- Molemmat melapainikkeet: Jokainen mela näyttää erillisen ohjaussauvan. Ohjaussauvassa on yksi toimintopainike, ja lapan kääntäminen liikuttaa ohjaussauvaa vinosti, joten joko X- tai Y -akseli toimii lapalla.
- Vain oikea melapainike: Melat näkyvät kahden painikkeen absoluuttisena hiirenä. Voit nyt käyttää tätä samalla tavalla kuin Etch-a-Sketch piirustusohjelmalla.
Vaihe 7: Pong
Pong oli loistava alkuperäinen melopeli. Suosittelen alkuperäistä versiota, koska kloonit eivät useinkaan sisällä kaikkia ihania hienovaraisia toimintoja, kuten nopeuden muutokset toistuvilla osuilla, kulma muuttuu riippuen palloon osuvan melon osasta tai hienovaraisesti mutta ei helposti ennustettavasta asennosta palvelusta epäonnistumisen jälkeen. Alkuperäisen huolellinen analyysi löytyy täältä.
Yksi parhaista tavoista pelata Pongia on DICE-piiritason emulaattori, jos tietokoneesi on tarpeeksi nopea käyttämään sitä täydellä nopeudella. (Minulla on Windows -kannettava tietokone, mutta Raspberry PI 3+ on aivan liian hidas.) Suosittelen versiota 0.8.
Jos käytät melat Stelladaptor -tilaa, siirry kohtaan Asetukset | Konfiguroi tulot… DICE: ssä ja valitse Joystick 1 ja Absolute Player 1 Paddle -laitteelle ja aseta sekä Horizontal- että Vertical -asetukseksi Joy 1 X-Axis. Tee sitten sama myös Player 2 -lavalle, paitsi Y-akselille.
Jos tietokoneesi on liian hidas DICE: lle, tein Python3+pygame -version, jonka ajoitukset ja toiminnot on tarkoitettu olemaan hyvin lähellä alkuperäistä Pongia (olen kiitollinen tohtori Hugo Holdenin avusta tässä asiassa).
Suositeltava:
Infrapuna -anturin käyttäminen Arduinon kanssa: 8 vaihetta (kuvien kanssa)
Infrapuna -anturin käyttäminen Arduinon kanssa: Mikä on infrapuna -anturi? . IR -signaali
Automaattinen lataus (tyhjiö) -kytkin ACS712: n ja Arduinon kanssa: 7 vaihetta (kuvien kanssa)
Automaattinen kuorman (tyhjiö) kytkin ACS712: n ja Arduinon kanssa: Hei kaikki! Sähkötyökalun käyttäminen suljetussa tilassa on kiire, koska kaikki ilmassa oleva pöly ja ilmassa oleva pöly tarkoittaa pölyä keuhkoissasi. Vac -myymälän suorittaminen voi poistaa osan tästä riskistä, mutta kytkeä sen päälle ja pois päältä joka kerta
Kuvien tallentaminen tehtävää varten: 4 vaihetta (kuvien kanssa)
Kuvien tallentaminen tehtävää varten: 1. Avaa uusi Google -asiakirja ja suojaa kuvat tällä sivulla. Käytä ctrl (ohjaus) ja " c " kopioitava näppäin 3. Käytä ctrl (control) ja " v " liitettävä avain
Kuvien tekeminen saumattomiksi vain vaaka- tai pystysuunnassa ("The GIMP"): 11 vaihetta (kuvien kanssa)
Kuvien tekeminen saumattomiksi vain vaaka- tai pystysuunnassa ("The GIMP"): Jos yrität "Tee saumaton" -laajennusta GIMP: ssä, se tekee kuvasta saumattoman sekä vaaka- että pystysuunnassa samanaikaisesti. Se ei salli sinun tehdä siitä saumatonta vain yhdessä ulottuvuudessa. Tämä ohje auttaa sinua saamaan kuvan
NES Controller Shuffle (Nintendo Controller MP3, V3.0): 5 vaihetta (kuvien kanssa)
NES Controller Shuffle (Nintendo Controller MP3, V3.0): repäisin ryan97128 kokonaan pois hänen Nintendo Controller MP3 -versionsa 2.0 versiosta ja kuulen, että hän sai idean kaikilta viisailta Morte_Moyalta, joten en voi ottaa kunniaa kaikki nero. Halusin vain lisätä mukavuutta ja latausta