Gamepad de PC: Arduino Pro Micro

Introdução

 

Aqui no nosso blog já usamos e fizemos posts de diversas placas microcontroladas, que resultaram em vários posts legais e bastante aprendizado. Só para citar alguns exemplos, já utilizamos por aqui a placa:

Hoje será a vez de apresentar uma placa sensacional, que é o Arduino Pro Micro!

Qual a diferença do Pro Micro para as outras?

 

Olhando rápido, ela parece muito ser uma fusão do Arduino Nano com o Arduino Pro Mini, pois ela é tão pequena quanto Arduino Pro Mini e ainda vem com o conector MicroUSB, que facilita nossa vida para mandar os programas (diferente do Pro Mini, não precisa de um conversor USB externo). Mas se formos olhar detalhadamente para ela, veremos que ela possui um Chip Atmega32U4, o que faz ela uma placa extremamente poderosa, muito mais que o Arduino Pro Mini.

Se caso você conheça a placa Arduino Leonardo, certamente saberá que ela é famosa justamente por conseguir emular dispositivos USB como mouse, teclado e outros periféricos, te dando a possibilidade de fazer com que o Arduino mande comandos para o computador e o “engane”, fazendo se passar por um humano.

O Arduino Pro Micro funciona exatamente como o Arduino Leonardo, tendo a vantagem de ser extremamente compacto. Você pode ter ficado na dúvida se isso significa que essa placa só serve para controlar o computador, certo? E a resposta é não! Tanto a placa Leonardo e a Pro Mini funcionam como qualquer outro Arduino para projetos gerais, mas essas possuem esse poder adicional.

A verdade é que o Arduino Pro Micro está para o Arduino Leonardo assim como o Arduino Pro Mini está para o Arduino Uno. Ambos funcionam como miniaturização da placa maior.

Se caso seu projeto precise/demande também várias portas analógicas, o Arduino Pro Micro pode ser a pedida certa também, porque ela possui 9 portas analógicas, contra 6 Arduino Uno.

 

Especificações da Placa

 

Aqui está as especificações da placa:

  • Microcontrolador: Atmega32U4;
  •  Regulador 5V integrado;
  • Tensão de operação: 5V;
  • Tensão de entrada: 5-12V;
  • Corrente Máxima de saída: 150mA;
  • Proteção de sobre-corrente e polaridade reversa;
  • Conexão USB; – Digital I/O Pins: 12 (dos quais 5 oferecem saída PWM);
  • Pinos de entrada analógica: 9;
  • Memória Flash: 32 KB (dos quais 2 KB são usados pelo carregador de inicialização);
  • SRAM: 2 KB;
  • EEPROM: 1 KB;
  • Clock Speed: 16 MHz;

E aqui é o seu pinout, com a função de cada pino:

Onde você pode observar os pinos de comunicação serial, SPI e I2C.

Se caso você entenda diagramas esquemáticos e queira dar uma olhada nos detalhes construtivos da placa no sentido de ligações elétricas, clique aqui. Clicou e não entendeu nada? Clique aqui e aprenda sobre diagramas esquemáticos

 

Projeto

 

Com a placa devidamente apresentada, vamos ao projeto de hoje. Imagina que chegou uma visita na sua casa, e é uma pessoa querendo jogar algum jogo no computador com você, mas você só tem um controle. O que fazer? Não seria legal você mostrar seus conhecimentos e montar ali mesmo na hora um controle completamente funcional e se divertir com ele?

O projeto do Joystick explorará as principais características do Pro Micro: Ser pequeno a ponto de ser encaixado em uma protoboard e conseguir simular para o computador um dispositivo USB do tipo Gamepad. Com isso, iremos utilizar coisas simples como pushbuttons e um joystick para fazer este projeto.

 

Materiais

 

 

Desenvolvimento

Montagem

O primeiro passo é remover os pinos 90° que vieram no módulo original, e soldar no lugar pinos 180°, que você adquiriu

 

No meu caso, o módulo possuia ilhas de solda na parte superior, mas pode acontecer de o módulo ter ilhas somente na parte inferior, o que dificultará um pouco, mas dará para realizar a soldagem normalmente. Você precisará de um apoio para segurar o módulo e a barra de pinos, e realizar a soldagem por baixo, como na foto abaixo:

 

Créditos: Samuel Martins

 

Recomendo que você tire a peça preta depois da soldagem, fazendo ficar dessa forma:

 

Créditos: Samuel Martins

 

Com os pinos devidamente soldados, você poderá realizar a montagem abaixo, optando sempre por utilizar jumpers em U, ou fazer seus próprios jumpers utilizando fios regidos finos.

 

A montagem real ficou assim, se caso você queira se inspirar nela:

 

Com a montagem concluída, podemos partir para a programação do módulo.

Código

Para o projeto, iremos utilizar uma biblioteca desenvolvida pelo Matthew Heironimus, no qual o Github da biblioteca pode ser consultado clicando aqui.

Para fazer o download da biblioteca na versão que estamos utilizando, clique aqui.

Para instalar ela, vá na Arduino IDE em “Sketch> Incluir Biblioteca > Adicionar biblioteca .ZIP”

Selecione o arquivo “ArduinoJoystickLibrary-master.zip” e dê um abrir. A Arduino IDE irá instalar a biblioteca automaticamente.

Abra a Arduino IDE e copie o seguinte código:

A explicação de cada linha está nos comentários do código.

Para carregar seu código, selecione a opção “Arduino Micro”. Você poderá selecionar também a opção “Arduino Leonardo” se desejar.

Selecione a Porta COM correta, e envie o código. O computador irá fazer um sinal de que um dispositvo foi desplugado, mas não se preocupe, é comum.

O seu Sistema Operacional pode demorar alguns instantes para reconhecer e configurar o novo dispositivo, mas assim que identificado tudo estará pronto para ser testado.

 

Conclusão

 

Abra um jogo qualquer, configure os controles para o seu GamePad Arduino Micro com cada função individual, e se divirta. Se tudo deu certo, você poderá comemorar o fim do projeto fazendo igual eu, jogando Rayman Legends com seu controle novo.

 


Gostou tanto a ponto de querer fazer um controle assim permanente para você? Que tal utilizar uma Placa Perfurada para você soldar tudo e ter o seu próprio controle DIY?

Você realizou a montagem e gostou muito? Posta lá no instagram e nos marca: @eletrogate 

Achou legal mas não entende nada sobre Arduino? Não fique triste! Agora temos um canal no Youtube fresquinho, e acabamos de lançar um vídeo falando sobre o que é Arduino, confere lá e se inscreve.

Dúvidas e sugestões, utilize a parte dos comentários! Não se esqueça de avaliar o post aqui embaixo.

Muito obrigado por ter lido até aqui. Abraços e até a próxima!

 

Avaliação: 5.0/5. De 6 votos.
Espere por favor...
Gustavo Nery
Gustavo Nery
Cursando Engenharia de Controle e Automação pela UFMG. Apaixonado por eletrônica, computação e tecnologias na área de sistemas embarcados. Nos tempos livres me divido entre desenvolver pesquisa na universidade, adquirir novos conhecimentos e estar com a família.
Acesse nossa loja