La forma más fácil de crear un dispositivo USB HID

Estoy trabajando para hackear un control remoto RC que tengo. Lo que pretendo hacer es abrirlo y tocar los potenciómetros. Quiero leer los valores analógicos entregados por los potenciómetros y enviar las señales a mi PC. Esencialmente, quiero reutilizarlo para que funcione como un joystick con la interfaz USB de HID. Por supuesto, la interfaz HID no es necesaria, pero creo que es la mejor manera de hacerlo.

Estoy bastante familiarizado con la familia de microcontroladores AVR, por lo que inicialmente pensé que podría probar algo como V-USB con un ATMega8. Al mismo tiempo, comencé a pensar que podría volverse innecesariamente difícil. ¿Hay alguna manera más fácil de lograr dicha conectividad sin romper el banco?

Respuestas (2)

La forma más sencilla es comprar un Arduino Leonardo .

De hecho, acabo de hacer lo que dices. En mi caso, estaba convirtiendo un viejo controlador de juegos de estilo arcade a USB.

Mira el artículo que hice aquí .

De todos modos, aquí están mis archivos modificados que necesitarías para convertir tu propio leonardo en un joystick. Estos archivos admiten un joystick de 8 ejes, con dos interruptores de sombrero y 32 botones. Si desea menos botones/ejes/lo que sea, puede ignorar las cosas que no necesita o modificar el descriptor HID usted mismo. Tal como están las cosas, para todo lo que el descriptor HID especifica actualmente, solo necesita 12 bytes por actualización de PC, por lo que no me preocupa demasiado que los ejes adicionales causen problemas o ralenticen las cosas.

ingrese la descripción de la imagen aquí

Tu escrito parece haber desaparecido. ¿Seguía siendo accesible en alguna parte?
No. Realmente necesito configurar mi sitio web nuevamente (cambié de host).
@ConnorWolf: ¿Alguna actualización sobre eso? ¡No me digas que el artículo se ha perdido para siempre! Me encantaría leerlo.
@Nepho Internet Archive al rescate: web.archive.org/web/20150425224409/http://…

Echa un vistazo a este proyecto: http://generichid.sourceforge.net/

Debería ser exactamente lo que quieres.