Ligando um volante Logitech G25, G27 ou Force GT no PS4

http://www.isrtv.com/logitech/logitech-g27-support-playstation-4
Quando estava para comprar um Playstation 4, descobri que ele não aceitava meu volante Driving Force GT, aliás ele não aceitava nenhum volante Logitech antigo, nem mesmo o G27 que ainda era um volante novo. A solução até então era comprar o novíssimo G29. Procurando informações do “porque”, não achei nada conclusivo, a Sony informa que é problema com a Logitech e a Logitech informa que o problema é com a Sony. Então encontrei o Maxrace, um produto muito interessante, que consegue plugar os volantes G29 / G27 / GT / GT Pro / G920 / MOMO nos consoles PS4 / XBOX ONE / XBOX 360, porém com o preço em torno de 150 dólares, o que achei bem caro. Procurando um pouco mais, encontrei uma solução bem interessante, apesar de não ser tão pratica que é o GIMX. Com valor quase irrisório, já que usa como hardware adicional apenas um Arduino (U$5) e um Serial USB (U$3).
Para o funcionamento é necessário também um computador rodando o gimx, o que o gimx e o Arduino irão fazer, pensando de forma bem básica é: o gimx coleta os dados do volante, trata e envia para o Arduino dados de um G29 através da Serial USB, o Arduino plugado no PS4 simula um G29. Volante e controle do PS4 também tem que ficarem plugados no computador. Ai vem a pergunta: Controle do PS4? Para que ele também precisa estar plugado no PC? É que para o sistema funcionar ele precisa de um ID que fica no controle. Sobre o funcionamento, não vi diferenças de uso comparado com um PS3 ou PC, force feedback e tudo mais funcionou perfeitamente, inclusive comparando o mesmo jogo, no caso o Assetto Corsa (PC/PS4). Meus testes foram feitos rodando o gimx em Windows 10, Linux Mate e em um Raspberry Pi 3 com Raspbian e Retropie.

Na figura abaixo é possível ver a ligação física, onde Teensy seria o Arduino.

http://www.mediavida.com/foro/juegos/g25-g27-dfgt-en-ps4-con-gimx-553138

Com montar o sistema

Material necessário:

No meu caso estou usando um Arduino Micro Chines que é reconhecido pela IDE Arduino como Arduino Leonardo, o que realmente precisa ser observado é que este Arduino use o micro controlador ATmega 32u4. Para a serial USB é recomendado pela equipe do gimx usar a CP2102, eu usei na serial USB um FTDI FT232RL e funcionou sem problema algum. No lugar do Arduino pode ser usado também um Teensy.

Download:


Instalação do software e preparação do hardware

Instale o software Windows ou Linux, será criado três ícones, use o gimx-launcher. Na primeira vez ao abrir ele já irá pedir para escolher um arquivo de configuração xml, escolha um (ou mais) de acordo com seu volante(s). Para fazer a gravação do firmware e usar o sistema, o Arduino precisa estar ligado na interface serial USB por três fios, TX de um com RX de outro e vice-versa, além do terra (GND) de um com o outro, não tem segredo, é bem simples conforme tabela abaixo. No gimx-launcher será necessário selecionar a serial do Arduino (COMx para Windows ou TTYxxx para Linux) em PORT. Para saber certo qual a serial do Arduino, plugue primeiro o Arduino, depois abra o gim-launcher e veja a porta correta em PORT, anote essa porta. Agora plugue a serial USB também no PC, parece estranho mas é isso mesmo, os dois plugados no PC.

Ligação dos fios
Arduino Serial USB
RX TX
TX RX
GND GND


Gravação do firmware

- No gimx-launcher, observe se ele está com a porta correta do Arduino (aquela que foi anotada).
- Em Output escolha DIY USB.
- Vá em Help -> Update firmware.
- Selecione EMUG29PS4.hex, este é o firmware que será gravado.
- Clique em Load e será mostrado uma mensagem de alerta, clique Ok.
- Será mostrado outra mensagem pedindo para plugar Arduino e Serial USB no computador, se já estiver plugado clique Ok
- Ele irá pedir para remover a USB do Arduino e plugar novamente, faça isso e nesse momento o firmware será gravado e irá retornar tudo ok.


Para usar o sistema

- Caso esteja usando Windows instale o software Logitech do seu volante, no Linux não é necessário.
- Deixe o gimx-launcher fechado.
- Ligue o PS4 e desligue apenas o controle do PS4 pelo menu.
- Plugue o controle do PS4, o volante e a serial USB no PC. Se não tiver portas USB suficiente use um hub USB.
- Plugue o Arduino no PS4.
- Abra o gimx-launcher, selecione DIY USB em Output, a porta serial, Physical devices em Input e em config o xml do seu volante.
- Clique em Check e se tiver algum erro ele irá informar, caso contrário em clique em Start.

Agora para o volante ser reconhecido no PS4 é necessário apertar o botão PS relacionado no volante, Para o caso do meu Force GT é o próprio botão PS, o G27 sei que é o primeiro botão vermelho a esquerda que fica no câmbio, o outros será necessário testar.

Observações

O tempo para remover e plugar novamente o Arduino para a gravação do firmware é curto, se retornar que o tempo acabou, faça de novo.

Após a gravação do firmware o Arduino não será mais reconhecido no PC, a porta serial não será mais listada. Caso deseje gravar outro firmware, selecione a porta da serial USB e siga os mesmos procedimentos, plugando o Arduino também no PC, mesmo sem ser reconhecido.

Existem outros firmwares que podem ser gravados e irão simular outros dispositivos, até mesmo para outros consoles, são eles:

- EMUJOYSTICKPS3: HID joystick emulation, with 16bit stick axes, for PS3
- EMUPS3: Sixaxis emulation, for PS3
- EMU360: 360 pad emulation, for Xbox 360
- EMUPS4: Hori Pad FPS Plus emulation, for PS4 (with touchpad support)
- EMUXONE: Xbox One pad emulation, for Xbox One
- EMUG29PS4: Logitech G29 gaming wheel emulation, for PS4, with force feedback support
- EMUG27PS3: Logitech G27 gaming wheel emulation, for PS3, with force feedback support
- EMUGTFPS2: Logitech GT Force emulation, for PS2, with force feedback support
- EMUDFPS2: Logitech Driving Force emulation, for PS2, with force feedback support
- EMUDFPPS2: Logitech Driving Force Pro emulation, for PS2, with force feedback support
- EMUG27PC: Logitech G27 gaming wheel emulation, for PC, force feedback support

Em breve farei um artigo mostrando como fazer o sistema funcionar no Raspberry Pi com Raspbian de forma automática, sem a necessidade de usar teclado e mouse. 

-- ATUALIZAÇÂO 07/2020 --
Depois de vários testes percebi que o driver utilizado no Linux tanto para Raspberry Pi quanto para maquinas x86/64 não apresenta a mesma precisão do volante quanto do Windows. Com isso achei melhor não fazer o artigo sobre Raspberry Pi, o conselho é sempre usar Windows.

Fonte: https://gimx.fr

Comentários

  1. Olá, amigo. Você já usa este sistema com o Raspberry Pi?

    ResponderExcluir
  2. Bom dia amigo os procedimentos são os mesmo para o xbox one ?

    ResponderExcluir
    Respostas
    1. Olá, bom dia. Eu acho que o suporte para XONE funciona apenas para teclado e mouse, usando o firmware EMUXONE: Xbox One pad emulation, for Xbox One

      Alguns links do forum de suporte:
      https://forum.gimx.fr/viewtopic.php?f=20&t=1173
      https://forum.gimx.fr/viewtopic.php?f=20&t=1048

      Excluir
  3. Boa tarde, amigo. Tb tenho um G27 e vou seguir esse tutorial. Obrigado por postá-lo. Uma pergunta: todas as funcionalidades do G27 são reconhecidas por esse método (as luzes de troca de marcha no volante, o force feedback, os botões do câmbio H, etc)? Obrigado!

    ResponderExcluir
    Respostas
    1. Sim, todas as funcionalidades do G27 irão funcionar normal. E você ainda pode mapear da maneira que desjear também.

      Excluir
  4. Boa tarde amigo, muito obrigado pelo tutorial!
    Procurei pela continuação do tutorial que você comentou, mas não encontrei no seu blog.
    Você pode compartilhar o tutorial de como configurar o GIMX no Raspberry Pi?
    Obrigado!

    ResponderExcluir
    Respostas
    1. Realmente não postei, depois de vários testes percebi que a o driver do volante usado no Linux tanto Raspberry quanto maquinas x86/64 são é bom, o volante não apresenta a mesma precisão. Então desisti de usar e achei melhor não compartilhar. Vou aproveitar e editar isto no texto.

      Excluir
  5. Usando o G27 emulando o G29 no PS4 funciona a embreagem tb? Acionamento como botão ou funciona por eixo? Não sei se meus termos são compreensíveis - sou leigo e vou fazer esse projeto no fim do Ano. E aí eu tava querendo tirar o máximo de dúvidas possíveis. Gostei muito em poder conseguir fazer esse projeto e não precisar gastar mais de 200 reais ou até mais que 500. Valeu mesmo. Tô FELIZÃO.

    ResponderExcluir
    Respostas
    1. Sim, a embreagem vai funcionar como eixo mesmo. Você também pode mapear botões e eixos da maneira que desejar.

      Excluir
  6. Se não for esse ATmega 32u4, vai dar errado??

    ResponderExcluir
    Respostas
    1. Vai sim, porque ele é o quem tem usb integrado

      Excluir
    2. Este comentário foi removido pelo autor.

      Excluir
    3. Muito Obrigado, Ronaldinho.
      Eu encontrei um lugar legal pra comprar. Tudo vai dar no máximo 61 reais.

      Só uma dúvida. Sou novo nessa Aventura. Gostaria de saber se posso só seguir esse tutorial ou eu tenho que fazer algo antes com o Arduino que não diz no tutorial? Ou o programa do gimx faz tudo, até instalar no arduino a firmware dele. Obrigado demais. Talvez eu não tenha lido com toda a atenção, pq estou muito ansioso pra realizar esse projeto. Agradeço mais uma vez.

      Excluir
    4. Vai pelo tutorial mesmo é bem simples, o que pode acontecer é que com certeza já teve atualizações e pode ter alguma diferença nos menus do programa, mas com certeza mudanças para melhor.

      Excluir
    5. Eu fico feliz demais! Assim que testar, venho com o feedback!! Valeu demais!! Estou imensamente Feliz e Agradecido.

      Excluir
  7. Ô Deus XYZ Turbo, vc conseguiria me Ajudar? O seguinte: O G27 está funcionando normalmente, mas o Acelerador não funciona no PS4. Já testei todo o volante direto no PC. E com o Adaptador no PS4 que o Acelerador não funciona.

    ResponderExcluir
    Respostas
    1. Tem um lugar no gimx que você consegue mapear qualquer botão/eixo da forma que quiser, acredito que lá você vai conseguir colocar o acelerador para funcionar. Problema que tem tempos que não mexo com Gimx e não lembro mais, mas procure por mapeamento de botões e eixos.

      Excluir
  8. Este comentário foi removido pelo autor.

    ResponderExcluir
  9. Ola amigo, com esse conversor tem como usar o teclado e mouse no ps3?

    ResponderExcluir
    Respostas
    1. Olá, acho que é possível sim, porém nunca testei. Acredito que terá que gravar o firmware certo, provável ser o EMUPS3

      Excluir

Postar um comentário