lundi 6 mai 2013

Rabbity-Pi un lapin dopé à la framboise

J'ai actuellement pour projet de modifier les entrailles de mon Nabaztag par un Raspberry-Pi afin d'en faire quelque chose de plus intéressant. Pour l'instant le lapin ne sert pas à grand chose vu qu'il est très dépendant du serveur sur lequel il se connecte.

Actuellement il se contente de clignoter différentes couleurs, de bouger les oreilles de temps en temps, de dire l'heure toute les heures (avec un son mauvais et accompagné d'une blague, toujours la même à chaque heure de la journée).

Enfin, ça c'était avant, avant que je ne l'éventre et afin de commencer à comprendre comment il fonctionne.

Le lapin écorché



Ouvrons le lapinou

Première bonne surprise la plupart des éléments actifs sont reliés à la carte principale par des connecteurs "clipsables" cela permet de désolidariser la carte des composants sans avoir à dessouder.
Le fabriquant a eu la mauvaise idée de mettre de la colle partout pour éviter que ces connecteurs clipsables ne se détachent, mais avec un peu de persévérance et une petite lame, on arrive à tous les détacher.

Il y a donc :
  • 2 fils reliés au bouton poussoir situé en haut de la tête du lapin
  • 2 fils reliés au petit haut parleur
  • 2x3 fils reliés à la carte d'alimentation
  • 2x8 fils reliés à chacune des oreilles

LED RGB

Les seuls éléments actif qui ne sont pas externalisés sont les LED RGB. Elles sont situées, comme vous pouvez le voir sur la photo, au creux de petits cônes de plastique noir, qui permet de concentrer la lumière en petit cercles lumineux :
  • une LED RGB pour le nez
  • 3 LED RGB situés au niveau du ventre
  • 1 LED RGB en bas pour illuminer la base du lapin
Il faudra donc utiliser de nouvelles LED RGB, et trouver un moyen simple de concentrer la lumière aux bons endroits afin de rendre un effet similaire. J'ai l'intention de laisser la carte originale en état de fonctionnement et je n'envisage donc pas de récupérer les divers cônes noirs, qui m'ont l'air de toute façon très bien collés.

Les oreilles

Les oreilles sont un des organes les plus complexe du lapin.
Avant d'ouvrir le lapin, je pensais que les oreilles étaient contrôlées par deux moteurs pas à pas, mais en fait deux petits moteurs à courant continu assurent le mouvement.
Afin de contrôler la position des oreilles, et comme le lapin semble savoir la position exacte de ses oreilles et non pas une position relative (si on tourne manuellement une oreille, il va la repositionner au prochain cycle), j'ai d'abord pensé à un codeur optique absolu, mais en fait c'est bien plus simple, c'est un codeur incrémental constitué d'un pont infrarouge devant lequel passe une roue dentée ayant 20 dents.

Afin de savoir la position absolue, 3 de ces dents sont manquantes. Lors du démarrage le lapin fait faire un tour complet à ses oreilles et détecte la présence du "trou". Il sait alors comment sont positionné ses oreilles.

L'alimentation

Le Nabaztag est alimenté par un transformateur 9V. Une petite carte électronique permet de renvoyer cette alimentation à la carte principale de deux façons :

  • Un renvoi quasi direct, on se retrouve avec à peu près à 8V
  • Un renvoi piloté par le petit potentiomètre qui sert à régler le volume sonore du lapin, la tension varie en fonction de la position du potentiomètre.
Je vais certainement réutiliser cette alimentation pour les éléments du lapin mais aussi le Raspberry-Pi (qui a besoin de 5V et environ 1A). Il faudra tout de même faire attention à ce que la consommation de l'ensemble ne tire pas trop sur le transfo.

La connexion wifi

Le seul élément que je ne vais pas réutiliser est la connexion wifi installée sur le lapin. D'une part car il serait vraiment complexe (voire impossible) de connecter le Raspberry-Pi à travers la carte interne du Nabaztag, mais aussi d'autre part car la carte ne supporte que le vieux protocole de chiffrage WEP.
L'anecdote sur le wifi est qu'on se rends compte que cette fonction est assurée par une véritable carte PCMCIA connectée à la carte mère (que l'on peut voir dépasser en haut de la carte sur la photo). Ce choix a certainement été fait pour le coté économique mais ça me semble vraiment compliqué de ré-implémenter le contrôleur de carte PCMCIA pour un simple lapinou connecté.


Voilà pour un premier tour d'horizon des entrailles de ce Nabaztag. Chaque élément devra être analysé plus en profondeur afin d'en extraire les caractéristiques techniques. Puis il faudra imaginer les différents circuits afin de connecter tout cela au Raspberry-Pi. Viendra également la partie logiciel afin de contrôler tout ça.
Et finalement on aura peut-être un jour un Lapin fonctionnel !