Question:
Quel matériel AVR pour USB?
jojo l'abricot
2010-08-09 17:38:49 UTC
view on stackexchange narkive permalink

Je me demande quel matériel sera le meilleur pour jouer avec l'USB car il semble que beaucoup de projets utilisent uniquement atmega8 (ou même attiny). Mais serait-ce vraiment plus facile avec un AT90USB qui a l'USB intégré?

J'ai déjà regardé quelques bibliothèques HID (lufa, avr-usb, v-usb…) mais elles sont complexes. Quelqu'un a-t-il un lien vers un projet spécifique ou une explication unique de l'implémentation USB?

Pour les détails: je voudrais faire un joystick ~ 25 boutons et je travaille sous linux.

Trois réponses:
Kevin Vermeer
2010-08-09 17:53:11 UTC
view on stackexchange narkive permalink

Le moyen le plus simple d'interagir avec un AVR via USB serait de connecter un FTDI FT232 à l'UART, puis d'interagir avec votre AVR en tant que port COM virtuel à l'aide des pilotes FTDI.

Vous avez probablement entendu parler ou utilisé cette puce; c'est sur de nombreux appareils embarqués (y compris les cartes Arduino) et c'est probablement le moyen le plus simple d'interagir avec un microcontrôleur via USB. Cependant, je ne suis pas sûr qu'il puisse faire ce que vous essayez de faire; il crée un port COM virtuel. Si vous pouvez écrire un plugin pour interroger l'appareil pour les pressions sur les boutons, ce sera idéal. Cependant, si vous souhaitez qu'il apparaisse en tant que périphérique d'entrée, je ne suis pas sûr que ce soit la solution pour vous.

Modifier: Ceci est la solution simple de plug-in pour obtenir une communication de base. La réponse de Joby ne restreint pas votre projet à un port COM virtuel comme le fait ce périphérique.
Cependant, le port fourni peut fonctionner de la même manière avec inputattach. (Source: commentaire de Joby ci-dessous) Cependant, il semble que vous devrez patcher votre pilote de périphérique dans l'utilitaire inputattach.

Je recommanderais certainement la solution FTDI comme une solution rapide et rentable pour tout projet ponctuel. (On ne sait pas si votre joystick est unique ou prévu pour 10k unités!) Une version particulièrement intéressante est leur "câble USB-TTL" (environ 20 $) qui ressemble à un câble USB à une extrémité, avec un en-tête ou nu fils à l'autre extrémité et contient la puce USB à l'intérieur. Ce câble est utilisé comme solution USB pour de nombreuses cartes populaires, y compris l'Arduino Lilypad et Arduino Pro.
Si vous suivez cette voie, vous voudrez peut-être toujours que votre joystick apparaisse comme un pilote de joystick approprié sous Linux. Vous pouvez le faire avec inputattach http://wiki.archlinux.org/index.php/Attaching_serial_input_devices_to_the_kernel_input_system
avra
2010-09-14 17:16:12 UTC
view on stackexchange narkive permalink

Un joystick à 25 boutons basé sur AVR et programmable à partir de Linux peut être l'un de ces projets: http://www.obdev.at/products/vusb/prjhid.html. USB a de nombreuses classes de périphériques standard, et HID en fait partie, pratique pour les claviers, les souris et les manettes de jeu, d'autant plus que tous les systèmes d'exploitation le prennent en charge, ce qui signifie que vous n'avez pas à fournir de pilote pour votre périphérique. Vous n'avez pas besoin de connaître le côté bas niveau de l'USB / HID si vous utilisez de tels exemples de projets, mais vous pouvez trouver beaucoup d'informations sur le site officiel et la documentation USB.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 2.0 sous laquelle il est distribué.
Loading...