Controlando Robôs com joystick de Playstation

Controle seus robôs com um joystick profissional

Daniel O. Basconcello Filho

Atualização - 21 de Junho de 2014

Para facilitar a vida dos "doers", o código fonte do firmware está na página 4, e o arquivo hexa compilado está na página 6

Vamos ao artigo então.

Quem faz robôs de alguma forma precisa controlá-los. Na verdade um robô para ser "Robô" tem que se auto-controlar, porém mesmo embarcando alguma inteligência no seu dispositivo, você ás vezes precisa mandar comandos para ele.

Depois de várias tentativas de construir um controle para usar nos meus robôs, encontrei alguns artigos na net sobre o controle de PlayStation(r). Como fui (sou) bem viciado nesta linha de console, resolvi investir na idéia.

 
controle de playstation e o circuitinho para controlá-lo

O legal desse controle é que ele tem dois joysticks analógicos(*) que você pode usar para controlar coisas como servo-motores ou a direção do seu robô e é proporcional, ou seja, se você coloca um pouquinho para o lado a saída é um número pequeno, colocando mais a saída é maior, etc. Vamos ás características do controle:

  • Dois controles proporcionais independentes (esquerdo e direito) com dois eixos (x e y) cada
  • 16 botões
  • "pegada" ergonômica
  • conjunto de botões separados para mãos direita e esquerda.
  • possibilidade de combinar botões (nº de combinações = MUITO grande)

Objetivo

O projeto trata-se de construir um aparelho para capturar as informações do controle e enviar esses dados em padrão serial de forma que seus robôs possam entender. Essa conversão é o objetivo do projeto, visto que hoje em dia qualquer robô possui um controlador que entende saída serial. Para cumprir o objetivo, precisamos fazer com que o controle acredite que está conectado a um video game.

Antes de mais nada, vamos explicar como o controle se comunica com o video game:
1º - video game pergunta (via sinais elétricos) se o controle está conectado;
2º - o controle responde que sim (caso ele esteja conectado);
3º - o video-game solicita os dados;
4º - controle então captura o estado de todos os botões e joysticks, monta um pacote de dados e;
5º - envia os dados para o video game.

O que vamos fazer então é fazer o controle pensar que quem está perguntando é o video game. Vamos utilizar um micro-controlador para isso. Nosso projeto terá as seguintes características:

  • controlador PIC 16F628a (fácil de achar por ai);
  • saída serial para envio dos dados para qualquer equipamento que use comunicação serial padrão;
  • placa de circuito pequena, fácil de fazer (vide artigo da laminadora);
  • entrada de energia regulada. Podemos alimentar nosso conversor com tensões entre 7V e 35 V.

Agora iniciaremos o passo-a-passo de como construir nosso conversor. No final do artigo disponibilizarei todo material (código fonte, esquema, desenho da placa, etc) para que todos possam fazer o seu conversor e/ou adaptá-lo à sua necessidade.

Comente este artigo você também!

Licensa Creative Commons Esta obra foi licenciada sob uma Licença Creative Commons Atribuição-NãoComercial-Compartilha 3.0 Não Adaptada.