wusbmote: Adaptateur pour accessoires wiimote à USB
Résumé du projet
Cette fois, j'ai décidé de créer un adaptateur permettant d'utiliser
des manettes récentes, c'est à dire du genre encore vendues dans les grand magasins,
à l'état neuf, et non, pas dans les fameux paniers en fil de fer bourrés d'articles offerts
au quart du prix initial. (Que de trésors peut-on y trouver.. mais enfin.)
Caractéristiques
- Support de la Nunchuk, version officielle et clones. Pleine résolution (8 bits pour le joystick XY, 10 bits pour les 3 accéléromètres)
- Support de la Manette classique, versions officielles (RVL-005, RVL-005(-02)) et clones. Par défaut, le slider analogique L est déactivé. Il est possible d'alterner entre un slider L actif/inactif en gardant le bouton HOME enfoncé pendant 3 secondes.
- Support partiel de la Wii MotionPlus. Le raccord de périphérique à la MotionPlus n'est pas possible. Les mesures de roulis, tanguage et lacet sont réduites pour pouvoir être transmises sous 10 bits. Cela en limite donc très sévèrement la précision et l'utilité.
- Périphérique USB HID standard. Pilote non requis pour la plupart des systèmes d'exploitation. Fonctionne sous Linux, Windows 7, et bien d'autres.
- Changement de type d'accessoire possible en tout temps.
Applications
L'utilité de la manette classique ne fait pas de doutes. C'est pratiquement une manette de Playstation.
Mais qu'en est-il de la Nunchuk? Ne comportant que deux boutons et un joystick, je n'étais pas certain.
Mais en testant, j'ai rapidement réalisé qu'elle est parfaite pour des jeux simples à la master system ou à la NES.
Points forts de la Nunchuk:
- Il est possible de jouer d'une seule main. L'autre se libère donc pour déguster quelque chose ou manipuler son portable tout en surveillant le jeu distraitement (surtout lors du "grinding" dans les RPG).
- Ne pas être contraint à utiliser ses deux mains permet l'adption de postures traditionellement
impossibles ou difficiles telles que jouer le bras détendu le long du corps, pendant sous le siège, ou
encore en s'appuyant la tête sur l'autre main.
- Jouer n'importe quelle main est possible.
Points faibles:
- Deux boutons sont souvent insuffisants. Heureusement pour les jeux NES, les boutons manquants, start et select, ne sont pas souvent utilisés en plein jeu. Il n'est donc pas trop incommode d'y accéder par le clavier à l'occasion.
- Les accéléromètres ne sont pas très utiles pour le moment.
Retour en haut
Photos
Voici quelques photos du projet et des périphériques supportés:
Faites moi parvenir des photos si vous réalisez ce projet! Il me fera plaisir de les ajouter à cette page.
Retour en haut
Schéma
Un microcontrôleur Atmega8 (ou Atmega8a) d'atmel est utilisé. L'horloge est assuré par un crystal de 12mhz.
Alimentation 3.3v
Une source de 3.3 volt est nécessaire pour l'alimentation de la manette et pour les résistances R4 et R5 du schéma ci-dessus.
Un régulateur de voltage abaissant la tension d'USB 5v à 3.3v peut être facilement réalisé en utilisant le populaire circuit
intégré LM317 tel que suggéré pour le projet de manettes N64/Gamecube à USB:
http://www.raphnet.net/electronique/gc_n64_usb/index.php#2
Connecteur Wii
Il y a plusieurs options:
- Utiliser une rallonge. (Beaucoup d'options sur eBay, et très économique)
- Utiliser un connecteur équivalent neuf (En vente dans mon magasin en ligne)
- Utiliser le connecteur d'une manette Wiimote endomagée. (Parfois sur eBay en cherchant "broken wiimote" par exemple)
- Ne pas utiliser de connecteur. Couper le câble de la manette Nunchuk / Classique. (Recommandé si le circuit est assemblé/installé à l'intérieur de la manette)
Important: Je ne précise pas la couleur des conducteurs dans les rallonges Wiimote car cela varie d'un
manufacturier à l'autre. Vous devez absolument déterminer le code de couleur de vos câbles en utilisant un
testeur de continuité pour réaliser un tableau tel que ci-dessous qui clarifiera ensuite les raccords.
Très important: Ne vous fiez pas aux couleurs de fils indiquées dans l'exemple ci-dessus. Désolé d'insister,
mais c'est que s'y fier aveuglément peut résulter au mieux en un montage non-fonctionnel et au pire à des
dommages permanents à votre matériel (Manette, PC, Maison?). Quoi qu'il advienne, je ne serai pas tenu responsable.
Et le bouclier du câble?
Le bouclier devrait être raccordé au GND.
Retour en haut
Circuit imprimé
Comme c'est souvent le cas, j'ai utilisé mon circuit
multiuse pcb2 qui est fait
pour acceuillir un Atmega8 et les composantes liées à cette implémentation
USB.
La couleur des fils dans la deuxième image ci-dessus a été volontairement désaturée car tel que déjà énoncé dans la section schématique, il est n'est pas prudent de s'y fier aveuglément.
Retour en haut
Logiciel
| Fichier(s) | Date | Description |
wusbmote-1.0.tar.gz (81.7 KB)
wusbmote-1.0.hex (11.5 KB)
| 4 Novembre 2012 |
Version initiale.- Support de la Nunchuk
- Support de la manette classique
- Support partiel de la Wii MotionPlus
- Compatible USB HID
- Changement de type d'accessoire possible en tout temps.
|
Code source:
Le code source est rendu publique sous la license GPL version 2. Voir
License.txt pour plus d'information. Le projet se compile avec avr-gcc.
Fichier .hex et fuses
Les fichiers en format .hex sont pour programmer l'Atmega8 ou Atmega8a sans avoir à compiler quoi que ce soit.
Pour que le microcontrôleur fonctionne à la bonne vitesse,
il est essentiel de configurer les 'fuses' correctement.
Les valeurs
pour ce projet sont:
high_byte=0xc9 low_byte=0x9f.
Pour de l'information sur la programmation d'un AVR,
visitez ma page sur la
programmation
d'AVR
Fonctionalité USB:
J'ai construit mon adaptateur en utilisant le microcontrôleur ATmega8 d'Atmel.
Ce microcontrôleur ne supporte pas USB nativement alors j'ai utilisé le
pilote USB logiciel-seulement
V-USB.
Combinaison Vendor ID/Product ID USB:
Veuillez ne pas réutiliser ma combinaison VID/PID pour des projets dérivés
ou autres. Obtenez-en un vous-même. J'avais acheté les miens chez
mecanique à l'époque
où ils en vendaient. Il semble qu'à présent, le forum des implémenteurs USB a réussi
à faire cesser cette pratique pour nous forcer à leur acheter un numéro de vendeur (2000$ USD)..
Retour en haut
Références
Avertissement
Je ne saurais être tenu responsable pour les dommages
que la mise en œuvre des instructions présentées
sur cette page pourraient causer à votre équipement
ou à vous-même. Aussi, je ne donne aucune garantie quant
à l'exactitude des informations et à leur fonctionnement.
Notez toutefois que les procédures ci-haut ont fonctionnées
sans aucun problème pour moi.
Retour en haut