Controlador de jogo Arduino
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 12 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Ferramentas e máquinas necessárias
| ||||
| ||||
|
Aplicativos e serviços online
| ||||
|
Sobre este projeto
VÍDEO
INTRODUÇÃO
ENTÃO, esta postagem será sobre um "DIY Gaming USB Controller" no qual temos trabalhado recentemente no ElectroPunkz Labs.
a ideia aqui é fazer um controlador USB barato baseado em Atmega32U com botões e joysticks analógicos que podem ser usados para jogar
como NFS, GTA, meia-vida, LITTLE FIGHTER 2! etc
Fizemos nosso controlador em dois fatores de forma, o primeiro é baseado na configuração PS1 ou SNES e o outro é um controlador Xbox USB simples com controles e botões analógicos (ainda não finalizado)
Vamos fazer o V1 neste post que é o controlador de layout do PS1!
É melhor se você assistir o vídeo do projeto primeiro-
MATERIAIS
o hardware é muito simples e fácil de obter (exceto para o PCB, você pode fazer o seu próprio com o arquivo PDF do PCB em anexo)
- Arduino Leonardo / Pro Micro / Atmega32U
- Botões (tique-taque interruptores)
- PCB gravado personalizado (o PDF da matriz do botão está em anexo)
- 10K resistores
- Jumper fios
Obrigado UTSOURCE.net oferece componentes eletrônicos para este projeto! você pode verificar UTSOURCE.net, eles lidam com todos os tipos de componentes eletrônicos como por exemplo todos os componentes usados neste projeto!
PROCESSO DE CONSTRUÇÃO (Fiação, montagem , etc)
A primeira coisa que precisamos fazer é preparar a configuração básica, que é basicamente 12 botões de pressão conectados na configuração suspensa com um Pro Micro, basicamente este-
testamos isso em uma placa de ensaio e, em seguida, preparamos um PCB de acordo com o esquema acima.
Depois de fazer o PCB (na cadência do OrCad), imprimimos o PDF da camada superior em um papel brilhante.
Eu cortei o papel brilhante de acordo com o formato do PCB e o coloco em uma placa revestida de cobre e aplico calor a ele para transferir a tinta do papel brilhante para a placa revestida de cobre. (Método básico de transferência de tom, assista ao meu vídeo sobre este tópico)
Depois de deixar o PCB pronto, nós o colocamos em uma solução de corrosão e gravamos o PCB, depois disso, nós apenas perfuramos os componentes e nosso DIY GAME CONTROLLER PCB estava pronto!
Em seguida, colocamos tudo de acordo com o esquema e o circuito estava pronto.
Depois de preparar o circuito, projetamos e imprimimos em 3D a caixa / caixa da PCB para o controlador no Fusion360.
Agora só precisamos fazer o upload do código e jogar alguns jogos com ele.
CÓDIGO
Carregue o código fornecido em seu Pro Micro.
conselho, primeiro teste sua placa / configuração completamente, verifique a resistência e conectividade dos traços de PCB porque se algo estiver faltando, isso causaria muitos erros de teclado, porque linhas de aterramento ausentes enviarão sinais irregulares para os pinos e seu micro pro manterá ao pressionar teclas aleatórias, o que tornará a reprogramação do Pro micro muito difícil.
TESTE
A primeira coisa que você precisa fazer é abrir o bloco de notas, e começar a pressionar as teclas do seu controlador e verificar se as teclas ao pressionar estão exibindo as palavras corretas que foram atribuídas
ou apenas use qualquer aplicativo de teste de teclado ou aplicativo da web.
Se tudo estiver funcionando de acordo com o código, abra qualquer jogo e comece a jogá-lo com este CONSOLE DE JOGOS DIY!
Assista o vídeo-
OUTRAS MELHORIAS
Bem, a primeira coisa que vou adicionar a esta configuração são joysticks analógicos para jogos adequados que usam um mouse para navegar pelo jogador, tipo o XBOX ONE CONSOLE.
V2 terá um PCB adequado com layout de controlador XBOX One, portanto, fique atento para isso.
Deixe um comentário se vocês tiverem algum problema!
Código
- CÓDIGO
CÓDIGO C / C ++
#includeint WPin =2; // UP int SPin =3; // DOWNint APin =4; // LEFT int DPin =5; // RIGHTint UPLpin =7; // Qint superior esquerdo UPRpin =9; // superior direitoint Xpin =14; // xint Apin =10; // iint Ypin =15; // yint Bpin =16; // bvoid setup () {pinMode (WPin, INPUT); pinMode (SPin, INPUT); pinMode (APin, INPUT); pinMode (DPin, INPUT); pinMode (UPLpin, INPUT); pinMode (UPRpin, INPUT); pinMode (Xpin, INPUT); pinMode (Apin, INPUT); pinMode (Ypin, INPUT); pinMode (Bpin, INPUT); digitalWrite (WPin, HIGH); digitalWrite (SPin, HIGH); digitalWrite (APin, HIGH); digitalWrite (DPin, HIGH); digitalWrite (UPLpin, HIGH); digitalWrite (UPRpin, HIGH); digitalWrite (Xpin, HIGH); digitalWrite (Apin, HIGH); digitalWrite (Ypin, HIGH); digitalWrite (Bpin, HIGH); Keyboard.begin (); } void loop () {if (digitalRead (WPin) ==0) {Keyboard.write ('W'); atrasoMicrosegundos (1); } if (digitalRead (SPin) ==0) {Keyboard.write ('S'); atrasoMicrosegundos (1); } if (digitalRead (APin) ==0) {Keyboard.write ('A'); atrasoMicrosegundos (1); } if (digitalRead (DPin) ==0) {Keyboard.write ('D'); atrasoMicrosegundos (1); } if (digitalRead (UPLpin) ==0) {Keyboard.write ('q'); atrasoMicrosegundos (1); } if (digitalRead (UPRpin) ==0) {Keyboard.write ('e'); atrasoMicrosegundos (1); } if (digitalRead (Xpin) ==0) {Keyboard.write ('x'); atrasoMicrosegundos (1); } if (digitalRead (Apin) ==0) {Keyboard.write ('i'); atrasoMicrosegundos (1); } if (digitalRead (Ypin) ==0) {Keyboard.write ('y'); atrasoMicrosegundos (1); } if (digitalRead (Bpin) ==0) {Keyboard.write ('b'); atrasoMicrosegundos (1); }}
Peças personalizadas e gabinetes
Esquemas
Processo de manufatura
- Jogo Arduino Gyroscope com MPU-6050
- Dados digitais Arduino
- Jogo Arduino Nano Tetris em Matriz 16x8 caseira
- Garrafa de água alimentada por Arduino
- Jogo Pixel Chaser
- Arduino Home Controller ativado por Alexa
- NeoMatrix Arduino Pong
- Luva de mão inteligente
- Faça você mesmo Arduino 1D Pong Game com WS2812 LED Strip
- Arduino DMX-512 Tester Controller