Ir ao conteúdo
  • Cadastre-se

Posts recomendados

Postado

Olá Galera!!!

 

Estou fazendo um projeto Arduino Uno com PS4. E eu sei que é possível comunicar o controle do PS4 com o Arduino através de Bluetooth ou direto com cabo USB, apenas adicionando uma shield USB no arduino. Minha duvida se é possível comunicar o Arduino com o console via Bluetooth ou pelo cabo USB?

  • Curtir 1
Postado

Se for para simular um controle USB,o PS4 só aceitará se o jogo aceitar em modo Legacy,onde terá que ter um controle original conectado,mas se for usar como teclado,aceitará normalmente.

  • Curtir 2
  • Obrigado 1
Postado
Em 13/08/2020 às 16:10, vtrx disse:

Se for para simular um controle USB,o PS4 só aceitará se o jogo aceitar em modo Legacy,onde terá que ter um controle original conectado,mas se for usar como teclado,aceitará normalmente.

Isso seria um controle arcade?

  • Curtir 1
Postado
10 horas atrás, carlos.camj disse:

Isso seria um controle arcade?

Sim,qualquer um,mas sempre em modo Legacy a menos que seja um teclado normal.

  • Curtir 2
  • 2 semanas depois...
Postado
Em 21/08/2020 às 17:14, vtrx disse:

Sim,qualquer um,mas sempre em modo Legacy a menos que seja um teclado normal.

Olá!!!!! t

Tive alguma evolução, mas ainda não consegui chegar onde eu quero. Vou tentar explicar melhor. 

O que eu quero fazer é tipo mandar o comando dos botões do controle PS4 pro arduino (dentro do arduino tera um código onde eu posso modificar esse comando) e o arduino envia para o PS4. Pode ser pelo cabo ou Bluetooth.

Será que é possível fazer isso?

  • Curtir 1
Postado
3 horas atrás, vtrx disse:

Vai ser complicado pois o controle do PS4 não usa protocolo HID padrão,principalmente para se enviar um comando para o controle.

https://www.psdevwiki.com/ps4/DS4-USB

Pode ser que alguém na internet ja conseguiu algo,mas não procurei...

Nossa quanta informação nesse Link. 

Mas obrigado pela ajuda, vou dar uma estudada vê se sai alguma coisa.

  • Curtir 1
Postado
8 horas atrás, Thiago Miotto disse:

Só uma dúvida. Precisa mesmo ser o controle de PS4? Porque pelo que entendi, um controle para computador com protocolo usb ou bluetooth "normais" seria um atalho no seu projeto.

Olá Thiago!!!

Não entendi direito o que você quis dizer. Mas pra comunicar do controle PS4 para o Arduino é possível tanto por cabo ou Bluetooth, já encontrei tutoriais e bibliotecas do arduino prontas pra fazer essa comunicação. O que eu estou querendo descobrir é como comunicar do arduino pro console do PS4. É  tipo interceptar os sinais do controle passando pelo arduino e enviando pro console.

  • Curtir 2
Postado
4 horas atrás, carlos.camj disse:

Olá Thiago!!!

Não entendi direito o que você quis dizer. Mas pra comunicar do controle PS4 para o Arduino é possível tanto por cabo ou Bluetooth, já encontrei tutoriais e bibliotecas do arduino prontas pra fazer essa comunicação.

O atalho que disse seria para isso que você já fez (ou encontrou as bibliotecas e tutorias, como você disse)

 

 

4 horas atrás, carlos.camj disse:

O que eu estou querendo descobrir é como comunicar do arduino pro console do PS4. É  tipo interceptar os sinais do controle passando pelo arduino e enviando pro console.

Se os comandos que tu quiser puderem ser dado input como teclado, usa o que o pessoal já falou acima.

Caso tu queira que seja reconhecido com um comando do controle, fica mais complicado, não saberia como te ajudar pelo que conheço.

  • Curtir 2
Postado
10 horas atrás, carlos.camj disse:

Olá Thiago!!!

Não entendi direito o que você quis dizer. Mas pra comunicar do controle PS4 para o Arduino é possível tanto por cabo ou Bluetooth, já encontrei tutoriais e bibliotecas do arduino prontas pra fazer essa comunicação. O que eu estou querendo descobrir é como comunicar do arduino pro console do PS4. É  tipo interceptar os sinais do controle passando pelo arduino e enviando pro console.

Parece que voce quer implementar um 'Force Feedback',se for isso,procure por 'Force Feedback/PS/Arduino'.

  • Curtir 2
  • Obrigado 1
  • 2 semanas depois...
Postado

Olá pessoal!

 

Resolvi partir para um teclado USB com Arduino Leonardo, Estou utilizando os comando Keyboard.press() com a tabela Ascci. No computador esta acionando normalmente, mas no ps4 só aceitou alguns comandos. Por exemplo: o teclado gamer que conheço que funciona no PS4, para enviar o comando X equivalente ao controle tem apertar a tecla espaço no teclado. Só que no arduino se mandar o comando espaço em ASCII o PS4 naõ reconhece como x, e no PC ele reconhece como espaço.

Alguém poderia me dar uma ajuda?????

  • Curtir 1
Postado

Vou tentar te explicar alguns pontos.

Tanto o PS4 como o Xbox One,usam uma tecnologia diferente em relação aos acessórios.

Para beneficiar seus parceiros,aquele que são autorizados a fazer acessório para os consoles,existe um algorítmico codificado nos circuito de Joysticks e afins.

Toda vez que conecta algum desse acessório,acontece uma troca de informações periódica de dados entre eles,se essas informações não forem como esperado,o acessório não funcionará por completo ou total.

Conclusão,o teclado que voce citou,deve ser algum autorizado pela Sony como 'oficial'.

Segue quais teclas pode usar em teclado comum.

 

PS4 interface:

Esc - back

F3 - Dual Shock 4 Options button

Prt Sc/SysRq - DS4 Share button

Pause/Break - moves you back to inserted disc in the main menu

Backspace - back

Enter- enter

Arrow keys - moving in menus

Matrix Blu-ray disc:

In-movie controls:

Esc - Pause/On-screen display

F1 - on-screen display (shows movie progress, type of audio track, etc)

F2 - BD pop-up menu

F3 - PS4 disc options (pop-up menu, subtitles, audio, etc)

Backspace - Pause/On-screen display

Up arrow - bring up BD pop-up menu

Down arrow - close BD pop-up menu

Right/left arrow - moving in menus

Enter - enter

 

PS:A decisão final se um jogo pode usar um teclado comum e mouse,depende da produtora do jogo.

Muito jogos de luta aceitam joystick comum,mas é preciso que um controle original PS4 esteja conectado junto.

  • Curtir 1
  • Obrigado 1
  • 2 semanas depois...
Postado
Em 15/09/2020 às 10:30, vtrx disse:

 

PS:A decisão final se um jogo pode usar um teclado comum e mouse,depende da produtora do jogo.

Muito jogos de luta aceitam joystick comum,mas é preciso que um controle original PS4 esteja conectado junto.

Olá novamente!!!

 

Consegui achar todos comandos que faz um DS4 para utilizar Leonardo como teclado, Acredito que o PS4 aceite qualquer teclado USB, o problema que não são todos os jogos que aceita mouse/teclado. 

Mas meu novo problema é em relação em como vou enviar os comandos pro PS4. Não sei se você tem conhecimento sobre programação em arduino. Mas se puder me ajudar, fico grato.

EX: Se eu enviar apenas uma vez o comando Keyboard.write (32) que no PC é espaço e no PS4 ele irá pular o boneco (estou utilizando COD como teste). No PC é reconhecido o comando e no PS4 não.

Mas se eu enviar Keyboard.press (32);

                             delay (250);

                            Keyboard.realease(32);

Deste modo o PS4 reconhece, mas as vezes falha. Sera que esses comando é muito rápido pro PS4 e preciso achar o delay certo?

  • Curtir 1
  • Membro VIP
Postado
12 minutos atrás, carlos.camj disse:

Consegui achar todos comandos que faz um DS4 para utilizar Leonardo como teclado, Acredito que o PS4 aceite qualquer teclado USB

 

Você achou-os por conta própria ou está documentado na Internet?

  • Curtir 1
Postado

Eu peguei um teclado USB e verifiquei quais teclas fazem o que no PS4. Depois eu verifiquei tabela ASCCii de cada tecla. Alguns são teclas modificadora, se você procurar na referência do arduíno você vai achar os comandos delas TB.

  • Curtir 2
  • Membro VIP
Postado

Em Linux, são os scancodes. Mudam com o "mapeamento de teclado" e são primariamente definidos em código (público) do kernel.

 

PS.: Talvez eu esteja confundindo algo com keycodes. Estou sem condições de verificar agora as distinções.

  • Curtir 1
  • Membro VIP
Postado

Já ajudou. Eu entendi o que você fez. Eu apenas quis deixar mais informação no tópico. Também quis sugerir que a tabela ASCII não é a "referência" definitiva. Importa descobrir os códigos comunicados e se estão mapeados em conformidade nas implementações (bibliotecas) do "arduino" utilizado.

  • Curtir 2
Postado

O arduíno Leonardo tem uma porta micro USB. E só conectar nela e na porta USB do PC. E quando inclui as biblioteca Keyboard.h. no arduíno ele e reconhecido como teclado

  • Curtir 1
Postado
9 horas atrás, carlos.camj disse:

Olá novamente!!!

 

Consegui achar todos comandos que faz um DS4 para utilizar Leonardo como teclado, Acredito que o PS4 aceite qualquer teclado USB, o problema que não são todos os jogos que aceita mouse/teclado. 

Mas meu novo problema é em relação em como vou enviar os comandos pro PS4. Não sei se você tem conhecimento sobre programação em arduino. Mas se puder me ajudar, fico grato.

EX: Se eu enviar apenas uma vez o comando Keyboard.write (32) que no PC é espaço e no PS4 ele irá pular o boneco (estou utilizando COD como teste). No PC é reconhecido o comando e no PS4 não.

Mas se eu enviar Keyboard.press (32);

                             delay (250);

                            Keyboard.realease(32);

Deste modo o PS4 reconhece, mas as vezes falha. Sera que esses comando é muito rápido pro PS4 e preciso achar o delay certo?

Não posso te ajudar com a linguagem restrita do Arduino,mas dê uma lida de como é processado os comandos de um teclado USB para entender como o Hardware entende uma tecla pressionada e quando ela está livre.

Estas 3 linhas de comando que voce citou estão fora do padrão,é usual para testes,na verdade o teclado USB utiliza um Buffer,geralmente de 7 bytes,e neste buffer contem a sequencia de teclas soltas ou pressionadas.

O PS4 utiliza 4 milissegundos para leitura de um Joystick,mas provavelmente o PS4 para ler um teclado USB deve utilizar o padrão de 10 milissegundos.

Os exemplos que tem na internet para microcontroladores não simula perfeitamente um teclado USB,este algorítmico voce deve desenvolver.

 

  • Curtir 2
  • Obrigado 1
  • Membro VIP
Postado
3 minutos atrás, vtrx disse:

dê uma lida de como é processado os comandos de um teclado USB para entender como o Hardware entendo uma tecla pressionada e quando ela está livre

 

Para esses fundamentos, é melhor começar estudando os teclados PS2, mais simples. USB é sofisticação. PS2 converte-se em USB com adaptadores Y. Será mais provável encontrar "didática" perguntando-se sobre PS2 primeiro.

  • Curtir 2
Postado
2 horas atrás, alexandre.mbm disse:

 

Para esses fundamentos, é melhor começar estudando os teclados PS2, mais simples. USB é sofisticação. PS2 converte-se em USB com adaptadores Y. Será mais provável encontrar "didática" perguntando-se sobre PS2 primeiro.

O problema é que a diferença de protocolo é imensa,talvez ele se confunda mais.

Keyboard.press (32);

 delay (20);

Keyboard.realease(32); 

 

Use um Delay de 20,mas precisa ter certeza que é de 20 milissegundos e não de segundos.

Um problema deste método é que voce não terá mais de 2 teclas consideradas pressionadas junto.

 

  • Curtir 1
  • Obrigado 1
Postado

Vi alguns exemplos de programas que foi utilizado o buffer como você citou. Vou estudar sobre isso que conheço muito pouco e TB vou verificar uns exemplos de teclado USB que vem junto com a IDE do Arduíno.

E sobre a função delay e um problema mesmo, porque ela para o programa. Estou usando ela só pra testar um botão por vez. No caso do projeto final, se eu chegar la.kkkkk Teria que usar a função milis.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...