Índice:

Controlador em movimento: 8 etapas
Controlador em movimento: 8 etapas

Vídeo: Controlador em movimento: 8 etapas

Vídeo: Controlador em movimento: 8 etapas
Vídeo: Acidente de trabalho em máquina 2024, Novembro
Anonim
Controlador On the Go
Controlador On the Go
Controlador On the Go
Controlador On the Go
Controlador On the Go
Controlador On the Go

Você gosta de jogar no seu smartphone? Você está cansado de jogar com controles de tela de toque desajeitados? Odeio esquecer de carregar seu controlador Bluetooth? Precisa de um uso para o cabo móvel que você comprou, mas nunca usa?

Por que não fazer o seu próprio controlador em movimento?

Tenho certeza de que estou muito atrasado para o jogo (trocadilho intencional), mas descobri recentemente que meu antigo smartphone era capaz de jogar jogos retro via emulação. Crescendo, eu era um grande fã dos sistemas Game Boy e tenho boas lembranças de jogar por horas e forçar meus olhos em longas viagens de carro tentando desesperadamente encontrar um ponto de salvamento antes que minha bateria acabasse ou o sol estivesse muito além do horizonte para veja minha tela. Agora posso jogar no meu telefone e dar saudades, mas com uma bela tela retroiluminada. Graças à tecnologia!

Isenção de responsabilidade: a emulação de jogos é um assunto delicado e, em alguns casos, contorna a linha da pirataria. Por favor, educem-se e joguem com responsabilidade!

Fundo:

Decidi prosseguir neste projeto depois de fazer um teclado de atalho. Enquanto aprendia a biblioteca de teclado do arduino e criava atalhos, vinculei alguns dos botões de teste ao WASD. Ele imediatamente começou a trabalhar com meus jogos para PC e isso fez as rodas girarem. Na mesma época, fiquei sem espaço no meu telefone para livros de áudio e verifiquei como usar uma unidade flash USB com meu telefone, já que meu modelo não permite cartões microSD. Foi quando aprendi sobre OTG. O OTG utiliza a carga da bateria do seu telefone para alimentar o dispositivo conectado a ele. Isso inclui teclados, mouses e drives flash, para citar alguns. O telefone pode alimentar dispositivos de 5v e adivinhe o que o arduino micro precisa para operar? Foi uma combinação feita no céu.

Suprimentos

Arduino Micro

Placa de protótipo

Botões de 12 x 6 mm (usei interruptores tácteis tácteis clássicos da placa de ensaio)

Ferro de solda e solda

impressora 3d

Cabo em movimento (OTG); Eu fiz o meu

Cabo de carregamento micro USB

Etapa 1: Design

Projeto
Projeto
Projeto
Projeto
Projeto
Projeto

Eu queria que meu controle fosse portátil e oferecesse todos os botões de que eu precisaria para jogar até a era do Super Nintendo. Isso significava que eu precisaria de 12 botões. Quatro para o pad de direção (d-pad) e oito para A, B, X, Y, Start, Select, Left Trigger e Right Trigger. Eu também tinha um requisito adicional de que queria que fosse simétrico para que pudesse jogá-lo com uma mão usando qualquer uma das mãos. Esse requisito adicional pode parecer estranho, mas para dar algum contexto, devo mencionar que recentemente me pego segurando um bebê dormindo e só posso usar uma das mãos durante meu tempo limitado de jogo.

Com os requisitos definidos, propus projetar meu controlador em CAD. Eu pessoalmente uso o OnShape, mas sei que muitas pessoas também têm sucesso com o Fusion360. Eu gostaria de dar uma mensagem rápida para as outras pessoas neste site que projetam suas próprias criações. É trabalho duro! O design que eu fiz era super simples, mas ainda demorou muitas horas para ficar satisfeito. Enquanto estou digitando, noto muitas melhorias que gostaria de fazer.

(Eu pretendo mas os arquivos.stl no Thingiverse quando o tempo permitir. Os arquivos estarão lá para que eu possa atualizá-los sem ter que fazer upload de arquivos constantemente aqui.)

Etapa 2: imprima sua criação

Imprima a sua criação!
Imprima a sua criação!

Tenho uma impressora Ender 3 que só tenho há alguns meses. É uma ótima impressora para começar, se você quiser entrar na impressão 3D. Eu não percebi o quão fora de sintonia estava até medir minhas partes para este projeto. Até este projeto, eu só o usava para imprimir minis para jogos de mesa. Os minis ficaram ótimos e eu não me importei muito com as dimensões. Foram necessários vários cubos de calibração e um novo rolo de filamento antes de ficar feliz com os resultados.

Etapa 3: Preparando sua placa de protótipo

Preparando sua placa de protótipo
Preparando sua placa de protótipo
Preparando sua placa de protótipo
Preparando sua placa de protótipo

Antes de soldar botões em uma placa protótipo, testei todos os botões em uma placa de ensaio e testei meu código do arduino ao mesmo tempo. Vou revisar o código em uma etapa posterior.

Agora é a melhor hora para cortar sua placa de protótipo no tamanho certo. Use a caixa do controlador impresso como um guia e ajuste os botões a seco para garantir que tudo esteja alinhado. Eu apenas peguei alguns recortes de arame e cortei o excesso de placa, em seguida, lixei as bordas com uma lixa 150.

A fiação para o controlador é realmente simples, já que estamos usando os resistores pull up internos do arduino micro. Todos os botões vão para uma entrada e aterramento. Os botões que estou usando são interruptores momentâneos táteis genéricos de 6 mm.

Soldar os botões do arduino foi um pequeno quebra-cabeça divertido de resolver. Alguns dos botões estavam sob o arduino e eu tive que passar os fios por baixo dele antes de soldar o arduino à placa de protótipo. Se você olhar de perto no lado do botão da placa, perdi a esquerda e a direita para o direcional.

Para o meu projeto específico, soldei os botões do pad direcional para cima e para baixo (perdi os botões do pad direcional esquerdo e direito) à placa protótipo junto com alguns fios extra longos, virei a placa e soldei o arduino. Não tenho um diagrama porque na maioria das vezes soldei os botões, um de cada vez, aleatoriamente (posso fazer o upload de um se houver interesse suficiente). Depois que o arduino está preso, virei a placa de volta para o lado do botão e soldei o resto dos botões e seus fios.

Etapa 4: Opcional: enfeite a caixa do controlador

Antes da montagem final, é um bom momento para lixar, preencher as lacunas e pintar a caixa do controlador. Optei por pular esta etapa para meu protótipo porque queria ter algo para usar imediatamente. Quando eu inevitavelmente melhorar meu design para algo mais polido, vou dar-lhe o trabalho duro que ele merece.

Etapa 5: Montagem final

Assembléia final
Assembléia final

Agora é a hora de colocar todos os seus botões e a placa de protótipo concluída na caixa. Usei parafusos de chapa de metal # 4-24 x 1/2 para o meu projeto. Eles realizam o trabalho, mas não se encaixam tão bem quanto eu gostaria.

Etapa 6: programe seu Arduino

Você pode querer fazer esta etapa antes, quando ainda estiver projetando a placa ou depois de ter soldado tudo na placa de protótipo. Eu só gosto de ter isso em sua própria seção.

O código é muito simples em relação à maioria dos programas arduino que já vi. Precisamos apenas atribuir a cada botão um valor de teclado e o arduino fará um loop para verificar quais botões foram pressionados e enviar essa informação para o nosso telefone.

Para os interessados, uso o app retroArch para jogar meus jogos retrô. As teclas que usei são definidas para o layout de teclado padrão usado para 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' // ombro esquerdo = 'q' // ombro direito = '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'}; Botões de salto * = novo salto [NUM_BUTTONS]; void setup () {for (int i = 0; i <NUM_BUTTONS; i ++) {botões .attach (BUTTON_PINS , INPUT_PULLUP); botões .interval (25); } // inicializa o controle sobre o teclado: Keyboard.begin (); } void loop () {// verifique se o valor mudou para (int i = 0; i <NUM_BUTTONS; i ++) {buttons .update (); if (botões .fell ()) {Keyboard.press (BUTTON_KEYS ); } if (botões .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

Etapa 7: Jogue seus jogos

Jogue seus jogos!
Jogue seus jogos!

Alternativamente, este controlador pode ser usado com um PC sem o cabo OTG para enviar pressionamentos de teclas ou macros. Eu também tinha um amigo que disse que um controlador como esse também poderia ser útil para desenhar tablets, embora eu nunca tenha mexido com um antes.

Espero que você tenha achado este Instructable útil. Abaixo está uma seção de lições aprendidas para os curiosos sobre o que aprendi durante o processo e o que eu gostaria de ter feito de forma diferente.

Etapa 8: Lições Aprendidas

CAFAJESTE:

Nunca mexi muito com software CAD no passado e tive que aprender em movimento com este design. Originalmente, optei por um design mais vertical que caberia em suas mãos, como um Wii Nunchuk. Meu conhecimento limitado de design com formas orgânicas foi minha ruína. Talvez eu devesse estudar o Intructables em sua aula de design CAD.

Botões:

Os botões que usei eram mais altos do que eu gostaria (especialmente quando você estava tentando impedir alguém de acordar). Eu gostaria de encontrar alguns botões mais silenciosos. Incorporar molas entre os botões e as tampas dos botões ajudaria muito a tornar a construção mais polida. Os botões estão frouxos demais para o meu gosto.

De solda:

Sou um novato em soldagem e não tenho mãos muito firmes. Soldar todos aqueles fios minúsculos por todo o lugar demorou muito mais do que eu esperava. Se eu tivesse que fazer tudo de novo, definitivamente mapearia onde meus fios iriam passar antes de agarrar o ferro. Isso atenuaria os erros que descobri após afixar o arduino na placa do protótipo e teria me poupado tempo.

Recomendado: