CNC : remplacement de l’électronique de contrôle (Protoneer 3.51) et améliorations

Suite à l’analyse des problèmes rencontrés avec la CNC low cost commandée, j’ai donc décidé de tout remplacer, sauf le châssis, pour partir d’une base saine et en espérant me débarrasser des problèmes rencontrés jusqu’ici.

Voici la liste des courses : Continuer la lecture

CNC, analyse des problèmes…

Suite à l’assemblage du kit, bien que j’ai pu faire quelques essais, je me suis heurté à un problème de stabilité : au bout d’un certain temps (aléatoire), la machine se met à bloquer, sauter des pas, ce qui me force à abandonner l’usinage.

Le vendeur, bien que très poli, n’a jamais pu m’aider davantage que « vérifiez que tout est bien vissé »… J’ai fait de mon mieux pour diagnostiquer le problème moi-même, mais il me manquait pas mal d’infos…

Bref, aux grands mots, les grands moyens, j’ai décidé de changer un certain nombre de choses : Continuer la lecture

Ma petite CNC est arrivée !

J’y pensais depuis quelques temps, j’ai franchis le pas et j’ai commandé une petite CNC !

CNC signifie Computer Numerical Control, ce qui, en français, donnerait machine-outil à commande numérique, ou plus littéralement « commande numérique par calculateur ».

Alors qu’une imprimante 3D dépose de la matière en partant du bas de l’objet, la fraiseuse CNC va retirer de la matière en partant du haut de l’objet. Mais si souvent on y fixe une fraise pour faire de l’usinage, on peut aussi y attacher un foret pour réaliser des perçages très précis, ou encore un laser pour « dessiner » sur du bois ou du liège, voir découper certains matériaux.

On peut aussi l’utiliser comme graveuse (sur bois, plexi, alu…). Et l’un des usages qui m’intéresse le plus : la gravure de PCB ! Je ne réalise pas souvent des PCB, mais à chaque fois, avec la gravure chimique, c’est tout un chantier dans la salle de bains, les produits perdent leur efficacité avec le temps, on ne peux pas s’en débarrasser simplement, bref, la gravure m’ira très bien pour mes besoins 🙂

Continuer la lecture

On y coupera pas : le hand spinner imprimé en 3D

Allé, on n’échappera pas à la tendance du moment : le hand spinner (ou fidget spinner)

Bon, et c’est aussi l’occasion de redémarrer l’imprimante 3D qui commençait sérieusement à prendre la poussière après plus d’un an de repos. J’espère retrouver un peu de temps pour avancer sur des projets plus sympa rapidement (notamment le projet R.I.P.E.R.).

En attendant, voici 2 hand spinners, sortis tout droit du Thingiverse ! Le premier à 3 branches (le modèle par ici) :

Et maintenant voici le Cat Spinner 😉 (modèle par ici) :

On finit avec une petite vidéo de tout ça en action 🙂

 

En bonus, une petite astuce : les roulements à billes sont gavés d’huile ou autres graisses qui génèrent beaucoup de frottements et qui empêchent de longues rotations. Si les roulements sont vieux, ils peuvent être encrassés. Pour obtenir des roulements efficaces, il suffit de les laisser tremper quelques minutes dans un dissolvant (alcool, acétone…) qui virera le gras et les saletés, puis les rincer et bien les sécher. Ils devraient maintenant beaucoup mieux tourner ! Attention tout de même, ils s’useront plus rapidement s’ils tournent à sec, donc ne pas hésiter à ajouter une goutte d’huile (ce que je n’ai pas fait…).

Un bureau virtuel (ou page d’accueil auto-hébergée)

En général, quand on est sur un PC, on a toujours à peu près les mêmes onglets ouverts. Pour gagner du temps, on peut les ouvrir automatiquement quand le navigateur se lance. Après être tombé sur quelques sites ou des gars expliquaient comment ils avaient créé leur page d’accueil personnalisée, ça m’a donné envie d’en faire autant (voici un exemple).

Les intérêts sont multiples :

  • Productivité : une seule page d’accueil qui donne accès à tout ce dont on a quotidiennement besoin
  • Accessibilité : il suffit d’un navigateur et d’une connexion internet
  • Indépendance : on gère soit même ce « portail », on est pas dépendant d’une plateforme spécifique (comme Netvibes) qui peut fermer ou modifier ses conditions d’utilisation
  • Évolutivité : on y ajoute tout de dont on peut avoir besoin et les possibilités sont vastes (grand choix d’applications Open Source ou gratuites, possibilité d’ajouter ses propres développements…)

Bien sûr, ça demande un peu plus de temps et de travail, mais au quotidien, c’est du bonheur. Une petite remarque aussi concernant la sécurité : comme on peut être amené à installer un grand nombre d’applications de sources diverses, je préfère ne rien stocker de critique sur ce portail et l’accès est très restreint.

Avant de rentrer dans le détail, voici une capture d’écran de l’ensemble de ma page d’accueil, qui finalement est devenue un bureau virtuel (cliquer pour la voir en grand) :

On retrouve les services suivants :

  • Recherche multi-moteurs (dev perso)
  • Un accès rapide à mes différentes messageries/Facebook
  • Gestionnaire de To Do List (myTinyTodo)
  • Météo (affichée via un widget de meteocity)
  • Widget Deezer pour écouter de la musique
  • Plusieurs panneaux de liens, pour un accès rapide à mes sites/services favoris
  • Les flux RSS du Monde et 01net, pour un aperçu rapide de l’actalité
  • Une calculatrice,
  • Le site mobile Sytadin dans une Iframe (la version mobile affiche la carte en plein écran)
  • Un outil de prise de notes avec un éditeur de texte avancé (les notes sont sauvegardées sur le site) (dev perso).
  • Le programme TV de la soirée (widget Télé-Loisirs affiché dans une iframe)
  • Les flux RSS Allociné pour les films de la semaine et les films à venir
  • Un accès vers mon blog (WordPress)
  • Un agrégateur de flux RSS (j’en ai testé pas mal, mais pas encore convaincu), un jour…
  • Un forum (phpBB), dont je suis le seul utilisateur et que j’utilise pour prendre des notes, m’organiser, classer des liens, bref un fourre-tout
  • Un Wiki (Dokuwiki) pour organiser des informations utiles
  • Un gestionnaire de favoris (Online-bookmarks), il est un peu vieux, pas très sexy mais correspond à mon besoin
  • Différents outils : pastebin-like (Stikked), raccourcisseur d’urls (YOURLS), des outils d’encodage, calcul de hash etc…, des proxys (miniProxy et oranjeproxy), un lien vers Code Beautify
  • Un gestionnaire de fichier Web (eXtplorer), un must pour pouvoir modifier les fichiers du site sans devoir passer par un client FTP !
  • Un client FTP Web (Monsta)
  • Un outil de partage de fichiers comme wetransfer (Jirafeau)
  • Une galerie photo (MiniGal Nano)
  • Une bibliothèque pour accéder à mes PDF, via Encode Explorer

Quelques images en plus :

Tout ça c’est bien, mais je voulais aussi que ça ne soit pas trop moche, sans devoir y passer trop de temps, et c’est là qu’intervient AdminLTE. C’est une interface d’admin de démo basée sur Bootstrap (donc responsive : qui s’adaptera aux écrans de différents préiphériques). Elle contient un maximum de contrôles, et graphiquement, c’est plutôt réussi ! Je l’ai donc utilisée pour construire mon portail, moyennant quelques petites modifications.

Pour terminer, j’ai organisé tout ça dans une petite application PHP, histoire d’avoir un mini Framework MVC (basique), gérer l’authentification, les cookies etc. Il a fallu bidouiller pas mal des applications listées ci-dessus pour contourner leur authentification (et qu’il vérifie la connexion au portail à la place). J’ai parfois du tricher de manière assez moche, mais ça fonctionne 😀

Le tout est hébergé chez OVH, avec un nom de domaine très court. Soit une vingtaine d’euros par an. C’est le prix de l’indépendance 😉

LuxDimmer : gérer simplement la luminosité de l’écran

Depuis plus d’un an, le blog n’était plus mis à jour, alors que j’étais sur un projet passionnant (R.I.P.E.R.). J’ai dû mettre ces activités en suspend pour le boulot : j’avais une certif à préparer et ça m’a demandé beaucoup de temps (CEH).

Fraîchement certifié, me revoilà ! Dès le début de mes révisions, j’ai été confronté à un problème : la lecture de centaines de pages de cours sur l’écran, ça fatigue. Et devoir constamment modifier les réglages de luminosité sur l’écran, c’est toujours contraignant, surtout si on doit le faire plusieurs fois dans la journée. A noter que sur un ordinateur portable, cela ne pose pas de problème car Windows permet de modifier directement la luminosité de l’écran. Sur un écran fixe, c’est une toute autre histoire.

J’ai testé différents logiciels, comme f.lux qui semble une référence dans le genre (il permet d’ajuster la luminosité/colorimétrie de l’écran en fonction de l’heure du jour). Mais finalement, pas moyen de trouver un logiciel simple (et pas gavé de spy/ad-wares), qui permet de modifier la luminosité de l’écran à un instant T avec un simple curseur.

Je m’y suis donc collé. C’est très simple, le logiciel se lance et se place dans la barre des tâches. En cliquant sur son icone, un menu s’affiche permettant de modifier la luminosité des écrans connectés au PC. Voilà ce que ça donne :

Je me suis vite aperçu qu’il n’était pas possible de modifier directement la luminosité de Windows quand l’écran est « externe » (et non intégré à un portable). L’astuce consiste tout simplement à ajouter un calque qui se superpose au bureau et reste tout le temps au premier plan sans empêcher la souris d’accéder aux éléments graphiques sous-jacents. Il suffit ensuite de faire varier l’opacité de ce calque pour diminuer la luminosité 🙂

Voici le bout de code magique qui permet de gérer la « transparence pour les clics de souris » :

public static class WindowsServices
{
    const int WS_EX_TRANSPARENT = 0x00000020;
    const int GWL_EXSTYLE = (-20);

    [DllImport("user32.dll")]
    static extern int GetWindowLong(IntPtr hwnd, int index);

    [DllImport("user32.dll")]
    static extern int SetWindowLong(IntPtr hwnd, int index, int newStyle);

    public static void SetWindowExTransparent(IntPtr hwnd)
    {
        var extendedStyle = GetWindowLong(hwnd, GWL_EXSTYLE);
        SetWindowLong(hwnd, GWL_EXSTYLE, extendedStyle | WS_EX_TRANSPARENT);
    }
}

J’ai déposé les sources sur Github, si jamais ça intéresse du monde, l’exécutable est directement disponible également ici.

Projet R.I.P.E.R. : étage alimentation

Après cette parenthèse culinaire, revenons à la technique. Dans un précédent article , je présentais l’étage des batteries du robot, passons à l’étage de gestion de l’alimentation.

Ce bloc va être chargé d’apporter l’énergie aux différents éléments du robots :

  • 5V pour l’électronique de bas niveau et pour le cerveau (mini PC)
  • 7.2V pour les moteurs à courant continu
  • 6V pour les servomoteurs

J’utilise 3 modules :

  • Pour l’électronique, l’alimentation DFRobot DFR0205 3.3-25V 25W convertira les 7.2V de la première batterie (ou de l’alimention externe) en 5V
  • Les moteurs seront alimentés par la seconde batterie et pilotés par le contrôleur SaberTooth 2x5A.
  • Pour les servomoteurs, le module d’alimentation Seeed Studio 1.25-35V 3A convertira les 7.2V de la première batterie (ou de l’alimention externe) en 6V

Lorsque que le robot sera alimenté en 12V (alim externe), il faudra le détecter parce que les moteurs ne pourront pas encaisser les 12V en continu (ou prévoir une alim externe de 9V) :

These motors are intended for use at 6 V. In general, these kinds of motors can run at voltages above and below this nominal voltage, so they should comfortably operate in the 3 – 9 V range, though they can begin rotating at voltages as low as 1 V. Higher voltages could start negatively affecting the life of the motor.

Voici le caisson prévu pour ces éléments :

Les 2 trous sur les extérieurs accueilleront les fiches d’entrée pour les alimentations (électronique/moteurs). Le petit trou accueillera un double switch (pour activer/désactiver les 2 sources de courant en même temps).

Comme cet étage sera « suspendu » dans le châssis par des fixations latérales, j’ai collé 2 plaques d’aluminium sur les côtés pour renforcer la structure et éviter un décollage des couches de plastiques.

La grande ouverture rectangulaire est destinée au connecteur 14 pins qui permettra la connexion avec le corps du robot.

De gauche à droite, la description de chaque pin :

  1. +5V électronique bas niveau
  2. 0V
  3. +5V électronique haut niveau (mini PC, hub USB)
  4. 0V
  5. +6V pour les servomoteurs
  6. 0V
  7. Néant
  8. Pont diviseur de tension sur batterie 1 (surveillance de la charge et détection alim externe)
  9. Pont diviseur de tension sur batterie 2 (surveillance de la charge et détection alim externe)
  10. Pilotage des moteurs (connexion série Arduino Mega –> SaberTooth)
  11. Encodeur A moteur 1 vers Arduino Mega
  12. Encodeur B moteur 1 vers Arduino Mega
  13. Encodeur A moteur 2 vers Arduino Mega
  14. Encodeur B moteur 2 vers Arduino Mega

La photo ci-dessous montre l’agencement des composants :

  • Rose : régulateur 5V
  • Vert : contrôleur des moteurs
  • Blanc : régulateur 6V
  • Bleu : carte d’interface entre les différents éléments
  • Rouge : fiches jack d’entrée pour l’alimentation en provenance des batteries/alim externe
  • Noir : double switch

Le schéma ci-dessous permet de mieux visualiser les connexions :

power_07

Vue du dessous : les composants sont fixés sur des entretoises.

La pizza napolitaine DIY ! ;)

Alors rien à voir avec les sujets abordés habituellement sur ce blog, mais je suis tellement fan de cette découverte, que j’avais envie de la partager, et après tout, on reste dans le Do It Yourself 🙂

pizza_01

J’adore les pizzas, j’en fais souvent des maisons, mais le fait est que la pâte ne ressemble jamais à celle qu’on peut déguster dans une vraie pizzeria : une pâte fine, moelleuse et croustillante à la fois. Le succès dépend essentiellement de 2 paramètres :

  • la réalisation de la pâte (farine spécifique, temps de maturation etc.)
  • la cuisson : elle doit être très rapide et puissante. Ainsi la pâte ne sèche pas, reste moelleuse à l’intérieur et la garniture garde toute sa saveur.

Avant tout chose : ce billet découle de la découverte d’un topic incroyable lancé sur le forum du site Hardware.fr. Il contient actuellement plus de 1300 pages de messages au sujet des techniques, recettes, « hacks », expériences etc. autour de la pizza faite maison, et tout particulièrement, la fameuse pizza napolitaine. Le premier message résume l’essentiel pour bien commencer et j’en recommande fortement la lecture, ce billet porte sur mes premières expériences.

Les fours domestiques sont limités en température (même si quelques mâlins ont trouvé le moyen d’utiliser leur four en mode pyrolyse pour faire cuire leurs pizzas). La solution est de se tourner vers un four à pizza pour particulier. On trouve beaucoup de produits décevants, mais quelques uns sortent du lot, en particulier le G3 Ferrari. Je l’ai eu pour 70€ lors d’une promo sur Amazon Italie, en général, on le trouve autour de 100€. Ce four a la particularité de chauffer à près de 400°C (résistance au dessus et résistance sous la pierre réfractaire). Ce four peut même monter encore plus haut, il a été bridé suite à de nouvelles normes européennes, mais peut être facilement débridé et même moddé, on y reviendra. Pour ma part, je l’utilise pour le moment tel quel, sans modification.

pizza_00

La pâte

C’est l’élément essentiel. Pour obtenir un résultat proche de la vraie pizza napolitaine, il faut utiliser une farine appropriée : de la farine italienne type ’00’. Il  existe différents moulins (producteurs) qui déclinent leurs farines en plusieurs gammes (le choix de la gamme dépendra essentiellement du temps de maturation). Pour le moment, j’ai testé des farines Spadoni (PZ1), Quaglia (Petra3) et Caputo (Classica). Ces farines type ’00’ sont assez difficiles à trouver en France. Certaines épiceries fines italiennes en proposent, et parfois on en trouve en grandes surfaces. Sur Paris, l’épicerie fine RAP offre un bon choix et sont très sympa. Sur Internet, je suis tombé sur un site très pro, avec un service client réactif, connaisseur et commerçant : Gustini.fr. Les frais de port sont acceptables. A défaut de farine type ’00’, on peut se rabattre sur de la T45 si les placards sont vides (mais c’est quand même dommage).

Il est recommandé d’utiliser de la levure fraîche de boulanger (ou de bière). On en trouve en grande surface, sous forme de cube (vers le rayon boulangerie).

Les ingrédients pour la pâte sont très basiques : eau, levure, farine, sel. Et c’est tout. La quantité de levure va dépendre du temps qu’on laissera « maturer » la pâte. Pour réaliser 6 pâtons de 220g en prévoyant 16 heures de maturation à température ambiante, j’utilise les quantités suivantes :

Farine: 793 g
Eau: 507 g (64 %)
Sel: 20 g (40 g/lit)
Levure: 0.84 g (1.66 g/lit)

Pour déterminer ces proportions, j’utilise un petit programme développé par Rafbor du forum Hardware.Fr, RafCalc. Le lien est disponible dans sa signature, ou en cliquant ici.

Avant de se lancer, je recommande le visionnage de ces 2 vidéos, qui aideront à visualiser les différentes opérations :
Impasto a mano pizza napoletana
Impasto napoletano , la mia versione

Passons à la réalisation de nos pâtons, voici comment je m’y prends :

1/ Dans un grand verre, verser l’eau, ajouter la levure fraîche (mélanger doucement jusqu’à dissolution complète) – peser la levure avec une balance de précision (+/- 0.1g)
2/ Verser le verre dans un grand saladier et ajouter les 3/4 de la farine et mélanger un peu
3/ Couvrir et laisser reposer 15 minutes
4/ Pétrir la pâte en ajoutant le 1/4 restant de farine et le sel au fur et à mesure jusqu’à ce que la pâte ne colle plus (il est important de ne pas mélanger le sel dans l’eau au début, car il attaquerait la levure)
5/ Couvrir et laisser reposer 10 min
6/ Faire une dizaine de rabats pour incorporer de l’air jusqu’au point pâte (élastique, non cassante), répéter si nécessaire
7/ Couvrir et laisser reposer 10 minutes
8/ Faire une grosse boule et laisser reposer 1h heure (pointage) sous cellophane

pizza_02
9/ Former les pâtons et les placer dans un tupperware légèrement huilé. On trouve facilement des  vidéos qui montrent des techniques de boulage.

pizza_03 pizza_04
10/ Laisser reposer le temps prévu

La maturation peut se faire à TA (température ambiante) (2 à 24 heures selon la quantité de levure et la farine utilisées) ou au frigo, dans ce cas la maturation sera plus longue (compter 3-5 jours).

L’avancement de la maturation s’observe grâce à toutes les petites bulles d’air qui se forment :

pizza_05

Plus la maturation aura été longue, plus la pâte sera légère, facile à digérer et meilleur en sera le goût.

Les pâtons peuvent également être congelés. Je les fais par 6, parce que ça prend un peu de temps et ça me permet d’avoir des stocks pour me faire une pizza rapidement (compter 3 heures de décongélation à TA).

Abaisse des pâtons

J’utilise de la semoule de blé fine pour facilité l’abaisse du pâton (sinon il est beaucoup trop « collant ») : quand je sors le pâton de son tupperware, j’imprègne sa surface de cette semoule (à défaut, on utilisera de la farine). On étale le pâton à la main. Ne surtout pas utiliser de rouleau de pâtissier ! Il chasserait les petites bulles d’air qu’on a mis du temps à faire apparaître et la pâte perdrait en légèreté. Je commence par appuyer avec les doigts au centre du pâton pour repousser la pâte vers l’extérieur. Je termine la mise en forme en étirant la pâte. Là, ça vient avec la pratique et je suis moi-même encore un novice 😉 Youtube regorge de vidéos qui illustrent différentes techniques pour abaisser nos pâtons.

pizza_06 pizza_07

Une fois la pâte prête, on la dépose sur le support en double demies-lunes, puis on ajoute la garniture (d’abord la sauce tomate, puis la mozza, puis le reste). La pizza est prête à être cuite !

Enfournement et cuisson

Je laisse préchauffer l’appareil pendant 15 minutes à 2.5, puis je le laisse ouvert 5 minutes : la pierre va un peu refroidir et la chauffe va redémarrer. A ce moment là je passe le thermostat à 3 (max) pour être sûr que l’appareil chauffe durant toute la cuisson. 5 minutes plus tard, la pizza est prête ! 🙂

La sauce tomate

Voici comme je prépare la sauce tomate : j’utilise des tomates concassées de qualité vendues en conserves (Cirio, Mutti…). Je vide la conserve dans une assiette creuse, je prends juste les tomates en coupant la partie dure, je malaxe le tout avec les doigts (surtout ne pas les mixer pour ne pas éclater les pépins, ça donnerait un goût acide), un petit passage à la passoire pour retirer le gros de l’eau et je rajoute un peu de sel, du parmesan, de l’origan et un tout petit peu d’ail.

La mozzarella

Il faut utiliser de la mozzarella Buffala. On la trouve sous forme de boules dans des sachets remplis d’eau. Avant de pouvoir l’utiliser, il va falloir la débarrasser d’un maximum de son eau : on coupera la boule en lanières que l’on déposera dans une assiette pendant quelques heures, le temps de laisser l’eau dégorger.

pizza_08

Ci-dessous, quelques photos de mes premiers essais, on peut voir que la pâte présente des alvéoles, elle est légère, moelleuse et croustillante, tout en restant assez fine.

pizza_09 pizza_10 pizza_11

Quelques unes de mes premières pizzas sont visibles ici. Pour aller plus loin, il faudra tester différentes farines, différentes durées de maturation et imaginer toutes sortes de garnitures 🙂

Mais dans tous les cas, je ne rachèterai pas de si tôt une pizza industrielle ou venant de chez Domino’s Hut Rabbit 😉

Bonus

Bien sûr, si ce n’est déjà fait, un tour sur le topic « Pizza maison » H-FR s’impose 🙂

Le forum de la Fédération des Pizzaïolos regorge d’infos et de conseils intéressants.

Un mot concernant le mod de cet appareil. Evidemment, ce n’est pas recommandé, pour des questions de sécurité et de garantie. Ce merveilleux petit four peut être modifié pour être encore plus efficace ! Les 3 principaux mods sont les suivants :

  • débridage du thermostat, pour monter autour de 500°C
  • ajout d’un moule à tarte en guise de « cloche » à chaleur
  • changement de la résistance par un modèle plus puissant

Présentation des mods sur H-FR (scroller un petit peu pour tomber sur la partie concernant le G3Ferrari)
Vidéo du mod du thermostat
Une autre vidéo sur le thermostat

Si la vis du variateur de thermostat est fixée, il faudra tordre une petite pâte du mécanisme qui bloque la position maximale (et permettre d’aller un peu plus loin).

Pour le moment, je n’ai fait aucune de ces modifications sur mon appareil car le résultat est déjà plus que satisfaisant.

Bon appétit, et retour à la technique pour le prochain article 😉

Projet R.I.P.E.R. : étage batteries

La pause fun avec BB-8 étant terminée, on se remet aux choses sérieuses avec l’étage du robot qui contiendra les batteries. On reprend donc où on en était resté il y a quelques semaines : Projet R.I.P.E.R. (Robotic Intelligent Platform for Entertainment and Research).

Les choix concernant l’alimentation sont expliqués ici : Autonomie et alimentation d’un robot.

Une batterie de 7.2V/5Ah sera dédiée à l’alimentation des moteurs CC et servomoteurs, l’autre alimentera tout l’électronique du robot. Il pourra fonctionner au choix, sur batteries ou sur alimentation secteur (via régulation 12V). La bascule se fera automatiquement.

On pourra recharger les batteries du robot sans les sortir du chassis, via 2 connecteurs jack.

Voici le modèle 3D :

00_EtageBatteries

Et la sortie d’impression :

On commence par installer les connecteurs jack femelles :

  • Les 2 à l’avant permettront la recharge des batteries
  • Les 2 sur les côtés à l’arrière permettront d’alimenter l’étage supérieur (contrôle des moteurs et alimentation du robot)
  • Le connecteur du milieu est l’entrée pour une alimentation fixe de l’ensemble du robot

Le circuit électronique utilise le principe de commutation par diodes, décrit ici. Quand l’alimentation fixe du robot est coupée (12V), les batteries prennent automatiquement le relais (7.2V). Voici le schéma de la carte :

07_EtageBatteriesSchema

Les Jx sont des borniers, Cx des diodes Schottky. J3 est l’arrivée de l’alimentation fixe en 12V. J7 et J8 sont connectés aux prises jack de rechargement des batteries. Les borniers J1 et J2 permettent de raccorder les 2 batteries. Enfin, J4 et J8 sont les sorties vers les connecteurs jack qui alimenteront l’électronique et les moteurs du robot.

Après installation des 2 batteries :

J’ai également imprimé un couvercle, essentiellement pour des raisons esthétiques, en gardant une ouverture pour l’évacuation de la chaleur.

Le bloc prendra ensuite place dans le châssis.

J’espère que le diamètre des fils sera suffisant pour le courant qui circulera. J’ai été contraint d’utiliser des borniers plus petits que prévu initialement pour des raisons de place. On verra bien 🙂

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 🙂