A maneira mais fácil de criar um dispositivo USB HID


8

Estou trabalhando para invadir um controle remoto RC que possuo. O que pretendo fazer é abri-lo e tocar nos potenciômetros. Quero ler os valores analógicos fornecidos pelos potenciômetros e enviar os sinais para o meu PC. Essencialmente, quero redirecioná-lo para funcionar como um joystick com a interface USB da HID. Obviamente, a interface HID não é necessária, mas acredito que é a melhor maneira de fazer isso.

Eu estou familiarizado com a família de microcontroladores AVR, então, inicialmente, eu poderia tentar algo como V-USB com um ATMega8. Ao mesmo tempo, comecei a pensar que isso pode se tornar desnecessariamente difícil. Existe alguma maneira mais fácil de obter essa conectividade sem gastar muito?

Respostas:


4

A maneira mais simples é comprar um Arduino Leonardo .

Na verdade, acabei de fazer o que você está falando. No meu caso, eu estava convertendo um antigo controlador de jogo no estilo arcade para USB.

Veja a redação que fiz aqui .

De qualquer forma, aqui estão meus arquivos modificados que você precisaria para transformar seu próprio leonardo em um joystick. Esses arquivos suportam um joystick de 8 eixos, com dois comutadores de chapéu e 32 botões. Se você deseja menos botões / eixos / qualquer outra coisa, pode simplesmente ignorar o que não precisa ou modificar o descritor HID. Como está, para tudo o que o descritor HID especifica atualmente, ele precisa apenas de 12 bytes por atualização do PC, por isso não estou muito preocupado com os eixos extras causando problemas ou atrasando as coisas.

insira a descrição da imagem aqui


1
Sua redação parece ter desaparecido. Ainda estava acessível em algum lugar?
toxaq

Não. Eu realmente preciso configurar meu site novamente (mudei os hosts).
Connor Wolf

@ConnorWolf: Alguma atualização sobre isso? Não me diga que o artigo está perdido para sempre! Adoraria lê-lo.
Nepho

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.