====== Tête de robot en boite ====== {{{project picture: {{:projets:tete_de_robot_en_boite:06_boite_robot_carton_et_plastique.png?100|}} machines: multimètre materiaux: logiciels: arduino Blender Inkscape sources: liens: tags: robot arduino usager:doudoulolita licence:cc-by-sa }}} L'objectif est, dans une optique pédagogique, de fabriquer une mini-tête de robot sur une breadboard, placée dans une boite en carton, programmable via une carte [[https://www.arduino.cc/en/Main/ArduinoBoardUno|Arduino Uno]]. On pourra ainsi apprendre à faire des montages et des programmes de base avec un objectif amusant. **J'aimerais trouver des personnes, débutantes ou confirmées, pour m'aider à réaliser ce projet au fablab et/ou à donner des idées complémentaires, des améliorations possibles.** Dans le cadre d'une démarche [[http://lowtechlab.org/?no_lredirect=true|lowtech]], ajouter un côté "récupération" serait un plus (pas seulement les boites en carton). Outre l'aspect pédagogique pour l'apprentissage de l'électronique et de la programmation, peut-on trouver un côté utilitaire à cet objet ? ===== Conception ===== ===== Réalisation ===== ==== Logiciels utilisés ==== * Système d'exploitation : Linux (Ubuntu 14.04) et Android 4.1 (tablette et téléphone) * [[logiciels:blender|Blender]] 2.77 : modélisation 3D * [[logiciels:inkscape|Inkscape]] : Dessin vectoriel * [[https://www.gimp.org/|Gimp]]: retouche des photos * Writer (Libre Office) : traitement de texte pour rédaction des fiches * IDE [[ressources:arduino|Arduino]] (pour PC) et appli [[https://play.google.com/store/apps/details?id=name.antonsmirnov.android.arduinodroid2&hl=fr|ArduinoDroid]] (pour tablette) === Matériel personnel === * [[http://www.sainsmart.com/sainsmart-uno-r3-keypad-kit-with-basic-arduino-projects.html|kit Sainsmart SKU:20-013-105*WB]] (carte comprise, assez cher, pas de documentation, résistances 220 Ohms uniquement). j'ai moi-même conçu une [[http://alentours.com/arduino/kit-arduino-laurence.pdf|notice]] * [[http://www.selectronic.fr/sidekick-basic-kit-v2.html|sidekit basic kit]] (sans carte et peu fourni mais [[http://www.seeedstudio.com/wiki/Arduino_Sidekick_Basic_Kit|très bien documenté]], avec breadboard 400points de taille idéale pour le visage + un [[http://www.generationrobots.com/en/401782-grove-servo-motor.html|Grove servo moteur]]) * carte [[http://www.selectronic.fr/selectronic-arduino-uno-clone.html|Selectronic Uno]] * Hub USB (pour protéger l'ordinateur) avec interrupteur * Appareil photo Lumix Panasonic TZ61 et téléphone portable (pour documenter le projet) A la maison : * PC fixe avec double écran, sous Ubuntu 14.04 * Imprimante 2D Canon pixma IP2600 (difficile à installer sur Ubuntu) * Scanner Canoscan Lide 60 === Outils et matériel utilisés au fablab === * Ordinateur portable. J'y ai installé l'IDE Arduino (besoin d'un animateur pour le code admin) * Un usager s'est servi d'une loupe pour mieux voir les couleurs de mes résistances * Multimètre (avec l'aide de Philippe) pour tester les valeurs de mes résistances ==== Montage arduino de base : futur visage ==== J'ai commencé par des montages de base sur Arduino chez moi, avec 1 puis 2 leds, en m'inspirant de tutos vidéos et écrits trouvés sur internet, puis des montages virtuels pour mon projet de visage. === Composants: === * Carte Arduino Uno. J'ai utilisé la carte du kit Sainsmart puis une carte Selectronic * 1 plaque d'essai 400 points et/ou une mini breadboard 170 pts (à défaut 1 plaque d'essai sans soudure 830 points comme dans la 1ère version) * 2 leds 5mm ou 3 mm (suivant le kit), bleues ou vertes de préférence * 2 résistances 220 Ohms ou 330 Ohms (suivant le kit) pour les leds * 1 buzzer piezo * 1 photorésistance * 1 résistance 10kOhms pour la photorésistance (non comprise dans mon kit Sainsmart) * Fils pour raccorder aux pins de la carte * Cavaliers de différentes couleurs et de différentes taille ([[http://www.cdiscount.com/maison/bricolage-outillage/kit-140-fils-et-cavaliers-pas-sans-soudure-pour-ca/f-1170456-auc0728943081435.html?idOffre=48599537#mpos=1|Kit 140 Fils et Cavaliers Pas sans Soudure pour Carte d'Expérimentation pour Arduino]]) === Programmation === Dans l'IDE Arduino, j'ouvre ou je copie-colle le code de mon projet virtuel avant de le téléverser sur la carte, une fois le montage terminé et vérifié. * {{:projets:sketch_montage_visage2.zip|}} (On peut sans doute décompresser ce dossier et le placer dans le dossier sketchbook) * ou {{:projets:sketch_montage_visage2.txt|}} (à copier-coller) Le buzzer "crie" quand il y a peu de lumière (en cachant la photorésistance avec le doigt). Le buzzer s'éteint et les leds, représentant les yeux, clignotent quand la lumière est plus forte. ^ montage 1 ^^^ |{{:projets:photo-montage-visage-arduino1.png?direct&200 |}}| J'ai prévu une boite à chaussure de petite taille pour emporter mon montage. J'y ai pensé grâce à ce [[projets:coffret_de_transport_pour_prototype_arduino|projet de coffret de transport]]. | Comme ma photo n'était pas très jolie, j'ai nettoyé le fond en utilisant [[https://www.gimp.org/|Gimp]].| ^montage 2^^^ |{{:projets:montage-gros-plan1.jpg?direct&200|}}|J'ai plié les bouts des résistances pour qu'elles soient aplaties contre la plaque. | J'ai préparé un plateau avec des feuilles de papier blanc et ajouté 2-3 éléments à ma photo de droite avec [[https://www.gimp.org/|Gimp]]. {{ :projets:montage-dessus-et-elements-recadre.png?direct&150|}} | ^ montage 3 ^^^ |{{:projets:montage3.jpg?direct&200|}}|J'ai placé la carte Arduino en dessous de la plaque d'essai (car elle sera ensuite dans le corps). Cela m'a permis de vérifier que j'avais bien compris le principe du montage. | J'ai trouvé une [[http://www.jameco.com/jameco/products/prodds/2125026.pdf|datasheet]] de la plaque d'essai pour faire un cache des éléments électroniques et qu'il ne reste que les leds, la résistance et le buzzer. Penser à utiliser un [[http://www.conrad.fr/ce/fr/product/425869/Gabarit-de-pliage-1-pcs|gabarit de pliage]] pour les mettre à la bonne hauteur. | ^ montage 4 ^^^ |{{:projets:selectronic-tete-poppyno1-plan-moyen-p.png?direct&150 |}}|Montage avec le kit [[http://www.selectronic.fr/sidekick-basic-kit-v2.html|sidekit basic kit]] et la carte [[http://www.selectronic.fr/selectronic-arduino-uno-clone.html|Selectronic Uno]] + cavaliers trouvés au fablab |J'ai encore demandé à un usager de m'aider dans la reconnaissance des 3 types de résistances de mon nouveau kit.{{:projets:resistances-220-330-1k-10k-p.jpg?direct&200|image légendée de résistances}} | ^ montage 5 : tête de robot "en boite" ^^^ |En revenant à la maison, j'ai refait des essais de montage en plaçant des images de la breadboard imprimées sur papier entre les couches de cavaliers, de résistances et de composants.|J'ai réussi à tout placer (breadboard avec montage et carte arduino derrière) dans une petite boite en carton qui possède une fenêtre en plastique d'un côté.| Ce n'est pas encore très joli mais ça peut se transformer en une boite plus élaborée.| |{{:projets:breadboard400.svg?direct&200|}} |{{:projets:tete_poppyno_boite_ouverte_p.jpg?direct&100|}} |{{:projets:tete_poppyno_boite.jpg?direct&150|}} | |Avec Inkscape, je prépare un [[http://alentours.com/arduino/poppy-family-doudoulolita/tete_poppyno/tete_poppyno_preparation/5_boite_visage_V2/boite_tete3.svg|schéma du visage]] qu'on pourrait découper en carton.|Au début, j'ai oublié l'épaisseur du carton dans mon schéma...| | |{{:projets:v2_17_montage_et_boite.png?direct&150|boite à plier}} | {{:projets:robot_poppyno_avec_arduino:v2_17_montage_total.png?direct&200|montage schématique}} || ==== Mini-tête ==== Comme je viens de recevoir un [[http://www.cdiscount.com/maison/bricolage-outillage/10pcs-lot-mini-soudure-prototype-breadboard-170/f-1170456-xcs4894479490143.html|lot de 10 pièces Mini soudure Prototype Breadboard 170 points de liaison pour Arduino Shield New SG191-SZ]], je viens de faire une variante du montage en plus petit et sans cavaliers, afin qu'on puisse le proposer plus facilement dans une classe, par ex. ^ montage mini-tête [[http://carrefour-numerique.cite-sciences.fr/fablab/wiki/lib/exe/fetch.php?media=projets:tete_de_robot_en_boite:boite_visage_mini_v3.svg|01_boite_visage_mini_v3.svg]] ^^^ | {{:projets:tete_de_robot_en_boite:boite_visage_mini_v1_cablage_avec_arduino2.png?200 |}} | {{:projets:tete_de_robot_en_boite:p1020002.jpg?200 |}} | {{:projets:tete_de_robot_en_boite:boite_et_masque.png?300 |}} | ^ schéma trous et masque ^^^ |{{:projets:tete_de_robot_en_boite:boite_visage_mini_v1_trous.png?200 |}}|{{:projets:tete_de_robot_en_boite:boite_visage_mini_v1_composants.png?200 |{{:projets:tete_de_robot_en_boite:boite_visage_mini_v1_yeux_nez.png?200 |}}|{{:projets:tete_de_robot_en_boite:boite_visage_mini_v1_composants_resistances_trous_fils_cablage.png?200 |}}| Pour la partie pédagogique, je compte faire des fiches ou des tutoriels pour expliquer progressivement le montage et la programmation de la tête. * l'allumage et le clignotement d'une led (plus amusant si on place une feuille avec un visage dessiné, soit d'un cyclope, soit d'un humanoïde qui ferme un œil) * mise en série des 2 leds * ajout du buzzer * lecture de l'intensité de la lumière via la photorésistance dans le port série * influence de la photorésistance sur le comportement des autres composants Il me semble plus drôle de le faire avec la tête de robot, qui devient l'objectif final, que sans but final précis. Cela pourrait être combiné avec les exemples de montages proposés par Thierry aux [[http://www.cite-sciences.fr/fr/au-programme/lieux-ressources/carrefour-numerique2/rendez-vous-reguliers/samedi-robots/|Samedis Robots]] Taille breadboard : 47 * 35 mm ^ exemple Fiche1 : Clignotement d'une led (œil gauche) ^^^^ |Exemple Blink de l'IDE Arduino - pin 2 pour la sortie{{:projets:tete_de_robot_en_boite:led_gauche_breadboard_arduino_photos2_recadre.png?200 |}}|A poser sur la breadboard.{{:projets:tete_de_robot_en_boite:led_gauche_resistance_tirets.png?200 |}}|Masque à poser au-dessus du montage{{:projets:tete_de_robot_en_boite:masque-pour-led-gauche.png?200 |}} ==== Projet : tête en plastique à imprimer ==== Avant de me rendre au fablab pour essayer d'imprimer, je mets pas mal de temps pour imaginer les pièces à réaliser avec Blender. J'ai fait des essais et à chaque fois, je faisais trop compliqué ou j'oubliais des trous dans certaines faces. Voici où j'en suis pour l'instant : Fichier réalisé avec Blender : [[http://alentours.com/arduino/tete_robot_a_imprimer/boite_robot_a_imprimer_v4/masque-robot-boite9.blend | masque-robot-boite9.blend]] {{:projets:tete_de_robot_en_boite:boite_robot_a_imprimer_v4.png?300 |}} Problème : lorsque je suis passé au fablab voir ce que donnait le support pour la carte Arduino dans Cura, un usager m'a dit que l'impression durerait 7h si je la lançais ! Même son de cloche au Blender User Group... J'ai eu beau installer Cura chez moi et essayer de simplifier mon maillage, je ne descendais pas en dessous de 5h. A revoir, donc ! ===== Difficultés rencontrées ===== ==== Méconnaissance de l'électronique ==== Je n'ai jamais fait de montage électronique, j'avais donc peur d’abîmer mon ordinateur et la carte. Trouver la valeur des résistances dans la réalité n'est pas si simple car les couleurs se ressemblent. Je souhaitais calculer la valeur minimale de la résistance nécessaire pour protéger la photorésistance afin d'utiliser mes résistances 220 Ohms en série mais je ne sais pas si mon circuit est en parallèle ou en série et personne ne m'a encore donné d'aide pour calculer cela avec la loi d'Ohm. J'ai acheté un boîtier plastique à monter (avec de toutes petites vis qui ont tendance à s'enlever facilement !). Il protège la carte mais on voyait moins les chiffres des pins car j'avais oublié d'enlever le plastique de protection ! ==== Manque de matériel ==== J'ai du emprunter des composants au fablab (pour tests) : * Résistance de 10 kOhms pour protéger la photorésistance (absente dans le kit Sainsmart, j'en ai eu une ensuite dans le kit Selectronic) * Cavaliers de différentes couleurs et de différentes taille (achetés ensuite sur [[http://www.cdiscount.com/maison/bricolage-outillage/kit-140-fils-et-cavaliers-pas-sans-soudure-pour-ca/f-1170456-auc0728943081435.html?idOffre=48599537#mpos=1|Kit 140 Fils et Cavaliers Pas sans Soudure pour Carte d'Expérimentation pour Arduino]]) * Résistance 3/4 (un ami m'en a ensuite donné un lot) ==== Remèdes ==== Aide et soutien d'usagers du BUG, des Samedis Robots et du fablab : * Bonnes pratiques pour les montages (Merci à Edddy) et un peu de méfiance vis à vis de ce qu'on trouve sur le web * Connaître les composants et les outils, prendre de l'assurance (merci à Philippe et aux autres usagers du fablab) Voir les composants au fablab ou dans des magasins "en dur" (Selectronic, Eyrolles). Ils vendent surtout des kits. Trouver à l'avenir des composants moins chers sur le web. Ce serait bien d'avoir la possibilité d'acheter en petite quantité juste ce dont a besoin soit au fablab, soit dans la boutique de la cité des Sciences (en partenariat avec un fabricant?) ===== Suites du projet ===== Peaufiner et monter la tête de manière plus solide. Pouvoir ouvrir la boite et la fermer facilement pour changer les composants à tout moment. Penser aux fils qui vont de la breadboard à la carte Arduino. Décider où sera placée la carte Arduino dans ou sous la boite, pour pouvoir ensuite la relier au corps. La tête doit pouvoir être utilisable de façon indépendante. Placer les trous adaptés pour le branchement sur l'ordi. 2 options : * cache en carton/papier recouvrant le visage entier (pourra être réalisé en utilisant ou non une machine spécialisée) * caches indépendants pour chaque bloc de composants, en carton découpé et plié, avec aide graphique pour faciliter le montage Le visiteur des Samedis robots m'a conseillé de chercher des informations sur les boites et pliages sans colle (origami, languettes...) ou d'utiliser des mini-breadboards clipsables pour chaque partie. J'en ai commandé un lot de 10. ===== Sites et pages utiles ===== ==== Sources d'inspiration ==== * [[http://www.cite-sciences.fr/fr/au-programme/lieux-ressources/carrefour-numerique2/tous-les-rendez-vous-reguliers/samedi-robots/|Samedis robots]] * [[https://blog.arduino.cc/2016/03/08/montessori-approved-cubetto-kickstarter/]] * [[http://www.dhgate.com/product/ruilongmaker-kaku-education-robot-r1-starter/247213963.html]] ==== Recherches préparatoires ==== * [[http://padlet.com/animatrice_epn/9vidiphbzkii|mon padlet sur Arduino]] * [[http://carrefour-numerique.cite-sciences.fr/fablab/wiki/lib/exe/fetch.php?media=projets:composants-robot-explications.pdf|document de recherche de composants]] * Téléchargement des datasheet des composants * [[http://www.electronique-radioamateur.fr/elec/composants/resistance-code-couleurs.php|Code couleur des résistances]] et [[http://www.apprendre-en-ligne.net/crypto/passecret/ohm.html|Traducteur pour résistances à 5 ou 6 anneaux]] * Recherches sur la polarité des leds avec la cathode et l'anode et téléchargement d'images pour m'aider * Livres empruntés à la bibliothèque de la Cité des Sciences et à la bibliothèque municipale (ou achetés), journaux... ==== Simulations, schémas préparatoires, modélisation virtuelle du projet ==== * [[https://123d.circuits.io/circuits/1662172-montage-visage-2-leds-1-buzzer-1-photoresistor-v2|mes tests virtuels sur Autodesk123D circuits]] * [[http://www.digikey.com/schemeit/|scheme-it]] : Conception de schémas électriques J'ai préféré des solutions en ligne gratuites même si elles ne sont pas libres. ==== Partage et conseils ==== * [[http://forum.arduino.cc/index.php?topic=374127.0|mon topic sur le forum Arduino]] * [[http://bugparis.tuxfamily.org/|Blender User Group]] : Organise des rendez-vous tous les 1ers samedis du mois au Carrefour numérique sur Blender. L'aide d'Edddy m'a été très précieuse * [[:index|wiki du fablab]], aide des habitués, partage avec d'autres usagers, rédaction progressive de cette page (pour se souvenir également)... ===== Photos =====