Índice:

Máquina modular de arcade: 12 etapas
Máquina modular de arcade: 12 etapas

Vídeo: Máquina modular de arcade: 12 etapas

Vídeo: Máquina modular de arcade: 12 etapas
Vídeo: CONSTRUÇÃO DE UM FLIPERAMA MULTIJOGOS - PARTE 3/5 - ENCODER USB ZERO DELAY 2024, Julho
Anonim
Máquina Modular de Arcade
Máquina Modular de Arcade

Meus dois filhos e eu queríamos construir uma máquina de fliperama, mas não podíamos decidir que tipo construir entre um gabinete completo, um balcão ou um console estilo bastão de luta para conectar a uma TV. Eventualmente, ocorreu-nos que poderíamos construir todos os três como uma solução modular com módulos que podem ser usados individualmente ou combinados conforme desejado.

Devido ao design simples e à escolha dos componentes, esta é também uma construção bastante econômica em comparação com muitos projetos de máquinas de fliperama caseiros e você deve conseguir por menos de 200 € / $ em materiais. Já tinha a maior parte dos materiais de carpintaria e eletrónica por aí, por isso gastei menos de 100 € até agora.

Etapa 1: Design

Projeto
Projeto
Projeto
Projeto
Projeto
Projeto

O conceito de design básico é um sistema de fliperama para dois jogadores composto por um conjunto de módulos independentes, cada um com alguma função individual e que também se complementam quando aparafusados.

  • O Módulo de Controle contém todos os controles e eletrônicos de controle, incluindo os controladores USB. Este módulo pode ser usado como um controlador tipo stick de luta conectado a um console ou Raspberry PI.
  • O Módulo de exibição hospeda o monitor e o Raspberry PI (ou sua escolha de SBC) e pode ser usado de forma independente como um computador "tudo-em-um" ou conectado ao Módulo de controle para formar uma unidade de arcade bartop.
  • O Módulo de suporte atua como uma unidade de armazenamento no modo autônomo e, quando combinado com o bartop, forma uma máquina de fliperama completa.

Tentamos manter o design o mais simples e funcional possível, seguindo algumas dicas do design vintage dos anos 70 e 80 - jogos de mesa - e evitando elementos não funcionais como a tenda iluminada e molduras em T encontradas em muitos gabinetes. Claro, você pode modificar o design para adicionar esses elementos, se desejar.

Decidi usar um layout de botão bastante clássico que parecia lembrar dos fliperamas da minha juventude com um agrupamento de "seis botões em linha reta" ao lado de cada um dos joysticks (StreetFighter2 FTW). Coloquei os botões Iniciar e Selecionar no painel frontal para atender à emulação do console, bem como às funções de entrada de moedas e seleção de jogadores. Também coloquei um botão de cada lado para jogos de pinball. Claro que você está livre para modificar o design de acordo com seus próprios gostos e métodos de entrada desejados, por exemplo, trackballs. spinners ponderados etc.

Fiz um esboço de conceito inicial da unidade da parte superior da barra no papel e, em seguida, recriei os modelos corretos de escala no SketchUp - consulte os arquivos anexados para cada um dos módulos e combinações.

Eu baseei as dimensões em um monitor widescreen de 19 que comprei de segunda mão por € 10. Isso resultou em uma largura geral do gabinete de 500 mm, deixando cerca de 30 mm de folga no caso de eu precisar trocar o monitor.

Verifique os arquivos do SketchUp para medidas exatas em todas as dimensões. Ao cortar um painel ou orifício específico, usei a ferramenta de fita métrica no SketchUp para medir a dimensão no modelo antes de marcar os cortes no material de construção.

Etapa 2: Ferramentas e materiais para carpintaria

AVISO: USE CUIDADO E EQUIPAMENTO DE SEGURANÇA ADEQUADO AO OPERAR FERRAMENTAS ELÉTRICAS

Ferramentas

  • Chave de fenda e parafusos
  • Serra de mesa ou serra circular
  • Serra de vaivém
  • Brocas e brocas diversas, incluindo serra copo de 28 mm para os botões
  • Lixa
  • Roteador e broca de arredondamento

Materiais

  • Folhas de MDF de 19 mm (3/4 ")
  • Folha de MDF de 6 mm (3/4 ")
  • Suportes angulares (usei uns de plástico muito úteis - veja as fotos da construção)
  • Enchimento de madeira
  • Paint (consulte as etapas "Concluir" mais tarde para obter detalhes)

Etapa 3: construção do módulo de controle

Construção do Módulo de Controle
Construção do Módulo de Controle
Construção do Módulo de Controle
Construção do Módulo de Controle
Construção do Módulo de Controle
Construção do Módulo de Controle
Construção do Módulo de Controle
Construção do Módulo de Controle

Iniciei o Módulo de Controle cortando as laterais do MDF de 19 mm com base nas dimensões do modelo SketchUp.

Em seguida, cortei os painéis frontal e traseiro. Marquei os chanfros nesses painéis colocando-os bem contra os lados e marcando o ângulo com um lápis e unindo as marcas de cada lado com uma borda reta. Cortei então à vista na serra de mesa e acabei com uma lixa. Tenho certeza de que existe uma maneira melhor de fazer isso com mais ferramentas e / ou habilidades melhores, mas funcionou bem para minhas necessidades e não demorou muito.

Em seguida, cortei os orifícios dos botões frontais e laterais e conectei todos os painéis com os suportes angulares e os parafusos. Inicialmente planejei usar cola, mas meus testes com colagem em uma borda cortada de MDF pareceram indicar que ela não seria forte o suficiente. Também já tinha um monte de colchetes que reciclei de um projeto antigo;).

Eu também arredondei as bordas frontais superiores neste estágio usando a tupia com a broca arredondada de canto. Isso dá uma aparência mais agradável e uma sensação mais confortável ao módulo e contorna as bordas ásperas onde suas mãos descansam naturalmente ao lado dos controles.

Em seguida, cortei a parte superior e a inferior do MDF de 6 mm. Chanfrei o painel superior como nos painéis frontal e traseiro para garantir um ajuste confortável e acabamento perfeito. Não chanfruei o painel inferior porque não pretendo preenchê-lo e pintá-lo. Em vez disso, vou usá-lo como um painel de acesso de manutenção. Eu fiz furos para parafusos coutersunk e furos correspondentes nos suportes de canto.

Em seguida, desmontei o painel traseiro e cortei um grande orifício para acesso regular aos cabos USB e ao Raspberry PI.

Finalmente cortei o botão do painel superior e os orifícios do joystick e montei novamente. Não fixei o painel superior no lugar neste estágio, pois queria mantê-lo solto durante o processo de fiação.

Etapa 4: Ferramentas e materiais eletrônicos

NB: Esta lista só é necessária se você quiser se tornar um nerd completo em eletrônica. Você pode e provavelmente deve obter tudo isso como parte de um kit plug and play (como esses) e evitar toda a solda e fiação personalizada. Tendo feito isso uma vez "da maneira mais difícil", eu definitivamente irei seguir o caminho do kit se algum dia eu fizer outro gabinete.

Ferramentas

  • Multímetro / testador de conectividade
  • Ferro de solda
  • Cortador de arame
  • Ferramenta de crimpagem (acabei de usar o cortador de fio)

Materiais

  • Arduino Leonardo / Pro Micro com perfil de joystick USB HID (usei clones baratos)
  • Hub USB
  • Joystick e botões do Arcade.
  • Conectores de crimpagem para combinar com seu joystick e botões selecionados
  • 2 mini breadboards
  • Fios de conexão (usei principalmente fios de jumper Dupont)
  • Solda eletrônica (ainda tinha meu carretel de núcleo de colofónia original da faculdade)
  • Tubulação termorretrátil

Etapa 5: Fiação do Módulo de Controle

Fiação do Módulo de Controle
Fiação do Módulo de Controle
Fiação do Módulo de Controle
Fiação do Módulo de Controle
Fiação do Módulo de Controle
Fiação do Módulo de Controle

Mais uma vez, recomendo considerar um kit plug and play em vez da abordagem documentada aqui. Só siga esta abordagem se você:

A. Quer controle total do código de manuseio do botão de baixo nível

B. Gosto muito de solda e fiação customizada (quem não gosta)

C. Já tem as ferramentas e peças e / ou deseja economizar alguns dólares

D. Quer aprender mais sobre essas coisas ou apenas praticar

Minhas motivações pessoais foram uma mistura das opções acima. Ok, então aqui está como fiz a fiação:

Primeiro fiz cabos adaptadores para unir os conectores crimpados dos botões aos fios do conector Dupont. Fiz um destes para o microinterruptor em cada um dos botões e os quatro em cada um dos joysticks. Grite para proibir Larry por uma escavação na linha de produção desses.

Em seguida, usei esses cabos personalizados para conectar os botões e joysticks para inserir os pinos em cada um dos microcontroladores por meio das placas de ensaio.

NB: neste projeto há um microcontrolador separado e, portanto, um cabo USB para cada jogador. Divida o joystick e os microinterruptores de botão de acordo entre eles e conecte ambos os botões de pinball ao mesmo micro-controlador. Confira as fotos que mostram uma progressão através dos estágios de fiação se você ficar preso.

Em seguida, precisei adicionar um fio para enviar um sinal a cada um dos microinterruptores que, então, retornaria o sinal ao pino de entrada do microcontrolador quando o botão fosse pressionado. Usei os 4 pares trançados em alguns cabos Cat 5e para fornecer o sinal aos joysticks soldando-os todos juntos em uma extremidade e anexando um cabo conector Dupont conectado ao pino de sinal no microcontrolador.

Fiz um pequeno cabo em cadeia para cada um dos 6 grupos de botões e finalmente usei meus cabos adaptadores personalizados nos botões iniciar / selecionar e pinball novamente, todos conectados ao pino de sinal do microcontrolador.

Conectar os microinterruptores aos microcontroladores foi bastante simples devido ao uso da mini placa de ensaio e dos conectores Dupont, o que significava que eu poderia facilmente mover os fios conforme necessário.

Etapa 6: Código do controlador

Código do Controlador
Código do Controlador
Código do Controlador
Código do Controlador
Código do Controlador
Código do Controlador

O código é bastante básico. Modifiquei um exemplo de gamepad da excelente Arduino Joystick Library

Você pode aprender mais sobre como começar a usar essa biblioteca neste prático instrutível.

No final desta etapa, tínhamos um controle de stick de luta para 2 jogadores em funcionamento, então comemoramos com algumas rodadas de StreetFighter2 no meu laptop!

Eu planejei originalmente conectar os microcontroladores diretamente ao Raspberry PI via USB, mas durante o teste no laptop descobri que conectar e desconectar os conectores micro USB aos microcontroladores através do painel de acesso era muito complicado e eventualmente interrompi o conector micro USB de um dos microcontroladores.

A solução para isso foi incluir um hub USB no módulo de controle. Isso significa que apenas uma única conexão foi exposta do Módulo de Controle e a solução geral foi muito mais robusta. Com a fiação concluída, acrescentei orifícios de parafusos escareados ao painel superior e aparafusei no lugar.

gamepad.ino

// Exemplo de gamepad simples que demonstra como ler cinco Arduino
// pinos digitais e mapeie-os para a biblioteca Arduino Joystick.
//
// Os pinos digitais são aterrados quando são pressionados.
//
// NOTA: Este arquivo de esboço é para uso com Arduino Leonardo e
// Apenas Arduino Micro.
//
// Versão modificada do código original por Matthew Heironimus
// 2018-08-11
//--------------------------------------------------------------------
#incluir
Joystick_ Joystick;
voidsetup () {
// Inicializar pinos de botão
pinMode (2, INPUT_PULLUP);
pinMode (3, INPUT_PULLUP);
pinMode (4, INPUT_PULLUP);
pinMode (5, INPUT_PULLUP);
pinMode (6, INPUT_PULLUP);
pinMode (7, INPUT_PULLUP);
pinMode (8, INPUT_PULLUP);
pinMode (9, INPUT_PULLUP);
pinMode (10, INPUT_PULLUP);
pinMode (16, INPUT_PULLUP);
pinMode (20, INPUT_PULLUP);
pinMode (21, INPUT_PULLUP);
// Inicializar biblioteca de joystick
Joystick.begin ();
Joystick.setXAxisRange (-1, 1);
Joystick.setYAxisRange (-1, 1);
}
// Último estado dos botões
int lastButtonState [12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
pinos internos [12] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 20, 21};
voidloop () {
// Leia os valores dos pinos
para (intíndice = 0; índice <12; índice ++)
{
int currentButtonState =! digitalRead (pinos [índice]);
if (currentButtonState! = lastButtonState [index])
{
interruptor (pinos [índice]) {
case2: // UP
if (currentButtonState == 1) {
Joystick.setYAxis (-1);
} outro {
Joystick.setYAxis (0);
}
pausa;
case3: // RIGHT
if (currentButtonState == 1) {
Joystick.setXAxis (1);
} outro {
Joystick.setXAxis (0);
}
pausa;
case4: // DOWN
if (currentButtonState == 1) {
Joystick.setYAxis (1);
} outro {
Joystick.setYAxis (0);
}
pausa;
case5: // LEFT
if (currentButtonState == 1) {
Joystick.setXAxis (-1);
} outro {
Joystick.setXAxis (0);
}
pausa;
case6:
Joystick.setButton (0, currentButtonState);
pausa;
case7:
Joystick.setButton (1, currentButtonState);
pausa;
case8:
Joystick.setButton (2, currentButtonState);
pausa;
case9:
Joystick.setButton (3, currentButtonState);
pausa;
case10:
Joystick.setButton (4, currentButtonState);
pausa;
case16:
Joystick.setButton (5, currentButtonState);
pausa;
case20:
Joystick.setButton (8, currentButtonState);
pausa;
case21: {
Joystick.setButton (9, currentButtonState);
pausa;
}
}
lastButtonState [index] = currentButtonState;
}
}
atraso (10);
}

ver rawgamepad.ino hospedado com ❤ por GitHub

Etapa 7: Configuração do Raspberry PI

Configuração Raspberry PI
Configuração Raspberry PI

Eu recomendo um Pi 3 para desempenho e compatibilidade máximos do jogo, mas se você estiver interessado apenas em jogos mais antigos, um dispositivo de menor potência como o Pi Zero também seria adequado. Estou usando um Pi 2 sobressalente que já tinha disponível.

Existem muitos recursos excelentes na web que descrevem como configurar o Pi ou outro SBC com diferentes emuladores e front-ends. Eu pessoalmente uso e recomendo o RetroPie e achei estes - excelentes - vídeos do ETA Prime uma ótima maneira de começar a trabalhar rapidamente.

Etapa 8: construção do módulo de exibição

Construção do Módulo de Exibição
Construção do Módulo de Exibição
Construção do Módulo de Exibição
Construção do Módulo de Exibição
Construção do Módulo de Exibição
Construção do Módulo de Exibição

Comecei a construção do Módulo Display com os painéis laterais, marcando e recortando o primeiro a partir das dimensões medidas no arquivo SketchUp usando a fita métrica virtual. Em seguida, usei o primeiro painel como modelo para marcar o segundo.

Em seguida, cortei o painel traseiro inferior, aparafusei alguns suportes angulares e, em seguida, aparafusei nos painéis laterais. Nesse estágio, verifiquei se meu monitor caberia. Estava um pouco mais apertado do que eu esperava, mas havia espaço suficiente.

Em seguida, adicionei o painel frontal inferior e fiz orifícios para combinar com o módulo de controle. Para marcá-los, coloquei o módulo de controle contra o módulo de exibição e rabisquei ao redor do orifício existente no módulo de controle.

Nesta fase, fui capaz de aparafusar os dois módulos usando dois parafusos de conexão do gabinete. Agora eu pude ver a forma final do módulo de topo de barra combinado!

O próximo passo foi rotear as bordas dos painéis. Para isso desmontei a unidade novamente. Também cortei o orifício para a entrada de energia e o interruptor. Para isso, primeiro dequei o orifício, depois perfurei os cantos com uma pequena broca de madeira e, por fim, cortei o material restante com uma serra espiral.

Em seguida, montei novamente a unidade, colando cada peça, desta vez. Como também estava usando braquetes, não precisei usar grampos para segurar as peças.

Agora que a unidade estava em sua forma final, recortei o painel da tela e coloquei-o no lugar, trabalhando nele com uma lixa até que se encaixasse perfeitamente. Quando fiquei satisfeito com o ajuste, retirei-o e usei um quebra-cabeças para cortar o orifício para que a tela correspondesse à área visível da tela. Feito isso, fui capaz de testar a tela no lugar usando alguns suportes para segurar o monitor na posição frouxamente.

Eu coloquei os dois módulos juntos para ver como ficava e, em seguida, terminei de colar o contorno da tela no lugar. Para fazer isso, adicionei algumas peças extras de MDF de 6 mm atrás da borda da tela para ter certeza de que era sólido e para evitar rachaduras na pintura posteriormente.

Etapa 9: Concluir

Terminar
Terminar
Terminar
Terminar
Terminar
Terminar
Terminar
Terminar

Depois que a cola secou completamente no módulo do visor, apliquei generosamente massa de madeira em todas as juntas e manchas e lixei com lixa grossa.

Em seguida, cobri-o com ligação PVA diluída como uma primeira camada de vedação. Em seguida, apliquei várias camadas de uma mistura de PVA e tinta branca de uso geral para madeira / aço que encontrei na garagem.

Essas camadas iniciais foram todas aplicadas usando um pincel comum de 2.

Quando as camadas de base secaram, fiz um lixamento leve com lixa de grão fino. Depois disso, acrescentei outra camada de tinta branca.

Quando estava seco, lixei levemente novamente e apliquei algumas camadas de tinta spray de uso geral de latas que comprei na loja de ferragens.

Antes de repetir o processo para o módulo de controle, recortei o painel traseiro superior do módulo de exibição. Este painel tem um orifício para que eu possa transportar o módulo do visor com mais facilidade. Ele também permite que o som dos alto-falantes integrados do monitor saia do gabinete.

Nesse estágio, também decidi remover os parafusos do painel superior do módulo de controle e colá-lo no lugar. Para ter certeza de que estava seguro, colei algumas peças de suporte extras primeiro.

Quando o módulo de controle foi pintado, usei uma Dremel para limpar os orifícios dos botões, testando-os continuamente quanto ao tamanho com um dos botões. Finalmente, colei a porca do conector da mobília na parte de trás dos módulos de controle.

Fiquei razoavelmente satisfeito com o resultado final desta etapa, devido à quantidade de tempo e esforço despendidos. Não era de forma alguma perfeito e poderia ser melhorado com mais tempo durante esta fase. Na verdade, depende do nível de acabamento que você deseja atingir e de quanto tempo essa etapa levará.

Etapa 10: componentes do módulo de exibição

  • Monitor Widescreen de 19 "com alto-falantes
  • Computador de placa única Raspberry PI 2 (SBC)
  • Estojo framboesa PI 2
  • Adaptador de alimentação USB 2Amp
  • Cabo micro usb
  • Cabo de áudio de 3,5 mm
  • cabo HDMI
  • Tomada do chassi principal (tipo de cabo da chaleira)
  • Cabo de chaleira de rede
  • Tomada de alimentação dupla

Etapa 11: Fiação do módulo de exibição

Fiação do módulo de exibição
Fiação do módulo de exibição
Fiação do módulo de exibição
Fiação do módulo de exibição
Fiação do módulo de exibição
Fiação do módulo de exibição
Fiação do módulo de exibição
Fiação do módulo de exibição

Primeiro, adicionei uma base e um painel traseiro ao invólucro do módulo de exibição. O painel traseiro foi preso no lugar usando travas magnéticas para que possa ser facilmente removido para acesso rápido aos componentes.

Em seguida, conectei um botão liga / desliga a uma tomada dupla para alimentar o PI e o monitor. Eu soldei os fios de energia ao switch e cobri os cabos com tubo termorretrátil. Se você não estiver totalmente confortável com esta parte, peça a ajuda de alguém qualificado. NÃO corra nenhum risco com a fiação elétrica.

Depois de fixar a chave com segurança na caixa, coloquei o monitor na posição. Dada a luta já apertada, um par de suportes de plástico extras foi tudo o que foi necessário para fixar a tela no lugar.

Em seguida, conectei um adaptador de alimentação USB para o PI e um cabo de chaleira para o monitor. Tudo o que restou foi conectar os sinais de áudio e vídeo ao monitor.

Como o monitor não tem entrada HDMI, usei um adaptador HDMI para DVI. O áudio foi fornecido aos alto-falantes integrados do monitor por meio de um cabo de áudio de 3,5 mm do PI. Com o painel traseiro ligado e as configurações de áudio no máximo, o volume do áudio está bom, mas não alto. Posso adicionar alto-falantes e um mini amplificador em uma atualização futura.

Finalmente, conectei um hub USB ao PI e pude deixar o teste do módulo de exibição totalmente operacional começar.

Etapa 12: Montagem Final e Reflexões

Montagem Final e Reflexões
Montagem Final e Reflexões
Montagem Final e Reflexões
Montagem Final e Reflexões
Montagem Final e Reflexões
Montagem Final e Reflexões
Montagem Final e Reflexões
Montagem Final e Reflexões

O último trabalho antes da montagem final foi religar e montar o Módulo de Controle após a pintura. Isso ocorreu sem problemas, além de quebrar um fio que teve que ser soldada novamente.

Antes de combinar os Módulos de Controle e Display, cortei alguns discos de filme de contato adesivo transparente para evitar que os barris do conector da mobília que se projetam do Módulo de Controle arranhem a pintura do Módulo de Display.

Foi então apenas uma tarefa simples colocar os módulos e aparafusá-los. Nesta fase, a unidade superior da barra está totalmente completa e pronta para a ação. Parece que esta será a configuração preferida, então não precisarei construir o Módulo de suporte por um tempo, pelo menos. Se e quando eu fizer isso, irei atualizar este post. O Módulo de suporte em si deve ser o mais simples de todos. É basicamente um armário de armazenamento simples com orifícios para parafusos na parte superior para conectar à unidade superior da barra.

Diverti-me muito trabalhando neste projeto com meus filhos. Aprendemos muito e agora estamos ansiosos para jogar muitos clássicos antigos de fliperama e console na nova máquina. Obrigado pela leitura e diga-nos o que achou do projeto nos comentários!

Recomendado: