Il modo più semplice per creare un dispositivo USB HID


8

Sto lavorando per hackerare un telecomando RC che possiedo. Quello che intendo fare è aprirlo e attingere ai potenziometri. Voglio leggere i valori analogici forniti dai potenziometri e inviare i segnali al mio PC. In sostanza, voglio riutilizzarlo per funzionare come un joystick con l'interfaccia HID USB. Naturalmente, l'interfaccia HID non è necessaria, ma credo che sia il modo migliore per farlo.

Conosco abbastanza bene la famiglia di microcontrollori AVR, quindi inizialmente potevo provare qualcosa come V-USB con un ATMega8. Allo stesso tempo, ho iniziato a pensare che potrebbe diventare inutilmente difficile. Esiste un modo più semplice per ottenere tale connettività senza rompere la banca?

Risposte:


4

Il modo più semplice morto è comprare un Arduino Leonardo .

In realtà ho appena fatto quello di cui stai parlando. Nel mio caso, stavo convertendo un vecchio controller di gioco in stile arcade in USB.

Vedi il commento che ho fatto qui .

Ad ogni modo, ecco i miei file modificati che ti serviranno per trasformare il tuo leonardo in un joystick. Questi file supportano un joystick a 8 assi, con due hat-switch e 32 pulsanti. Se vuoi un minor numero di pulsanti / assi / qualunque cosa, puoi semplicemente ignorare le cose che non ti servono o modificare tu stesso il descrittore HID. Così com'è, per tutto ciò che il descrittore HID attualmente specifica, necessita solo di 12 byte per aggiornamento del PC, quindi non sono troppo preoccupato per gli assi extra che causano problemi o rallentano le cose.

inserisci qui la descrizione dell'immagine


1
La tua scrittura sembra essere scomparsa. Era ancora accessibile da qualche parte?
toxaq,

No. Ho davvero bisogno di configurare di nuovo il mio sito Web (ho spostato gli host).
Connor Wolf,

@ConnorWolf: qualche aggiornamento al riguardo? Non dirmi che l'articolo è perso per sempre! Mi piacerebbe leggerlo.
Nefi

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.