Índice:

Controlador de jogo USB Paddle: 7 etapas (com imagens)
Controlador de jogo USB Paddle: 7 etapas (com imagens)

Vídeo: Controlador de jogo USB Paddle: 7 etapas (com imagens)

Vídeo: Controlador de jogo USB Paddle: 7 etapas (com imagens)
Vídeo: 6 SEGREDOS/TRUQUES do PS5 que você NÃO SABIA! 2024, Dezembro
Anonim
Controlador de jogo USB Paddle
Controlador de jogo USB Paddle
Controlador de jogo USB Paddle
Controlador de jogo USB Paddle
Controlador de jogo USB Paddle
Controlador de jogo USB Paddle

Meu filho estava tendo uma noite de videogame retrô em seu aniversário e, na manhã do dia, decidi ver se poderia fazer um par de controladores de jogos de paddle USB para Pong com a ajuda de uma impressora 3D e eletrônicos do meu estoque. Embora eu tenha conseguido fazer com que eles basicamente funcionassem a tempo, as pessoas estavam ocupadas demais com outros jogos para Pong no final.

Os controladores podem ser usados para Pong com o emulador de nível de circuito DICE ou com minha versão pygame bastante precisa, para jogos Atari 2600 com um emulador e para funcionalidade semelhante a Etch-a-Sketch com um programa de pintura como o Tux Paint.

Existem três modos selecionáveis:

  • Emulação de paddle Stelladaptor: eles devem funcionar com todo o software de emulação Atari 2600 que suporta o Stelladaptor; no modo Stelladaptor, as pás funcionam como joystick de dois eixos e dois botões, cada pá controlando um eixo e um botão
  • emulação de joystick duplo: cada remo funciona como um joystick com um botão (com o movimento do remo se traduzindo em movimento em ambos os eixos do joystick)
  • mouse: cada raquete controla uma direção de movimento para um mouse absoluto, e os botões são botões do mouse; junto com um programa de pintura, você pode obter um dispositivo de alta tecnologia semelhante a um Etch-a-Sketch.

Suprimentos

Você vai precisar de:

  • pílula azul stm32f103c8t6
  • 2x potenciômetro linear (eu recomendo 20K-100K)
  • 2 microinterruptor de 12 mm de largura com botão
  • impressora 3d
  • miscelânea (filamento, fios, solda, ferro de solda, cola quente)

Etapa 1: preparar a placa e o ambiente Arduino

Prepare a placa e o ambiente Arduino
Prepare a placa e o ambiente Arduino
Prepare a placa e o ambiente Arduino
Prepare a placa e o ambiente Arduino
  1. Solde os seis pinos de cabeçalho no meio de sua placa stm32f103c8t6.
  2. Verifique a resistência entre A12 e 3,3V. Deve ser 1,5 K para compatibilidade USB completa. Em vez disso, muitas placas têm 10K. Se você for um desses, o ideal é soldar um resistor de 1.8K de A12 a 3.3V, embora você possa ter sorte e seus computadores funcionem com 10K.
  3. Instale um bootloader. Existem instruções na Etapa 2 deste Instructable. Uma coisa a ser observada é qual é o tamanho do flash relatado pelo STM Demonstrator. Se for 32K, você tem um stm32f103c8 falso, que provavelmente é um stm32f103c6 renomeado. Este projeto ainda deve funcionar com isso, mas anote que você tem a placa falsa para uma etapa futura.
  4. Instale o Arduino, o Arduino Zero e o núcleo baseado em libmaple de Roger seguindo as instruções na Etapa 3 do Instructable que você usou na etapa anterior. Ignore as instruções da biblioteca nessa etapa.
  5. Baixe a versão mais recente da minha biblioteca USB Composite e descompacte-a na pasta Arduino / Bibliotecas.
  6. Baixe o esboço do meu paddlecontrollers e descompacte-o na pasta do Arduino.
  7. No Arduino, vá para Ferramentas | Board | Série STM32F103C genérica, a menos que você tenha a placa c6 falsa, em cujo caso escolha STM32F103C6 genérico / STM32F103C8 falsa. Se você não tiver certeza de qual possui, escolher a opção falsa é, na verdade, mais seguro.

Etapa 2: Upload

Envio
Envio

Conecte a placa ao adaptador USB do seu computador, carregue o esboço do paddlecontroller e clique no botão Upload (seta para a direita). Se tudo correr bem, o esboço deve ser carregado e a placa deve aparecer no seu computador como um joystick de dois eixos e dois botões chamado "Stelladaptor". No Windows, você pode verificar isso com Windows-R, joy.cpl [enter].

Claro, isso não fará nada até que você tenha o resto do hardware montado.

Etapa 3: imprimir

Imprimir
Imprimir
  1. Baixe os arquivos stl e / ou scad da minha página Thingiverse para este projeto. Observe que o botão da raquete é modificado a partir daqui.
  2. Se a largura da caixa do microinterruptor for diferente de 12 mm, você precisará ajustar o parâmetro de largura do botão no arquivo paddlemain-standalone.scad. Você pode fazer isso no OpenSCAD ou no Thingiverse Customizer.
  3. Pode ser necessário ajustar as medidas no arquivo paddleknob.scad para ajustar seu potenciômetro.
  4. Imprima esses arquivos (faça apenas uma cópia dos arquivos "2x" se quiser apenas uma pá). Usei PLA, mas o ABS deve funcionar bem também.

    • 2x paddlemain.stl
    • 2x paddleknob.stl
    • 1x paddleconverter.stl
    • 1x pcbholdernarrower.stl
    • 2x buttoncap110.stl (opcional)
    • 1x 12.stl (opcional; imprima em uma cor diferente e cole para etiquetar as duas pás)

Etapa 4: Fiação

Fiação
Fiação
Fiação
Fiação
Fiação
Fiação

Você precisará passar quatro fios da placa stm32f103c para cada controlador de remo. Você pode usar cabos USB antigos para esses fios. Acontece que eu tinha bons fios autônomos de um cabo Ethernet que amarrei com um filme termoencolhível.

Cada pá possui um microinterruptor e um potenciômetro. Use um multímetro para identificar um par de pinos adjacentes (não diagonais) no microinterruptor que são conectados / desconectados pressionando o botão. Vou rotular esses pinos S1 e S2 no diagrama. Os três pinos do potenciômetro rotulei P1, P2 e P3 de cima para baixo, olhando da parte de baixo do potenciômetro, com os pinos apontando para a direita.

Empurre os quatro fios da placa através do orifício na lateral da caixa da pá (paddlemain.stl).

Ao conectar os fios ao microinterruptor, primeiro empurre os fios através dos orifícios na lateral do invólucro da pá e solde no comutador enquanto o comutador fica do lado de fora do invólucro. Em seguida, puxe o interruptor para a caixa, fazendo com que os pinos e fios conectados se encaixem nos orifícios. Cortei os alfinetes desnecessários.

Ambas as pás:

  • P1 a S1
  • P1 para placa de 3,3 V (3,3)
  • P3 para embarcar no GND (G)

Paddle 1:

  • P2 para embarque A1
  • S2 para embarcar A2

Paddle 2:

  • P2 para embarcar A3
  • S2 para embarcar A4

Agora teste as conexões conectando-se ao seu computador e usando um programa de teste de joystick. No Windows, Windows-R, joy.cpl [enter], selecione Stelladaptor, clique em Propriedades. A pá 1 deve controlar o eixo X e o primeiro botão; a raquete 2 deve controlar o eixo Y e o segundo botão.

Etapa 5: Montagem final

Assembléia final
Assembléia final
Assembléia final
Assembléia final
Assembléia final
Assembléia final
Assembléia final
Assembléia final

Os microinterruptores podem ser colados (cola quente fez o trabalho para mim) em seus locais na lateral da caixa de remo. As capas dos botões podem ser encaixadas com um pouco de cola quente para estabilidade.

O potenciômetro é conectado ao grande orifício na parte superior da caixa do remo. O botão deve deslizar e ficar preso. Aumente os furos com uma broca conforme necessário. Empurre a tampa inferior, adicionando um pouco de cola quente, se desejar.

A placa de comprimidos azul cabe dentro da corrediça do PCB, que então é aparafusada na parte inferior da caixa do conversor, que também tem uma tampa que pode cobri-la.

Eu adicionei um pouco de Shoe Goo onde os fios encontram a caixa para proteger os fios. E colei as etiquetas "1" e "2" nas pás.

Etapa 6: modos de operação

Modos de operação
Modos de operação
Modos de operação
Modos de operação

As pás têm três modos de operação. Você pode alternar o modo de operação pressionando uma combinação específica de botões enquanto os conecta a uma porta USB, liberando assim que os LEDs da placa pararem de piscar. Depois de alterar o modo de operação, ele será salvo na memória flash e permanecerá até a próxima alteração. (Portanto, se você não quiser alterar o modo, não pressione nenhum botão enquanto conecta as pás a uma porta USB.) Aqui estão as opções:

  • Apenas botão da pá esquerda: Um joystick de dois eixos e dois botões, com cada eixo e botão controlado por uma pá. Além disso, as pás são identificadas como um Stelladaptor, um adaptador USB descontinuado para controladores Atari 2600 e, portanto, emuladores Atari 2600 como Stella e Z26 compatíveis com Stelladapter devem funcionar perfeitamente.
  • Ambos os botões de remo: Cada remo mostra um joystick separado. O joystick tem um botão operacional e girar a raquete move o joystick diagonalmente, de forma que o eixo X ou Y funcione para a raquete.
  • Apenas botão direito da raquete: As raquetes aparecem como um mouse absoluto de dois botões. Agora você pode usar isso de forma semelhante a um Etch-a-Sketch com um programa de desenho.

Etapa 7: Pong

Pong
Pong
Pong
Pong

Pong foi o grande jogo de remo original. Eu recomendo a versão original, porque os clones muitas vezes falham em incluir toda a adorável funcionalidade sutil, como as mudanças na velocidade com golpes repetidos, o ângulo muda dependendo da parte da raquete que atinge a bola ou a posição sutil, mas não facilmente previsível do saque após uma falha. Para uma análise cuidadosa do original, veja aqui.

Uma das melhores maneiras de jogar Pong é com o emulador de nível de circuito DICE se seu computador for rápido o suficiente para usá-lo em velocidade total. (Meu laptop com Windows é, mas o Raspberry PI 3+ é lento demais.) Recomendo a versão 0.8.

Se você usar o modo Stelladaptor nas pás, vá para Configurações | Configure Inputs… in DICE e escolha Joystick 1 e Absolute para Player 1 Paddle, e defina Horizontal e Vertical para Joy 1 X-Axis. Em seguida, faça o mesmo para o Paddle do jogador 2, exceto com o eixo Y.

Se o seu computador for muito lento para o DICE, fiz uma versão do Python3 + pygame cujos tempos e funcionalidades devem ser muito próximos do Pong original (agradeço a ajuda do Dr. Hugo Holden a esse respeito).

Recomendado: