Sommario:

Controller USB Paddle Game: 7 passaggi (con immagini)
Controller USB Paddle Game: 7 passaggi (con immagini)

Video: Controller USB Paddle Game: 7 passaggi (con immagini)

Video: Controller USB Paddle Game: 7 passaggi (con immagini)
Video: The Ultimate PS5 Pro Controller? Unboxing + Review (Victrix Pro BFG) 2024, Novembre
Anonim
Controller per giochi con paddle USB
Controller per giochi con paddle USB
Controller per giochi con paddle USB
Controller per giochi con paddle USB
Controller per giochi con paddle USB
Controller per giochi con paddle USB

Mio figlio stava organizzando una serata di videogiochi retrò per il suo compleanno e la mattina del giorno ho deciso di vedere se potevo realizzare un paio di controller di gioco paddle USB per Pong con l'aiuto di una stampante 3D e dell'elettronica dalla mia scorta. Anche se sono riuscito a farli funzionare praticamente in tempo, alla fine le persone erano troppo impegnate con altri giochi per Pong.

I controller possono essere utilizzati per Pong con l'emulatore a livello di circuito DICE o con la mia versione pygame abbastanza accurata, per i giochi Atari 2600 con un emulatore e per funzionalità simili a Etch-a-Sketch con un programma di pittura come Tux Paint.

Ci sono tre modalità commutabili:

  • Emulazione paddle Stelladaptor: dovrebbero funzionare con tutti i software di emulazione Atari 2600 che supportano Stelladaptor; in modalità Stelladaptor, i paddle funzionano come joystick a due assi a due pulsanti, ogni paddle controlla un asse e un pulsante
  • emulazione del doppio joystick: ogni paddle funziona come un joystick con un pulsante (con il movimento del paddle che si traduce in movimento su entrambi gli assi del joystick)
  • mouse: ogni paddle controlla una direzione di movimento per un mouse assoluto ei pulsanti sono pulsanti del mouse; insieme a un programma di pittura puoi ottenere un dispositivo ad alta tecnologia simile a un Etch-a-Sketch.

Forniture

Avrai bisogno:

  • stm32f103c8t6 pillola blu
  • Potenziometro lineare 2x (consiglierei 20K-100K)
  • 2x microinterruttori da 12 mm con pulsante
  • stampante 3d
  • varie (filamenti, fili, saldatura, saldatore, colla a caldo)

Passaggio 1: preparare la scheda e l'ambiente Arduino

Prepara la scheda e l'ambiente Arduino
Prepara la scheda e l'ambiente Arduino
Prepara la scheda e l'ambiente Arduino
Prepara la scheda e l'ambiente Arduino
  1. Saldare i sei pin dell'intestazione al centro della scheda stm32f103c8t6.
  2. Controllare la resistenza tra A12 e 3,3V. Dovrebbe essere 1,5K per una compatibilità USB più completa. Molte schede hanno invece 10K. Se il tuo è uno di quelli, idealmente saldare in un resistore da 1,8 K da A12 a 3,3 V, anche se potresti essere fortunato e far funzionare i tuoi computer con il 10K.
  3. Installa un bootloader. Ci sono istruzioni nel passaggio 2 di questo Instructable. Una cosa da prendere in considerazione è la dimensione del flash riportata dal dimostratore STM. Se è 32K, hai un falso stm32f103c8 che è probabilmente un stm32f103c6 rietichettato. Questo progetto dovrebbe ancora funzionare con quello, ma prendi nota che hai la scheda falsa per un passaggio futuro.
  4. Installa Arduino, Arduino Zero e il core basato su libmaple di Roger seguendo le istruzioni nel passaggio 3 di Instructable che hai usato nel passaggio precedente. Ignora le istruzioni della libreria in quel passaggio.
  5. Scarica l'ultima versione della mia libreria USB Composite e decomprimila nella cartella Arduino/Librerie.
  6. Scarica il mio sketch di paddlecontroller e decomprimilo nella cartella Arduino.
  7. In Arduino, vai su Strumenti | Consiglio | Generic STM32F103C Series, a meno che tu non abbia la falsa scheda c6, nel qual caso scegli Generic STM32F103C6/fake STM32F103C8. Se non sei sicuro di quello che hai, scegliere l'opzione falsa è in realtà più sicuro.

Passaggio 2: carica

Caricamento
Caricamento

Collega la scheda all'adattatore USB del tuo computer, carica lo schizzo del controller paddle e fai clic sul pulsante Carica (freccia rivolta verso destra). Se tutto va bene, lo schizzo dovrebbe essere caricato e la scheda dovrebbe apparire sul tuo computer come un joystick a due assi a due pulsanti chiamato "Stelladaptor". In Windows, puoi verificarlo con Windows-R, joy.cpl[enter].

Ovviamente, questo non farà nulla finché non avrai assemblato il resto dell'hardware.

Passaggio 3: stampa

Stampa
Stampa
  1. Scarica i file stl e/o scad dalla mia pagina Thingiverse per questo progetto. Si prega di notare che la manopola paddle viene modificata da qui.
  2. Se la larghezza dell'alloggiamento del microinterruttore è diversa da 12 mm, sarà necessario regolare il parametro della larghezza del pulsante nel file paddlemain-standalone.scad. Puoi farlo in OpenSCAD o in Thingiverse Customizer.
  3. Potrebbe essere necessario modificare le misurazioni nel file paddleknob.scad per adattarle al potenziometro.
  4. Stampa questi file (fai solo una copia dei file "2x" se vuoi solo una pagaia). Ho usato il PLA, ma anche l'ABS dovrebbe funzionare bene.

    • 2x paddlemain.stl
    • 2x paddleknob.stl
    • 1x paddleconverter.stl
    • 1x pcbholdernarrower.stl
    • 2x buttoncap110.stl (opzionale)
    • 1x 12.stl (opzionale; stampare in un colore diverso e incollare per etichettare le due pale)

Passaggio 4: cablaggio

Cablaggio
Cablaggio
Cablaggio
Cablaggio
Cablaggio
Cablaggio

Dovrai far passare quattro fili dalla scheda stm32f103c a ciascun controller paddle. Potresti usare vecchi cavi USB per questi fili. Mi è capitato di avere dei bei cavi autonomi da un cavo ethernet che ho legato insieme con una pellicola termoretraibile.

Ogni paletta ha un microinterruttore e un potenziometro. Utilizzare un multimetro per identificare una coppia di pin adiacenti (non diagonali) sul microinterruttore che vengono collegati/scollegati premendo il pulsante. Identificherò questi pin S1 e S2 nel diagramma. I tre pin sul potenziometro ho etichettato P1, P2 e P3 dall'alto verso il basso, guardando dal lato inferiore del potenziometro, con i pin rivolti a destra.

Spingi i quattro fili dalla scheda attraverso il foro sul lato dell'alloggiamento della pagaia (paddlemain.stl).

Quando si collegano i fili al microinterruttore, spingere prima i fili attraverso i fori sul lato dell'alloggiamento della paletta e saldare all'interruttore mentre l'interruttore si trova all'esterno dell'alloggiamento. Quindi tirare l'interruttore sull'alloggiamento, facendo in modo che i perni e i fili collegati si adattino ai fori. Ho tagliato i pin non necessari.

Entrambe le pagaie:

  • Da P1 a S1
  • P1 a bordo 3.3V (3.3)
  • P3 a bordo GND (G)

Pagaia 1:

  • P2 alla scheda A1
  • S2 a bordo A2

Pagaia 2:

  • P2 a bordo A3
  • S2 a bordo A4

Ora prova le connessioni collegandoti al tuo computer e utilizzando un programma di test del joystick. Su Windows, Windows-R, joy.cpl[enter], seleziona Stelladaptor, fai clic su Proprietà. Paddle 1 dovrebbe controllare l'asse X e il primo pulsante; la paletta 2 dovrebbe controllare l'asse Y e il secondo pulsante.

Passaggio 5: assemblaggio finale

Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale

I microinterruttori possono essere incollati (la colla a caldo ha fatto il lavoro per me) nelle loro posizioni sul lato della scatola del paddle. I cappucci dei bottoni possono essere fissati a scatto, con un po' di colla a caldo per la stabilità.

Il potenziometro si collega al grande foro nella parte superiore della scatola del paddle. La manopola dovrebbe scorrere e restare attaccata. Allargare i fori con un trapano secondo necessità. Spingere il coperchio inferiore, aggiungendo un po' di colla a caldo se lo si desidera.

La scheda pillola blu si inserisce all'interno della diapositiva PCB, che poi si avvita alla parte inferiore della scatola del convertitore, che ha anche un coperchio che può coprirla.

Ho aggiunto un po' di Shoe Goo dove i fili incontrano l'alloggiamento per proteggerli. E ho incollato le etichette "1" e "2" sulle palette.

Passaggio 6: modalità di funzionamento

Modalità di funzionamento
Modalità di funzionamento
Modalità di funzionamento
Modalità di funzionamento

Le palette hanno tre modalità di funzionamento. Puoi cambiare la modalità di funzionamento premendo una particolare combinazione di pulsanti mentre li colleghi a una porta USB, rilasciandoli quando i LED della scheda smettono di lampeggiare. Una volta cambiata la modalità di funzionamento, verrà salvata nella memoria flash e rimarrà fino alla successiva modifica. (Quindi, se non vuoi cambiare la modalità, non premere alcun pulsante mentre colleghi i paddle a una porta USB.) Ecco le opzioni:

  • Solo pulsante paddle sinistro: un joystick a due pulsanti a due assi, con ciascun asse e pulsante controllati da un paddle. Inoltre, i paddle si identificano come Stelladaptor, un adattatore USB fuori produzione per i controller Atari 2600, quindi gli emulatori Atari 2600 come Stella e Z26 compatibili con Stelladapter dovrebbero funzionare perfettamente.
  • Entrambi i pulsanti paddle: ogni paddle mostra un joystick separato. Il joystick ha un pulsante operativo e ruotando la paletta si sposta il joystick in diagonale, quindi l'asse X o Y funziona per la paletta.
  • Solo pulsante paddle destro: i paddle vengono visualizzati come un mouse assoluto a due pulsanti. Ora puoi usarlo in modo simile a un Etch-a-Sketch con un programma di disegno.

Passaggio 7: Pong

Pong
Pong
Pong
Pong

Pong era il grande gioco di paddle originale. Raccomando la versione originale, perché i cloni spesso non includono tutte le belle e sottili funzionalità, come i cambiamenti di velocità con colpi ripetuti, l'angolo cambia a seconda della parte della racchetta che colpisce la palla o la posizione sottilmente ma non facilmente prevedibile del servizio dopo un errore. Per un'attenta analisi dell'originale, vedere qui.

Uno dei modi migliori per giocare a Pong è con l'emulatore a livello di circuito DICE se il tuo computer è abbastanza veloce da usarlo alla massima velocità. (Il mio laptop Windows lo è, ma il Raspberry PI 3+ è troppo lento.) Raccomando la versione 0.8.

Se usi la modalità Stelladaptor nelle palette, vai su Impostazioni | Configura gli ingressi… in DICE e scegli Joystick 1 e Absolute per Player 1 Paddle, e imposta sia Orizzontale che Verticale su Joy 1 X-Axis. Quindi fai lo stesso per la pagaia del giocatore 2, eccetto con l'asse Y.

Se il tuo computer è troppo lento per DICE, ho realizzato una versione Python3+pygame i cui tempi e funzionalità sono pensati per essere molto vicini al Pong originale (sono grato per l'aiuto del Dr. Hugo Holden in questo senso).

Consigliato: