TECLADO GAMER COM ARDUINO LEONARDO

Explore ao máximo de suas habilidades como gamer com um equipamento de qualidade e confortável, que auxiliará na sua performance em campeonatos ou na sua gameplay.

E o melhor de tudo, construído com Arduino Leonardo, pelas suas próprias mãos e com um custo inferior aos produtos encontrados no mercado.

Este projeto foi desenvolvido em uma escola com alunos de 12 anos, visando estimular o interesse em programação e eletrônica, bem como a construção dos próprios dispositivos eletrônicos.

Começamos pelo corte a laser da chapa de MDF, isso pode ser feito em qualquer FABLAB da sua região, caso você prefira fazer impresso em 3D, também disponibilizamos os arquivos no formato “.stl” para impressão 3D.

Fizemos o nosso em MDF, e no total ficou com 4 camadas (1 fundo, 2 no meio e 1 parte superior). Essas camadas devem ser coladas com cola de madeira e as chapas bem alinhadas para manter a forma do teclado.

Deixe secar bem a cola antes de começar a pintura, note que fizemos uma espécie de “almofada” que fica no centro do teclado, acompanhando a curvatura da palma da mão, para dar mais conforto ao jogador.

Esta peça pode ser impressa com filamento flexível.

Se for pintar com tinta spray você terá que aplicar ao menos 3 “mãos” de tinta, pois o MDF cru absorve muita tinta. A primeira mão de tinta parece que não “pega” direito, mas é assim mesmo. É natural algumas “manchas” no início.


Terceira mão de tinta. Veja como já está mais parelha a pintura

Por último fizemos um “Flake” com tinta preta. Para fazer este efeito basta pressionar a válvula da lata de spray até a metade (não pressionar totalmente), assim a tinta sai em gotas (espirros) e não em forma de spray (leque).

Uma mão de verniz transparente brilhante  faz a tinta “abrir” um pouco a cor, além de proteger a pintura de desgaste.

As peças abaixo foram feitas por nossos alunos. Receberam três mãos de tinta e duas mãos de verniz em spray.

Note que alguns alunos resolveram não usar o joystick XY e foi feito uma peça de MDF dedicada a eles.

Depois de tudo devidamente pintado e seco, é hora de começar a parte eletrônica. O esquema de ligação é muito simples, basicamente em cada pino do Arduino vai um botão e este botão está conectado ao GND.

São duas fileiras de botões uma superior e uma inferior, além é claro da tecla de espaço e o joystick XY.

Escolhemos o Arduino Leonardo, pois este pode emular mouse e teclado, utilizando uma biblioteca especifica para ele. O computador passa a reconhecer o Arduino como um dispositivo HID (Human Interface Device),  e não mais como uma porta COM padrão.

MONTAGEM:

Após cortar um espaço para o Arduino, já que simplesmente esquecemos de adicionar um espaço para ele no projeto, hehe! Sim! Esquecemos o essencial do projeto, hehe!

Depois de cortar posicione o Arduino de uma forma que o plug USB fique voltado para o lado de fora do teclado.

Basta colar a placa com cola quente para ele ficar imóvel e facilitar a soldas. Soldamos diretamente no Arduino Leonardo os 2 resistores de PULL UP de 10K nos pinos A2 e A3.

Alinhe os botões e solde um a um nos pinos. Aproveitamos para prender o joystick com 4 parafusos de 10mm e porcas.

Fizemos uma peça impressa em 3D para dar acabamento no joystick e esconder o mecanismo.

Você pode usar fita crepe para manter os botões presos no lugar enquanto faz as soldas e cola quente para organizar os fios.

Na parte superior da peça que serve de fundo para o teclado, colocamos uma tirinha de E.V.A  para manter os botões firmes e sem “chacoalhar”.

O E.V.A pode ser colado com fita dupla face ou até mesmo cola para madeira.

Pronto! Agora alinhe mais uma vez tudo e feche.

Só tome cuidado para nenhum fio ficar “espremido” entre as chapas.

VAMOS AO CÓDIGO

#include "Keyboard.h" // Esta biblioteca só funciona com o Arduino Leonardo
#define KEY_SPACE 32

int pinos[]={6,7,8,14,16,10,3,4,5,9,21,20,15}; // Pinos 20 e 21 são os pinos analócos A2 e A3
int teclas[]={'A','B','C','D','E','F','G','H','I','J','L','M', KEY_SPACE};  //definição das teclas (Ajuste como desejar)

int tempoDeResposta = 1; // Aqui você ajusta o tempo de resposta do teclado

void setup(){
  
  for (int x=0; x<=13; x++)
    {
       pinMode(pinos[x],INPUT_PULLUP); //Declara todos os pinos como entradas
    }        
      Keyboard.begin();
    
}// Fim do Setup



void loop() {

if (analogRead(0)>800){Keyboard.press(KEY_RIGHT_ARROW); delay(tempoDeResposta); Keyboard.releaseAll();}
if (analogRead(0)<200){Keyboard.press(KEY_LEFT_ARROW);  delay(tempoDeResposta); Keyboard.releaseAll();}
if (analogRead(1)>800){Keyboard.press(KEY_UP_ARROW);    delay(tempoDeResposta); Keyboard.releaseAll();}
if (analogRead(1)<200){Keyboard.press(KEY_DOWN_ARROW);  delay(tempoDeResposta); Keyboard.releaseAll();}

for(int x=0; x<=13; x++)
{
  if(digitalRead(pinos[x])==LOW)
  {
     Keyboard.press(teclas[x]);
     delay(tempoDeResposta); 
     Keyboard.releaseAll();
  }
 } 

 
}// Fim do loop

No código ajuste as teclas de acordo com o jogo que você irá jogar, ele já vem com as “Arrow Keys” e a tecla “espaço” pré definidas, as outras (“A”, “W”, ”S”, ”D”, etc) você configura a gosto no segundo Array do código.

Na hora de fazer o “upload” do programa não se esqueça de selecionar a placa Arduino Leonardo na sua IDE e a porta COM do mesmo.

Após o término do upload o Arduino irá reiniciar e automaticamente o seu computador irá reconhecê-lo como um teclado padrão.

E o nosso teclado gamer está pronto!

Após entender o funcionamento do código, você poderá alterar e incrementar seu teclado adicionando algumas MACROS, disparando uma sequência de comandos pressionando apenas 1 botão.

Já pensou em criar um botão do HADOOKEN e ficar invencível no Street Fighter?

Ou, até mesmo criar um joystick estilo volante de carro para jogar games de corrida?

Mão na massa agora!

MATERIAIS UTILIZADOS

1 Arduino pro micro Leonardo 

1 Cabo USB Cola para madeira

1 Joystick “X e Y”

2 Resistores de 10k

13 Botões (micro Switch)

13 Capas coloridas para botões

1 Chapa de MDF de 3mm

Alguns Parafusos pequenos para madeira

Alguns fios finos e coloridos

Tinta Spray de qual quer cor

Cola quente

Chapa de E.V.A  20×20 cm de qualquer cor

Fita dupla face


ESPECIFICAÇÕES TÉCNICAS
– Interface: USB
– 13 Teclas totalmente configuráveis
– Mini Joystick “XY” para as setas (arrow keys)
– Tempo de resposta extremamente rápido  ( 1ms)
– Compatível com Window 7 /  8 / 10, Linux e Raspberry PI (Recalbox) e Android
– Dimensões aprox. do produto: 20 x 20 x 1,6 cm.
– Peso: 200g Aproximadamente
– Poucos componentes para a construção

ARQUIVOS PARA

DOWNLOAD

Todos os arquivos para a fabricação do projeto e código para o Arduino estão disponíveis para download em nosso repositório no GITHUB – Circuito Maker – Teclado Gamer.
Ou em nosso Thingverse – Teclado Gamer.

E se você gostou do nosso tutorial, mas ainda não segue a Circuito Maker no Youtube e Instagram, inscreva-se agora.

Ajude a impulsionar o nosso trabalho nas Redes Sociais. Abraço!