Sommario:
- Forniture
- Passaggio 1: progettazione
- Passaggio 2: stampa la tua creazione
- Passaggio 3: preparare la scheda prototipo
- Passaggio 4: Opzionale: abbellire l'alloggiamento del controller
- Passaggio 5: assemblaggio finale
- Passaggio 6: programma il tuo Arduino
- Passaggio 7: gioca ai tuoi giochi
- Passaggio 8: lezioni apprese
Video: Controller in movimento: 8 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Ti piace giocare con il tuo smartphone? Sei stanco di giocare con comandi touchscreen goffi? Odi dimenticarti di caricare il tuo controller Bluetooth? Hai bisogno di un uso per quel cavo in movimento che hai acquistato ma che non usi mai?
Perché non creare il tuo controller in movimento?
Sono sicuro di essere abbastanza in ritardo per il gioco (gioco di parole) ma ho scoperto di recente che il mio vecchio smartphone era in grado di riprodurre giochi retrò tramite emulazione. Crescendo, ero un grande fan dei sistemi Game Boy e ho bei ricordi di aver giocato per ore e di sforzare gli occhi durante lunghi viaggi in macchina cercando disperatamente di trovare un punto di salvataggio prima che la mia batteria si esaurisse o il sole fosse troppo lontano oltre l'orizzonte per guarda il mio schermo Adesso posso giocare con il telefono e cedere alla nostalgia ma con un bel schermo retroilluminato. Grazie tecnologia!
Dichiarazione di non responsabilità: l'emulazione del gioco è un argomento delicato e in alcuni casi sfiora la linea della pirateria. Per favore, educatevi e giocate responsabilmente!
Sfondo:
Ho deciso di portare avanti questo progetto dopo aver creato una tastiera di scelta rapida. Durante l'apprendimento della libreria di tastiere arduino e la creazione di scorciatoie, ho associato alcuni dei pulsanti di test a WASD. Ha subito iniziato a funzionare con i miei giochi per PC e questo ha fatto girare le ruote. Nello stesso periodo ho esaurito lo spazio sul mio telefono per gli audiolibri e ho esaminato come utilizzare un'unità flash USB con il mio telefono poiché il mio modello non consente le schede microSD. È stato allora che ho saputo dell'OTG. OTG utilizza la carica della batteria del telefono per alimentare il dispositivo ad esso collegato. Ciò include tastiere, mouse e unità flash per citarne alcuni. Il telefono può alimentare dispositivi 5v e indovina cosa richiede l'arduino micro per funzionare? È stata una partita fatta in paradiso.
Forniture
Arduino Micro
Scheda prototipo
Pulsanti 12 x 6 mm (ho usato i classici interruttori momentanei tattili breadboard)
Saldatore e saldatore
stampante 3d
Cavo in movimento (OTG); ho fatto il mio
Cavo di ricarica micro USB
Passaggio 1: progettazione
Volevo che il mio controller fosse portatile e offrisse tutti i pulsanti di cui avrei bisogno per giocare a giochi fino all'era del Super Nintendo. Ciò significava che avrei avuto bisogno di 12 pulsanti. Quattro per il pad direzionale (d-pad) e otto per A, B, X, Y, Start, Select, trigger sinistro e trigger destro. Avevo anche un requisito aggiuntivo: volevo che fosse simmetrico in modo da poterlo suonare con una mano usando entrambe le mani. Questo requisito aggiuntivo potrebbe sembrare strano, ma per dare un po' di contesto devo menzionare che di recente mi ritrovo regolarmente a tenere in braccio un bambino che dorme e ho solo l'uso di una mano durante il mio tempo di gioco limitato.
Con i requisiti definiti ho deciso di progettare il mio controller in CAD. Personalmente uso OnShape ma so che molte persone hanno successo anche con Fusion360. Vorrei dare un rapido grido alle altre persone su questo sito che progettano le proprie creazioni. È un lavoro duro! Il design che mi è venuto in mente era semplicissimo, ma mi ci sono volute comunque molte ore per essere soddisfatto. Anche mentre sto scrivendo questo, noto molti miglioramenti che vorrei apportare.
(Ho intenzione di salvare i file.stl su Thingiverse quando il tempo lo consente. I file saranno lì così posso aggiornarli senza dover caricare costantemente i file qui.)
Passaggio 2: stampa la tua creazione
Ho una stampante Ender 3 che ho solo da pochi mesi. È un'ottima stampante con cui iniziare se vuoi entrare nella stampa 3D. Non mi sono reso conto di quanto fosse fuori di testa finché non ho misurato le mie parti per questo progetto. Fino a questo progetto l'avevo usato solo per stampare minis per giochi da tavolo. I mini sono venuti benissimo e non mi importava molto delle dimensioni. Ci sono voluti diversi cubi di calibrazione e un nuovo rotolo di filamento prima di essere soddisfatto dei risultati.
Passaggio 3: preparare la scheda prototipo
Prima di saldare i pulsanti a una scheda prototipo, ho testato tutti i pulsanti su una breadboard e contemporaneamente testato il mio codice arduino. Esaminerò il codice in un passaggio successivo.
Ora è il momento migliore per tagliare a misura la tua scheda prototipo. Usa l'alloggiamento del controller stampato come guida e inserisci i pulsanti a secco per assicurarti che tutto sia allineato. Ho appena preso delle tronchesi e ho tagliato il pannello in eccesso, quindi ho levigato i bordi con carta vetrata a grana 150.
Il cablaggio per il controller è davvero semplice poiché utilizziamo i resistori di pull up interni dell'arduino micro. Tutti i pulsanti vanno a un ingresso ea massa. I pulsanti che sto usando sono interruttori momentanei tattili generici da 6 mm.
Saldare i pulsanti all'arduino è stato un piccolo enigma divertente da risolvere. Alcuni dei pulsanti erano sotto l'arduino e ho dovuto far passare i fili da sotto prima di saldare l'arduino alla scheda prototipo. Se guardi da vicino sul lato del pulsante del tabellone, ho perso il sinistro e il destro per il pad direzionale.
Per il mio progetto specifico ho saldato i pulsanti del pad direzionale su e giù (ho perso i pulsanti del pad direzionale sinistro e destro) alla scheda prototipo insieme ad alcuni fili extra lunghi, quindi ho capovolto la scheda e ho saldato l'arduino. Non ho uno schema perché per lo più ho saldato i pulsanti uno alla volta a caso (potrei caricarne uno se c'è abbastanza interesse). Dopo che l'arduino è stato fissato, ho capovolto la scheda sul lato del pulsante e ho saldato il resto dei pulsanti e i loro fili.
Passaggio 4: Opzionale: abbellire l'alloggiamento del controller
Prima dell'assemblaggio finale è un buon momento per carteggiare, riempire gli spazi vuoti e dipingere l'alloggiamento del controller. Ho deciso di saltare questo passaggio per il mio prototipo perché volevo avere qualcosa da usare immediatamente. Quando inevitabilmente migliorerò il mio design in qualcosa di più raffinato, gli darò il lavoro doloroso che merita.
Passaggio 5: assemblaggio finale
Ora è il momento di inserire tutti i pulsanti e la scheda prototipo completata nell'alloggiamento. Ho usato viti per lamiera #4-24 x 1/2 per il mio progetto. Fanno il loro lavoro ma non si adattano come vorrei.
Passaggio 6: programma il tuo Arduino
Potresti voler eseguire questo passaggio prima quando stai ancora progettando la scheda o dopo aver saldato tutto alla scheda prototipo. Mi piace averlo nella sua sezione.
Il codice è molto semplice rispetto alla maggior parte dei programmi Arduino che ho visto. Abbiamo solo bisogno di assegnare a ciascun pulsante un valore della tastiera e l'arduino eseguirà il ciclo per verificare quali pulsanti sono stati premuti e inviare tali informazioni al nostro telefono.
Per chi è interessato, uso l'app retroArch per giocare ai miei giochi retrò. I tasti che ho usato sono impostati sul layout di tastiera predefinito utilizzato per retroArch.
#include #include "Keyboard.h" #define NUM_BUTTONS 12 const uint8_t BUTTON_PINS[NUM_BUTTONS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; // a = 'x' // b = 'z' // x = 's' // y = 'a' // spalla sinistra = 'q' // spalla destra = 'w' // select = 'rshift ' // start = 'enter' // up = 'key:up' // down = 'key:down' // left = 'key:left' // right = 'key:right' const char BUTTON_KEYS[NUM_BUTTONS] = {KEY_RETURN, KEY_DOWN_ARROW, KEY_UP_ARROW, KEY_LEFT_ARROW, KEY_RIGHT_ARROW, KEY_RIGHT_SHIFT, 'z', 'x', 's', 'a', 'q', 'w'}; Rimbalzo * pulsanti = nuovo Rimbalzo[NUM_BUTTONS]; void setup() { for (int i = 0; i < NUM_BUTTONS; i++) { bottoni.attach(BUTTON_PINS, INPUT_PULLUP); pulsanti.intervallo(25); } // inizializza il controllo sulla tastiera: Keyboard.begin(); } void loop() { // controlla se il valore è cambiato per (int i = 0; i < NUM_BUTTONS; i++) { pulsanti.update(); if (pulsanti.fell()) { Keyboard.press(BUTTON_KEYS); } if (pulsanti.rose()) { Keyboard.release(BUTTON_KEYS); } } }
Passaggio 7: gioca ai tuoi giochi
In alternativa, questo controller può essere utilizzato con un PC senza cavo OTG per inviare pressioni di tasti o macro. Ho anche avuto un amico che ha detto che un controller come questo potrebbe essere utile anche per disegnare tablet anche se non ne ho mai fatto uno prima.
Spero che tu abbia trovato utile questo Instructable. Di seguito è riportata una sezione delle lezioni apprese per coloro che sono curiosi di sapere cosa ho imparato durante il processo e cosa mi sarebbe piaciuto fare diversamente.
Passaggio 8: lezioni apprese
CAD:
Non ho mai avuto molto a che fare con il software CAD in passato e ho dovuto imparare in movimento con questo design. Inizialmente ho optato per un design più verticale che si adattasse alle tue mani proprio come un Wii Nunchuk. La mia conoscenza limitata della progettazione con forme organiche è stata la mia rovina. Forse dovrei prendere Intructables nella sua classe di progettazione CAD.
Pulsanti:
I pulsanti che ho usato erano più rumorosi di quanto avrei voluto (specialmente quando stavi cercando di impedire a qualcuno di svegliarsi). Vorrei trovare dei pulsanti più silenziosi. Incorporare le molle tra i pulsanti e i cappucci dei pulsanti farebbe molto per rendere la costruzione più lucida. I pulsanti sono troppo allentati per i miei gusti.
Saldatura:
Sono un principiante nella saldatura e non ho mani molto ferme. La saldatura di tutti quei fili minuscoli dappertutto ha richiesto molto più tempo di quanto mi aspettassi. Se dovessi rifare tutto da capo, mapperei sicuramente il percorso dei miei fili prima di afferrare il ferro. Ciò mitigherebbe gli errori che ho scoperto dopo aver apposto l'arduino sulla scheda prototipo e mi avrebbe fatto risparmiare tempo.
Consigliato:
Strisce LED per tavole da surf reattive al movimento: 8 passaggi (con immagini)
Strisce LED Motion Reactive Surfboard: Recentemente, alcuni amici e io abbiamo scoperto il surf sul fiume. Vivendo a Monaco abbiamo la fortuna di avere tre onde del fiume surfabili tra cui il famoso spot di Eisbach. Lo svantaggio del surf fluviale è che crea dipendenza e quindi raramente trovo il tempo per
L'allarme del sensore di movimento: 5 passaggi
L'allarme del sensore di movimento: controlli sempre chi c'è alla tua porta? Questo è l'articolo perfetto per te. Sono sempre stato curioso di sapere se ci sono persone fuori dalla mia porta senza saperlo. Ho creato questo allarme con sensore di movimento con luci a led che indicheranno
Sensore sonoro e servo: movimento reattivo: 4 passaggi
Sensore sonoro e servo: movimento reattivo: per prima cosa devi raccogliere materiali pertinenti per mettere insieme questo circuito
Controller di movimento di salto. (Progetto Arduino): 4 Passi
Controller di movimento di salto. (Progetto Arduino): L'intento di questo progetto è quello di utilizzare il Leap Motion per controllare l'intensità di luce ei colori di un led RGB in relazione al movimento delle mani nello spazio.Riferimento: Leap Motion SDK: https:// developer-archive.leapmotion.com/doc
Presa controllata dal movimento - Da una luce di rilevamento del movimento: 6 passaggi
Presa controllata dal movimento - Da una luce di rilevamento del movimento: Immagina di essere un dolcetto o scherzetto che va nella casa più spaventosa del quartiere. Dopo aver superato tutti i ghoul, i fantasmi e i cimiteri, arrivi finalmente all'ultimo percorso. Puoi vedere le caramelle in una ciotola davanti a te! Ma poi improvvisamente un gho