Índice:
- Suprimentos
- Etapa 1: preparar a placa e o ambiente Arduino
- Etapa 2: Upload
- Etapa 3: imprimir
- Etapa 4: Fiação
- Etapa 5: Montagem final
- Etapa 6: modos de operação
- Etapa 7: Pong
Vídeo: Controlador de jogo USB Paddle: 7 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
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
- Solde os seis pinos de cabeçalho no meio de sua placa stm32f103c8t6.
- 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.
- 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.
- 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.
- Baixe a versão mais recente da minha biblioteca USB Composite e descompacte-a na pasta Arduino / Bibliotecas.
- Baixe o esboço do meu paddlecontrollers e descompacte-o na pasta do Arduino.
- 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
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
- 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.
- 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.
- Pode ser necessário ajustar as medidas no arquivo paddleknob.scad para ajustar seu potenciômetro.
-
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
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
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
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 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:
(ATUALIZAÇÃO - HÁ UM PEQUENO PROBLEMA) CONTROLADOR DE JOGO USB PARA P.C: 10 etapas (com imagens)
(ATUALIZAÇÃO - HÁ UM PEQUENO PROBLEMA) CONTROLADOR DE JOGO USB PARA P.C: UM CONTROLADOR DE JOGO PARA QUALQUER JOGO (QUASE)
Controlador de jogo DIY baseado em Arduino - Controlador de jogo Arduino PS2 - Jogando Tekken com gamepad Arduino DIY: 7 etapas
Controlador de jogo DIY baseado em Arduino | Controlador de jogo Arduino PS2 | Jogando Tekken com DIY Arduino Gamepad: Olá pessoal, jogar é sempre divertido, mas jogar com seu próprio controlador de jogo DIY personalizado é mais divertido. Portanto, faremos um controlador de jogo usando arduino pro micro neste instructables
Criando um controlador de jogo físico: 10 etapas (com imagens)
Criando um controlador físico do jogo: Quando o Nintendo Wii foi lançado, os jogadores foram encorajados, ou melhor, obrigados a deixar o sofá e pular, dançar e sacudir para marcar pontos no jogo de sua escolha. Embora exista uma curva de aprendizado acentuada na construção do Wii, é fácil de entender
Controlador de jogo Arduino com luzes que respondem ao seu jogo Unity :: 24 etapas
Controlador de jogo Arduino com luzes que respondem ao seu jogo Unity :: Primeiro, escrevi isso em palavras. Esta é a primeira vez que uso instructable so sempre que digo: escreva código assim, saiba que estou me referindo à imagem no topo dessa etapa. Neste projeto eu uso 2 arduino ’ s para executar 2 bits separados
Espaço oculto - um controlador de jogo de áudio: 5 etapas (com imagens)
Espaço oculto - um controlador de jogo de áudio: Neste tutorial, faremos um controlador de jogo para um jogo de áudio. O jogo é desenvolvido com Unity. Ele está tentando criar uma interface de jogo que está fora da tela, com informações visuais limitadas e principalmente sonoras. O jogador estará vestindo