From b9e22325bb46e2611a73e54a3f0ade31800d1bd9 Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Fri, 9 May 2014 14:30:46 +0200 Subject: Moved to pelican 3.3 --- content/Informatique/2009-02-19-wiimote1.rst | 60 ++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 content/Informatique/2009-02-19-wiimote1.rst (limited to 'content/Informatique/2009-02-19-wiimote1.rst') diff --git a/content/Informatique/2009-02-19-wiimote1.rst b/content/Informatique/2009-02-19-wiimote1.rst new file mode 100644 index 0000000..94577d4 --- /dev/null +++ b/content/Informatique/2009-02-19-wiimote1.rst @@ -0,0 +1,60 @@ +.. -*- mode: rst -*- +.. -*- coding: utf-8 -*- + +Un pilote wiimote sous Linux en python +-------------------------------------- + +:date: 2009/02/19 +:tags: Programmation, Wiimote + +La wiimote est la manette de contrôle de la console wii de Nintendo, un +outil merveilleux dont voici un petit résumé de ses fonctionnalités : + +- Accéléromètres +- Caméra infrarouge +- Émetteur/Récepteur Bluetooth +- 11 boutons + +( voir le détail sur la page de +`wikipédia `_ ) + +En disposant d'un récepteur bluetooth, il est possible de se connecter à +la télécommande et de récupérer ses informations, mieux, avec le projet +`cwiid `_, on peut transformer la wiimote +en souris ! + +Ainsi selon le mode dans lequel se trouve la télécommande, on contrôle +notre curseur en inclinant la télécommande, ou en la pointant vers une +source infrarouge + +.. + + La source infrarouge pouvant être la sensor bar fournie avec la + console, ou une source externe, bougie lampe ou tout ce dont pouvez + disposer diffusant de la chaleur à partir d'un point unique + +Le pilote fourni avec cwiid fonctionne mais n'est pas optimisé. Il +arrive que la souris parte dans une direction incontrôlée, ou de ne pas +pouvoir accéder à certaines parties de l'écran. + +La faute est due au pilote intégré qui se contente juste de placer le +pointeur sur la source infrarouge, avec quelques petites optimisations. + +En effet, le capteur de la wiimote nous indique quelle est la position +de toutes les sources infrarouges perçues ( et nous fourni également des +informations sur leur intensité ), mais la conversion en pointeur est +laissée au pilote : + +- Quelle source choisir comme référence ? +- Comment gérer les cas où une source est sortie du champ de vision ? +- Comment réagir quand cette source revient dans le champ de vision ? + +Tout ceci doit être pris en compte pour pouvoir offrir une ergonomie au +curseur et faciliter le contrôle. + +Heureusement pour nous le pilote nous donne la possibilité de réécrire +nos propres moteurs, et donc de gérer nous même la manière dont on veut +que la souris réagisse. Nous avons même le choix dans le langage ! En +effet, nous pouvons choisir entre offrir un plugin compilé ( le pilote +est écrit en C ), ou l'écrire en python. C'est cette deuxième option que +je vais présenter dans les articles qui suivront. -- cgit v1.2.3