Description de la création d’un capteur de mouvement couplé à un accéléromètre pour suivre les déplacements sur 3 axes.
Comme beaucoup l’ont découvert, le petit bijoux de Nintendo, sa console Wii, est une mine d’inspiration technologique, et démocratise des éléments qui jusqu’alors n’étaient que confidentiels. Par exemple, les interfaces de déplacement, utilisent des capteurs infrarouges et des accéléromètres, qu’il est tout à fait possible d’exploiter. Résultat, pour 19 euros environs, vous pouvez acheter un “Nunchuck”, une des manettes de la console, et vous vous obtenez : un accéléromètre 3 axes, un microswith, un micro joystick, le tout sur une interface avec codage I2C et éventuellement si vous la conservez, une coque à l’ergonomie remarquable.
Le plus intéressant dans mon cas, se sont l’accéléromètre, et la possibilité de sortie du signale en I2C. I2C, signal inventé par Philips (1²C pour Inter Integrated Circuit Bus) pour ces utilisation domotique, utilise deux câbles pour sérialiser l’information : un câble avec le flux Data, est un câble pour l (horloge de référence.
Pour un Nunchuck par exemple, nous avons donc 4 câbles :
Rouge pour le +3V;
Blanc pour la masse;
Vert pour le bus Données;
Jaune pour le signale horloge de référence.
A partir de cela, est sachant que l’arduino et capable sans problème de gérer ce genre de signale (il existe même une librairie pour l’I2C spécial, issue des source pour la carte WIRING)…récupérer le signal de l’accéléromètre est un jeu x d’enfant.
Je pense que c’est ce type, qui le premier à utilisé cette solution, est il explique en détail sa procédure sur ce site, et donne également des exemples de code pour l’arduino.
Je posterais un peux plus tard le code que j’utilise actuellement pour le traitement des données de l’accéléromètre.
Malheureusement, l’accéléromètre n’est réellement efficace que sur l’axe des X et Z. Si l’on prend comme référence ce système d’orientation :
Dommage pour nous, ce qui nou interesse, c’est justement l’axe Y en priorité, et l’axe X. Le Z ne sera exploité que dans une version ulterieur, exploitant les 3 axes ( l’inclinaison gauche/droite, qui utilise l’axe Z, est moin indispensable que la rotation gauche/droite pour se situer dans un environnement…)
La solution, est donc d’adjoindre à l’accéléromètre du Nunchuck, un gyroscope basique pour récupérer l’axe Y. Le gyroscope référencé sur un Nord magnétique hypothétique, a lui, toutes les capacités pour récupérer les données d’orientation par apport à un point de référence. J’avais, dans un premier temps, pensé utiliser les petits gyroscope que l’on trouve sur les modèles d’hélicoptère RC, car dans les sous produit chinois, certains sont accessibles à des prix réellement bas (on trouve pour moins de 15 euros des gyros acceptables). Malheureusement, après des tests, il s’avère que ce genre de gyro, possède un fonctionnement particulier, adapté à leur fonction, c’est à dire la correction de cap, et ne réagissent qu’à l’impulsion et retourne au point central après détection de la variation….

Donc, au final, un petit gyroscope de ce type, Module boussole “CMP03″, commercialisé par exemple par Lextronic règle le problème….malheureusement avec un grève ment du budget non indolore…..
Si l’on fait le compte : 19 euros pour l’accéléromètre du nunchuck, plus 45 pour le module MS03….64 euros pour le module de tracking. C’est encor raisonnable mais on se retrouve à la limite des ambitions de matériels prix plancher….
Le Nunchuck fournira également, le micro switch pour l’initialisation du modul de tracking. Chaque initialisations devrait pallier au problème de dérive et de choix de la position initiale de l’utilisateur.





















