collapse

* Posts Recentes

Circuito Microfone que funcione por almamater
[Hoje às 17:14]


Emulador NES em ESP32 por dropes
[22 de Abril de 2024, 14:14]


Arame de Estendal por almamater
[18 de Abril de 2024, 16:16]


O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]

Autor Tópico: Construção de Button Box para SimRacing  (Lida 39216 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

StarRider

  • Visitante
Re: Construção de Button Box para SimRacing
« Responder #45 em: 14 de Outubro de 2014, 23:30 »
É exactamente isso que acontece artur36.

Quando ligo a placa ao PC é detectado um controlador de teclado.

Pois ... e achas que isso acontece por "artes magicas" ? É claro que existe muita coisa por trás e é para
que o "utilizador"  tenha essa "sensação de facilidade" que se cobram os tais 2000 euros para desenvolver
e meter a coisa a funcionar.

Sem segundo sentido, mas para quem não está dentro do assunto "é tudo muito fácil" ... basta ligar
o cabo e já está ;)

Abraços,
PA
« Última modificação: 14 de Outubro de 2014, 23:32 por StarRider »

Offline artur36

  • Mini Robot
  • *
  • Mensagens: 795
Re: Construção de Button Box para SimRacing
« Responder #46 em: 14 de Outubro de 2014, 23:39 »

Boas,

Não, nada disso. Uma coisa é a especificação física USB outra coisa são as classes que podes usar para
comunicação através de uma ligação USB.
O 18F4550, tal como muitos outros MCUs, contem um PHY USB mas NÃO TEM QUALQUER CLASSE como
seria de esperar, uma vez que a implementação de uma classe USB (Audio, Mass Storage, Communications
e Human Interface (HID)) é feita no firmware. logo o 18F4550 (nem qualquer outro MCUs) não TEM HID, o
programador do firmware vai ter que descrever a classe HID e implementar o stack de comunicação.

Depois, o windows fornece um driver HID genérico para mapear teclados HID, botões e potenciómetros,
e no caso do Windows 8 HID Sensor Class Driver com suporte para pen-devices, mas como é óbvio é
necessário que o programador do firmware implemente os HID reports no MCU-side, e para tal é
necessário ter conhecimentos de como funcionam as classes USB e as especificações do HID Mapper Driver
do Windows. Não é ligar a ficha e está feito ...

Idem, idem, aspas, aspas para qualquer PHY USB, seja nativa no MCU seja um "apêndice" externo como o
Teensy e demais.

Been there, done that ...

PA

Tal como disse antes não digo que seja "estupidamente" fácil, até disse que provavelmente se fosse alguém sem interesse na área iria desistir antes de conseguir completar o projecto.

Contudo para o Teensy que funciona sobre o IDE do Arduino se não me engano fica aqui o "tutorial" da página oficial para HID em específico para gamepads:
https://www.pjrc.com/teensy/td_joystick.html

Para PIC's e começando do zero em interface USB as minhas fontes de informação seriam a datasheet e a seguinte App Note:
http://ww1.microchip.com/downloads/en/AppNotes/91054c.pdf

Volto a frizar que posso estar a simplificar demais, mas considero-me capaz para o fazer e nunca sequer me debrucei sobre dispositivos HID com microcontroladores.

Offline Rebellion

  • Mini Robot
  • *
  • Mensagens: 26
Re: Construção de Button Box para SimRacing
« Responder #47 em: 14 de Outubro de 2014, 23:45 »
Pois ... e achas que isso acontece por "artes magicas" ? É claro que existe muita coisa por trás e é para
que o "utilizador"  tenha essa "sensação de facilidade" que se cobram os tais 2000 euros para desenvolver
e meter a coisa a funcionar.

Sem segundo sentido, mas para quem não está dentro do assunto "é tudo muito fácil" ... basta ligar
o cabo e já está ;)

Abraços,
PA

Não estou a dizer que é fácil ou difícil.

Só estou a dizer como funciona ou pretendo que funcione. É mesmo só ligar cabo. pronto :D

Eu não preciso de fazer correr um programa extra para configurar os botões que instalo, a não ser, para a placa que comprei os potenciometros. De resto o jogo assume tudo porque é como se fosse um teclado que estivesse ligado. Não preciso instalar nada extra no windows.

Agora o que é necessário para lá chegar, deixo para vocês!! hehehehe


Offline artur36

  • Mini Robot
  • *
  • Mensagens: 795
Re: Construção de Button Box para SimRacing
« Responder #48 em: 14 de Outubro de 2014, 23:45 »

Posso ter presumido que é fácil a programação do microcontrolador e esta não ser, se configurar o interface hid como gamepad por norma os jogos já trazem a GUI para configurar as teclas. Algo deste género:



Continuas a precisar de ter um programa que vai dizer ao micro ou lá o que tens na placa que o botão pendurado no pino 6 do porto K é para se apresentar como um L ou S ou um Shift, ou seja lá o que queres que seja.
Se leres o que eu digo no post que fizeste quote (o texto meu que mantive acima) vez que eu estou perfeitamente consciente que é necessário um programa no microcontrolador e que este como é óbvio tem de enviar uma mensagem através de USB a "informar" que determinada tecla foi pressionada, o que eu disse é que não é necessário qualquer programa\driver do lado do PC pois isto é tratado nativamente pelo windows e pelo jogo.
Como mostrei na resposta ao StarRider o teensy "Arduinifica" as coisas pelo que deduzo que a programação deste para emular um gamepad seja relativamente fácil.

Offline Rebellion

  • Mini Robot
  • *
  • Mensagens: 26
Re: Construção de Button Box para SimRacing
« Responder #49 em: 14 de Outubro de 2014, 23:50 »
Já agora o gamepad que comprei no ebay por 2 euros funciona da mesma maneira.

Esta placa parece que faz exactamente a mesma coisa, mas vem já preparada com os pinos.

StarRider

  • Visitante
Re: Construção de Button Box para SimRacing
« Responder #50 em: 14 de Outubro de 2014, 23:55 »
Já agora o gamepad que comprei no ebay por 2 euros funciona da mesma maneira.

Esta placa parece que faz exactamente a mesma coisa, mas vem já preparada com os pinos.

Rebellion,

O meu conselho muito sincero é que aproveites a tal board dos 28 euros que acredita por esse
valor quase que nem pagas o material da board quando mais o firmware, soft de configuração, etc.

Concentra-te no resto, ou seja, no aspecto físico da coisa, no design do volante e na montagem
dos botões que pelo que já vi é algo que está à vontade para fazer e de certeza que nesse campo
todos te vão ajudar sem qualquer problema.

Abraços,
PA
« Última modificação: 15 de Outubro de 2014, 00:02 por StarRider »

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Construção de Button Box para SimRacing
« Responder #51 em: 15 de Outubro de 2014, 00:08 »
Acho que não estás a entender a minha parte, não podes usar as teclas do teclado ao calhas, algumas vais querer manter no teclado, outras queres mudar para botões externos, a não ser que mandes instalar o IDE e dês o código a unica maneira de mudar isso será com um programa no lado do pc, até pode ser um interface COM e Putty, mas de alguma maneira tens de permitir isso, digo eu...
Avr fanboy

StarRider

  • Visitante
Re: Construção de Button Box para SimRacing
« Responder #52 em: 15 de Outubro de 2014, 00:09 »

Tal como disse antes não digo que seja "estupidamente" fácil, até disse que provavelmente se fosse alguém sem interesse na área iria desistir antes de conseguir completar o projecto.

Contudo para o Teensy que funciona sobre o IDE do Arduino se não me engano fica aqui o "tutorial" da página oficial para HID em específico para gamepads:
https://www.pjrc.com/teensy/td_joystick.html

Para PIC's e começando do zero em interface USB as minhas fontes de informação seriam a datasheet e a seguinte App Note:
http://ww1.microchip.com/downloads/en/AppNotes/91054c.pdf

Volto a frizar que posso estar a simplificar demais, mas considero-me capaz para o fazer e nunca sequer me debrucei sobre dispositivos HID com microcontroladores.

Boas,

Para alguém com interesse, como tu, é claro que passa por ser uma questão de empenho e aprendizagem
mas dominar comunicações USB é muito mais complicado do que qualquer outra interface que já possas
ter experimentado. É algo totalmente diferente, e mesmo recorrendo a "libs" e afins de nada serve se não
e perceber bem o funcionamento físico e sobretudo lógico da especificação UBS.

Por exemplo, não existem "dispositivos HID", o que existe são dispositivos USB que podem ou não
implementar a classe HID.

Abraços,
PA

Offline Rebellion

  • Mini Robot
  • *
  • Mensagens: 26
Re: Construção de Button Box para SimRacing
« Responder #53 em: 15 de Outubro de 2014, 00:16 »
Já agora o gamepad que comprei no ebay por 2 euros funciona da mesma maneira.

Esta placa parece que faz exactamente a mesma coisa, mas vem já preparada com os pinos.

Rebellion,

O meu conselho muito sincero é que aproveites a tal board dos 28 euros que acredita por esse
valor quase que nem pagas o material da board quando mais o firmware, soft de configuração, etc.

Concentra-te no resto, ou seja, no aspecto físico da coisa, no design do volante e na montagem
dos botões que pelo que já vi é algo que está à vontade para fazer e de certeza que nesse campo
todos te vão ajudar sem qualquer problema.

Abraços,
PA

Certo e até certo ponto concordo contigo. Foi devido ao teu conselho que comprei a placa e estou satisfeito.

Agora custa-me a crer que este tipo consiga vender mundialmente, com portes e tracking da encomenda incluído, para todo o mundo por 28 euros e nós aqui não consigamos.

Tudo bem, se ele for programador foi apenas tempo investido.

Nos financiamentos anteriores para estes tipos de projecto devolviam 50% do valor que eu pagaria. Agora neste plano passado 5 anos terei de devolver o que me emprestarem, embora sem juros.


Offline artur36

  • Mini Robot
  • *
  • Mensagens: 795
Re: Construção de Button Box para SimRacing
« Responder #54 em: 15 de Outubro de 2014, 00:17 »
Acho que não estás a entender a minha parte, não podes usar as teclas do teclado ao calhas, algumas vais querer manter no teclado, outras queres mudar para botões externos, a não ser que mandes instalar o IDE e dês o código a unica maneira de mudar isso será com um programa no lado do pc, até pode ser um interface COM e Putty, mas de alguma maneira tens de permitir isso, digo eu...
Não usas HID de teclado mas sim de gamepad/joystick.
Alguma vez Usaste um joystick USB para jogar no pc? Os botões do joystick não emulam a tecla A, B ou C do teclado, no jogo vais às configurações escolhes uma função e Depois é só carregar na tecla do joystick que queres associar a essa função, enquanto não fizeres isto o windows não assume nada quando Carregas na tecla e nunca vai assumir que essa tecla é uma qualquer tecla de um teclado. Dá uma olhadela pelo link que deixei do teensy.

Offline artur36

  • Mini Robot
  • *
  • Mensagens: 795
Re: Construção de Button Box para SimRacing
« Responder #55 em: 15 de Outubro de 2014, 00:27 »

Tal como disse antes não digo que seja "estupidamente" fácil, até disse que provavelmente se fosse alguém sem interesse na área iria desistir antes de conseguir completar o projecto.

Contudo para o Teensy que funciona sobre o IDE do Arduino se não me engano fica aqui o "tutorial" da página oficial para HID em específico para gamepads:
https://www.pjrc.com/teensy/td_joystick.html

Para PIC's e começando do zero em interface USB as minhas fontes de informação seriam a datasheet e a seguinte App Note:
http://ww1.microchip.com/downloads/en/AppNotes/91054c.pdf

Volto a frizar que posso estar a simplificar demais, mas considero-me capaz para o fazer e nunca sequer me debrucei sobre dispositivos HID com microcontroladores.

Boas,

Para alguém com interesse, como tu, é claro que passa por ser uma questão de empenho e aprendizagem
mas dominar comunicações USB é muito mais complicado do que qualquer outra interface que já possas
ter experimentado. É algo totalmente diferente, e mesmo recorrendo a "libs" e afins de nada serve se não
e perceber bem o funcionamento físico e sobretudo lógico da especificação UBS.

Por exemplo, não existem "dispositivos HID", o que existe são dispositivos USB que podem ou não
implementar a classe HID.

Abraços,
PA
Dá uma vista de olhos no link que deixei do teensy. É escolher no menu tools-usb   joystick, depois no programa para enviar a mensagem botão 1 pressionado é fazer joystick.butto

Tal como disse antes não digo que seja "estupidamente" fácil, até disse que provavelmente se fosse alguém sem interesse na área iria desistir antes de conseguir completar o projecto.

Contudo para o Teensy que funciona sobre o IDE do Arduino se não me engano fica aqui o "tutorial" da página oficial para HID em específico para gamepads:
https://www.pjrc.com/teensy/td_joystick.html

Para PIC's e começando do zero em interface USB as minhas fontes de informação seriam a datasheet e a seguinte App Note:
http://ww1.microchip.com/downloads/en/AppNotes/91054c.pdf

Volto a frizar que posso estar a simplificar demais, mas considero-me capaz para o fazer e nunca sequer me debrucei sobre dispositivos HID com microcontroladores.

Boas,

Para alguém com interesse, como tu, é claro que passa por ser uma questão de empenho e aprendizagem
mas dominar comunicações USB é muito mais complicado do que qualquer outra interface que já possas
ter experimentado. É algo totalmente diferente, e mesmo recorrendo a "libs" e afins de nada serve se não
e perceber bem o funcionamento físico e sobretudo lógico da especificação UBS.

Por exemplo, não existem "dispositivos HID", o que existe são dispositivos USB que podem ou não
implementar a classe HID.

Abraços,
PA
Dá uma vista de olhos no link que deixei do teensy. É escolher no menu tools-usb   joystick, depois no programa para enviar a mensagem botão 1 pressionado é fazer joystick.button (1 , 1);

Posso ser eu que esteja a ler mal...

Para este uso penso que usar Arduino não trará problemas.
« Última modificação: 15 de Outubro de 2014, 00:29 por artur36 »

StarRider

  • Visitante
Re: Construção de Button Box para SimRacing
« Responder #56 em: 15 de Outubro de 2014, 00:33 »


Tudo bem, se ele for programador foi apenas tempo investido.


Pois, ora bem essa é que deve ser verdade ...

Tirando o custo do material, e assim de cabeça, ele deve estar a ganhar uns 20 euros em cada board ...
se ao custo do material for somado o trabalho de montar os componentes acaba por ser um lucro
muito baixo, eu digo sinceramente que não vendia essa board por menos de 40 euros.

Possivelmente consegues "fabricar" a board por 10 euros, tens que a montar/soldar ... não vale o tempo
nem o trabalho para depois ganhares no fim uns 15 euros de lucro ... isto partindo do principio que
alguém até oferecia o firmware para o micro-controlador (a tal PIC).

Mais vale colocar a "mais valia" na construção da solução final, é a minha opinião.

Tens um calculo dos custos (board+botões+volante+etc) ?

Abraços,
PA
PA

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Construção de Button Box para SimRacing
« Responder #57 em: 15 de Outubro de 2014, 00:45 »
Acho que não estás a entender a minha parte, não podes usar as teclas do teclado ao calhas, algumas vais querer manter no teclado, outras queres mudar para botões externos, a não ser que mandes instalar o IDE e dês o código a unica maneira de mudar isso será com um programa no lado do pc, até pode ser um interface COM e Putty, mas de alguma maneira tens de permitir isso, digo eu...
Não usas HID de teclado mas sim de gamepad/joystick.
Alguma vez Usaste um joystick USB para jogar no pc? Os botões do joystick não emulam a tecla A, B ou C do teclado, no jogo vais às configurações escolhes uma função e Depois é só carregar na tecla do joystick que queres associar a essa função, enquanto não fizeres isto o windows não assume nada quando Carregas na tecla e nunca vai assumir que essa tecla é uma qualquer tecla de um teclado. Dá uma olhadela pelo link que deixei do teensy.

Á anos que não uso nada disso, não tens limite de butões de comando/joystick?

Se não tiveres a coisa realmente nem parece assim tão complicada quanto isso, era um teensy e estar com a pessoa que quer fazer isso, umas tardes de testes e quase que siga para bingo..
Avr fanboy

Offline Rebellion

  • Mini Robot
  • *
  • Mensagens: 26
Re: Construção de Button Box para SimRacing
« Responder #58 em: 15 de Outubro de 2014, 01:01 »
Pois, ora bem essa é que deve ser verdade ...

Tirando o custo do material, e assim de cabeça, ele deve estar a ganhar uns 20 euros em cada board ...
se ao custo do material for somado o trabalho de montar os componentes acaba por ser um lucro
muito baixo, eu digo sinceramente que não vendia essa board por menos de 40 euros.

Possivelmente consegues "fabricar" a board por 10 euros, tens que a montar/soldar ... não vale o tempo
nem o trabalho para depois ganhares no fim uns 15 euros de lucro ... isto partindo do principio que
alguém até oferecia o firmware para o micro-controlador (a tal PIC).

Mais vale colocar a "mais valia" na construção da solução final, é a minha opinião.

Tens um calculo dos custos (board+botões+volante+etc) ?

Abraços,
PA
PA

Para fazer a button box, só material, entre botões (32 inputs), caixa, fios, são uns 15-20 euros. Que podem baixar 30%-50% se fizer encomendas maiores.

A placa custa 28 euros. Há outras de 12 bits que chegam aos 40-50 euros. Da leobodnar.

Depois tenho a montagem, decoração e portes de envio que fica por uns 10 euros para todo o mundo.

Entretanto surgiu outra empresa que fizeram uma de acordo com o que pretendo. Com design mais actual - Custam 180 dolares.



Tb existem uns Gnus a vender por 35 euros mais portes, mas já disseram que o que eles fizeram foi comprar gamepads da China a 2 euros e transformaram em button box, embora só com 12 inputs e montagem e ligação duvidosa.

O que eu pensei fazer para mim, se ficasse mais em conta era o seguinte se fosse mais barato:

Ter duas placas. Uma para vender tipo esta. Mandava para cada cliente montar em casa.

Outra que por algum meio fosse mais barata para fabrico das button box realizadas por mim ou em fábrica.

Offline Rebellion

  • Mini Robot
  • *
  • Mensagens: 26
Re: Construção de Button Box para SimRacing
« Responder #59 em: 15 de Outubro de 2014, 01:06 »
Alguma vez Usaste um joystick USB para jogar no pc? Os botões do joystick não emulam a tecla A, B ou C do teclado, no jogo vais às configurações escolhes uma função e Depois é só carregar na tecla do joystick que queres associar a essa função, enquanto não fizeres isto o windows não assume nada

É exactamente assim que estas placas funcionam e ligam com os jogos.

As funções estão disponíveis no jogo e para associar basta premir o botão do gamepad ou dos botões ligados a esta placa.

Por acaso o jogo que apresentaste, os seus jogadores também utilizam estas button box.