BB-8 DIY (contrôlé par la Force ;)

Après quelques mois passés à bosser sur un gros projet, je m’offre une petite pause de fun pour un petit BB-8 fait maison, parce qu’il est vraiment trop mignon 😉 (vidéo disponible à la fin de l’article).

A la base, je voulais juste faire une une figurine et puis je me suis dit que ça serait sympa de l’animer un peu. Alors il ne se déplace pas, mais il tourne la tête, émet des sons et détecte les obstacles devant lui : un simple passage de la main devant lui déclenchera différentes animations.

Ci-dessous, l’ensemble des éléments utilisés (électronique, pièces imprimées, capteur ultrasons, servomoteur…). Le modèle 3D n’est pas de moi, il vient d’ici. J’ai fait des trous dans le corps pour pouvoir passer l’axe de la tête et imprimé des joints pour assembler le tout (+ le support).

Après ponçage, enduit, peinture et vernis, il ne reste plus qu’à assembler le tout.

L’image suivante représente le « cerveau » de BB-8 : un simple Arduino Nano, un buzzer et 3 borniers à visser (alimentation et capteur ultrasons).

Le code est disponible ici. C’est pas super propre mais bon, ça fait l’affaire. J’ai eu de petits soucis d’incompatibilité entre différentes librairies car elles utilisaient les mêmes interrupts : Servo, NewPing, Tone (ou même NewTone pour éviter le conflit avec NewPing). Au final, je n’utilise aucune librairie pour piloter le buzzer).

Vue du boitier une fois tous les composants en place :

Le servomoteur est fixé au centre du boitier :

Pour prolonger l’axe du servomoteur, j’ai utilisé un tube (qui remontera jusqu’à la tête) et imprimé 2 joints qui s’emboîtent dans le tube de PVC : le premier a un emplacement prévu pour intégrer le connecteur à la tête du servomoteur (en noir, que j’ai découpé d’un support vendu avec le servo) et le second qui permet de faire la jonction avec la tête).

Au passage, le socle au dessus du servo est constitué de 2 pièces : la première permet de surélever le support au dessus des vis du servo et le second est un cône qui donnera l’illusion d’une dune (le sable a été saupoudré sur une couche de colle à bois) parce qu’on rencontre BB-8 dans le désert ;).

Aperçu du système de rotation de la tête :

A l’arrière : un interrupteur et un connecteur USB (le robot peut fonctionner sur USB ou sur pile, au choix) :

Et voilà !

Pour finir, une démonstration de notre petit BB-8 en vidéo 🙂

 

Tous les fichiers sont disponibles ici (modèles Sketchup, fichiers STL et code pour le Arduino Nano). Les fichiers STL du robot en lui-même sont à récupérer sur Thingiverse comme indiqué plus haut.

2 thoughts on “BB-8 DIY (contrôlé par la Force ;)

  1. Bonjour,
    Très intéressante fabrication, simple et ludique qui permet de voir pas mal de trucs (capteurs et actionneur) tout en étant assez abordable pour des élèves de collège…
    Je voudrais essayer de la réaliser en club robotique dans un premier temps et avec les autres élèves de 4eme si ça prend…
    Auriez-vous un lien pour les fichiers sketchup (8) ou stl en particulier du boîtier et de la dune.
    Celà m’évitera de les redessiner entièrement…
    Pour les autres fichiers, j’ai essayé de les importer à partir de thingiverse mais ils sont trop complexe et mes ordis scolaire ou mon sketchup (en wine sous ubuntu) sont à la ramasse… tant pis, Je les imprimerai directement en stl sans modif…
    En tout cas, bravo pour le partage (de votre blog entier aussi très clair).

    1. Bonjour Deny,

      Merci pour votre commentaire 🙂 J’ai ajouté à la fin de l’article un lien vers une archive ZIP qui contient tout ça. Concernant la version de Sketchup, honnêtement, je ne me souviens plus de ce que j’utilisais à cette époque. Mais j’ai vérifié, ils s’ouvrent bien avec la dernière version de Sketchup 2017.

      L’ouverture de fichiers STL trop complexes est peine perdue dans Sketchup, je pense que le logiciel n’est pas vraiment adapté, même avec une grosse config 😉

      J’espère que cela vous sera utile, encore merci pour vos encouragements ! 🙂

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *