summaryrefslogtreecommitdiff
path: root/content/Informatique/2009-02-19-wiimote1.rst
diff options
context:
space:
mode:
Diffstat (limited to 'content/Informatique/2009-02-19-wiimote1.rst')
-rw-r--r--content/Informatique/2009-02-19-wiimote1.rst60
1 files changed, 60 insertions, 0 deletions
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 <http://fr.wikipedia.org/wiki/Wiimote>`_ )
+
+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 <http://abstrakraft.org/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.