Capteur et accéléromètre 3 axes

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 :

nunchuck1

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….

module boussole

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.

6 commentaires sur « Capteur et accéléromètre 3 axes »

  1. Bonjour,
    Oui, effectivement si tu utilises un gyroscope quelconque pour modèle réduit par exemple, le signal de sortie « retournera au point central… » c’est le principe d’un gyro! Il faut savoir qu’un gyro donne une vitesse angulaire par conséquent si tu arretes de tourner ta manette, le signal vaudra 0 puisque la vitesse est nulle! si tu veux conserver la derniere valeur du gyro, il faut un conservateur de cap.
    Le module cpm03 n’est pas un gyro!! c’est un detecteur de champs magnétique assez sensible pour detecter le nord Magnétique. Il te donnera une valeur en fonction de sa position par rapport au nord!! Rien a voir avec un gyro.

  2. Oui effectivement, j’ai fais ici une grossière erreur /abus de languagee…le cpmo3 est bien sûr un detecteur de champ magnétique…

  3. Bonsoir ,

    Votre blog est très intéressant !!

    Pratiquant l’aéromodelisme et notamment le « Vol en immersion » je souhaite réaliser un « Head tracker » , car les solutions plug and play du commerce fonctionnent seulement avec quelques radio commandes .

    Je me demandais si le module Arduino pouvait convertir le signal des capteurs (accéléromètre et cpm03) en deux signaux proportionel de 0 à 5 Volt,(un signal par voie) .

    Ce si afin de remplacer deux potentiomètres de ma radio par le module (capteurs + Arduino) laissant le soin à la radio de transformer en signal PPM .

    Merci .

    1. Merci pour votre appréciation, le temps me manque malheureusement pour réellement actualiser ce blog de façon efficace et en temps réel avec mes expérimentations.
      Pour votre question, sans avoir réalisé moi même ce montage, je pense que l’arduino est tout à fait en mesure de produire facilement ces deux signaux. Il me semble d’ailleurs avoir déjà vu des postes à ce sujet dans le forum du site de l’arduino section adrware …

  4. Madame, Monsieur,

    Je suis une élève de 1er S et je fait un TPE (Travaux Personnels Encadré) sur le fonctionnement de la wii.
    La photo fbmfbm.files.wordpress.com/2008/06/nunchuck1.png
    m’intéresse. J’aimerais l’intégrer à mes recherches.
    C’est pourquoi je vous demande l’autorisation de l’utiliser.
    Sans réponse de votre part sous quinzaine, je considèrerais alors une tacite approbation.
    Merci

    Cordialement,

    Pauline Magaud.

    1. Bonjour,

      Merci de votre demande d’autorisation.
      Pour un usage scolaire, et uniquement dans ce cadre, vous avez les droit d’utilisation et modifications éventuelles de ce document.

      Fabien Maison

      Cordialement

Répondre à Sav Annuler la réponse.