{"id":4946,"date":"2018-07-30T10:25:16","date_gmt":"2018-07-30T08:25:16","guid":{"rendered":"https:\/\/blog.generationrobots.com\/?p=4946"},"modified":"2023-03-29T10:16:50","modified_gmt":"2023-03-29T08:16:50","slug":"tutoriel-arduino-creation-dune-lampe-diy-lumina","status":"publish","type":"post","link":"https:\/\/www.generationrobots.com\/blog\/fr\/tutoriel-arduino-creation-dune-lampe-diy-lumina\/","title":{"rendered":"Tutoriel Arduino &#8211; Cr\u00e9ation d&rsquo;une lampe DIY \u00ab\u00a0LUMINA\u00a0\u00bb"},"content":{"rendered":"\n<html>\n <body>\n  <p>\n   Ce tutoriel de projet bas\u00e9\n   <strong>\n    Arduino\n   <\/strong>\n   a \u00e9t\u00e9 r\u00e9alis\u00e9 par un amateur et s\u2019adresse principalement \u00e0 d\u2019autres amateurs du genre, ou \u00e0 toute personne ayant un peu de curiosit\u00e9 pour ce type de montages \u00e9lectroniques.\n  <\/p>\n  \n  \n  <p>\n   L\u2019auteur en appelle par avance \u00e0 la bienveillance des v\u00e9n\u00e9rables experts qui voudraient creuser un peu dans le code ou dans la conception m\u00e9canique (code arduino et fichiers STL disponibles en fin d\u2019article).\n  <\/p>\n  \n  \n  <p>\n   LUMINA est une lampe\n   <strong>\n    imprim\u00e9e en 3D\n   <\/strong>\n   , abritant une cha\u00eene de LED RGB dont on peut faire varier la couleur et l&rsquo;intensit\u00e9. Elle propose\n   <strong>\n    plusieurs modes\n   <\/strong>\n   , permettant de l&rsquo;utiliser comme lampe d&rsquo;ambiance ou comme jeu. L&rsquo;interaction se fait au moyen des\n   <strong>\n    6 capteurs ultrason\n   <\/strong>\n   encastr\u00e9s dans le socle, qui permettront de naviguer entre les diff\u00e9rents modes, et d&rsquo;activer les LED.\n  <\/p>\n  \n  \n  <h2 class=\"wp-block-heading\" id=\"h-de-quel-materiel-aurez-vous-besoin\">\n   De quel mat\u00e9riel aurez-vous besoin ?\n  <\/h2>\n  \n  \n  <ul class=\"wp-block-list\">\n   \n   <li>\n    1 x\n    <a class=\"catalogue\" href=\"\/blog\/fr\/bien-choisir-sa-carte-arduino-ce-nest-pas-si-difficile\/\" title=\"Arduino UNO Rev3\">\n     carte Arduino Uno Rev3\n    <\/a>\n   <\/li>\n   \n   \n   <li>\n    1 x c\u00e2ble USB type B\n   <\/li>\n   \n   \n   <li>\n    1 x buzzer pi\u00e9zo\u00e9lectrique passif (optionnel)\n   <\/li>\n   \n   \n   <li>\n    1 x\u00a0 r\u00e9sistance 220 Ohms\n   <\/li>\n   \n   \n   <li>\n    1 x\u00a0plaque de prototypage 400 points\n   <\/li>\n   \n   \n   <li>\n    Des c\u00e2bles jumper M\/M et M\/F\n    <br\/>\n    (tous composants disponibles notamment dans le Starter Kit Officiel Arduino)\n   <\/li>\n   \n   \n   <li>\n    6 x capteurs ultrason HC-SR04\n   <\/li>\n   \n   \n   <li>\n    7 x LED grove RGB V2\n   <\/li>\n   \n   \n   <li>\n    2 x sachets de 5 c\u00e2bles Grove 5 cm\n   <\/li>\n   \n   \n   <li>\n    Un peu moins de 300 g de filament (130g pour la caisse, 65g pour la plaque et 75g pour le couvercle). Dans mon cas, du filament Chromatik couleur ivoire.\n   <\/li>\n   \n   \n   <li>\n    Des\n    <a class=\"catalogue\" href=\"\/fr\/401937-lot-de-400-vis-m2x6-pour-servomoteurs-dynamixel.html\" title=\"Lot de 400 vis M2x6 pour servomoteurs Dynamixel\">\n     vis M2 6mm\n    <\/a>\n    et\n    <a class=\"catalogue\" href=\"\/fr\/401967-lot-de-400-\u00e9crous-n1-m2-pour-servomoteurs-dynamixel.html\" title=\"Lot de 400 \u00e9crous N1 M2 pour servomoteurs Dynamixel\">\n     \u00e9crous M2\n    <\/a>\n    , ou du scotch double-face\n   <\/li>\n   \n   \n   <li>\n    Recommand\u00e9 : 1 x sachet de 5 c\u00e2bles Grove\/jumper m\u00e2le\n   <\/li>\n   \n   \n   <li>\n    Optionnel :\u00a01 x chargeur mural (adaptateur USB 5V ou transformateur entre 7 et 12V pour l&rsquo;alimentation par le jack, par exemple celui-ci). A d\u00e9faut, brancher le c\u00e2ble USB sur un port d\u2019ordinateur.\n   <\/li>\n   \n  <\/ul>\n  \n  \n  <h2 class=\"wp-block-heading\" id=\"h-les-logiciels-et-librairies-a-telecharger\">\n   Les logiciels et librairies \u00e0 t\u00e9l\u00e9charger\n  <\/h2>\n  \n  \n  <ul class=\"wp-block-list\">\n   \n   <li>\n    <a href=\"https:\/\/www.arduino.cc\/\" rel=\"noreferrer noopener\" target=\"_blank\" title=\"Site web Arduino\">\n     Logiciel Arduino IDE\n    <\/a>\n   <\/li>\n   \n   \n   <li>\n    <a class=\"catalogue\" href=\"https:\/\/playground.arduino.cc\/Code\/NewPing\" rel=\"noopener noreferrer\" target=\"_blank\" title=\"Librairie Newping pour capteur ultrason HC-SR04\">\n     Librairie Newping pour capteur ultrason HC-SR04\n    <\/a>\n   <\/li>\n   \n   \n   <li>\n    <a class=\"catalogue\" href=\"https:\/\/github.com\/pjpmarques\/ChainableLED\" rel=\"noopener noreferrer\" target=\"_blank\" title=\"Librairie LED Grove\">\n     Librairie LED Grove\n    <\/a>\n   <\/li>\n   \n   \n   <li>\n    <a class=\"catalogue\" href=\"https:\/\/bitbucket.org\/teckel12\/arduino-new-tone\/downloads\/\" rel=\"noopener noreferrer\" target=\"_blank\" title=\"Librairie NewTone\">\n     Librairie NewTone\n    <\/a>\n   <\/li>\n   \n  <\/ul>\n  \n  \n  <h2 class=\"wp-block-heading\" id=\"h-l-assemblage-de-votre-lampe-lumina\">\n   L&rsquo;assemblage de votre lampe LUMINA\n  <\/h2>\n  \n  \n  <p>\n   Placez la\n   <strong>\n    carte Arduino\n   <\/strong>\n   dans la caisse, le plus pr\u00e8s possible de la paroi int\u00e9rieure. Fixez ensuite la\n   <strong>\n    breadboard\n   <\/strong>\n   au moyen du scotch double-face de sa face inf\u00e9rieure, de mani\u00e8re \u00e0 emp\u00eacher l\u2019Arduino de bouger.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image aligncenter\">\n   <a href=\"https:\/\/blog.generationrobots.com\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-1.jpg\">\n    <img fetchpriority=\"high\" decoding=\"async\" width=\"300\" height=\"289\" alt=\"tutoriel-arduino-assemblage-lumina-1\" class=\"wp-image-4951\" src=\"https:\/\/blog.generationrobots.com\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-1-300x289.jpg\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-1-300x289.jpg 300w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-1.jpg 900w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\n   <\/a>\n  <\/figure>\n  \n  \n  <p>\n   Proc\u00e9dez ensuite aux branchements des\n   <strong>\n    capteurs \u00e0 ultrason\n   <\/strong>\n   et du\n   <strong>\n    buzzer\n   <\/strong>\n   en suivant le\n   <strong>\n    sch\u00e9ma Fritzing\n   <\/strong>\n   . Lors de l\u2019int\u00e9gration dans la caisse, le sonar 1 doit \u00eatre plac\u00e9 au-dessus des connecteurs USB et jack de l\u2019Arduino.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image alignnone\">\n   <a href=\"https:\/\/blog.generationrobots.com\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-20.jpg\">\n    <img decoding=\"async\" width=\"900\" height=\"551\" alt=\"tutoriel-arduino-assemblage-lumina-20\" class=\"wp-image-4960\" src=\"https:\/\/blog.generationrobots.com\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-20.jpg\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-20.jpg 900w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-20-300x184.jpg 300w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/>\n   <\/a>\n   <figcaption class=\"wp-element-caption\">\n    Sch\u00e9ma Fritzing\n   <\/figcaption>\n  <\/figure>\n  \n  \n  <p>\n   Fixez les\n   <strong>\n    modules LED grove\n   <\/strong>\n   \u00e0 la face inf\u00e9rieure de la plaque interm\u00e9diaire. Si vous pr\u00e9f\u00e9rez l\u2019utilisation de scotch double-face au vissage, basez-vous tout de m\u00eame sur la position des passages de vis, de mani\u00e8re \u00e0 orienter les LED correctement.\n  <\/p>\n  \n  \n  <p>\n   <strong>\n    Connectez\n   <\/strong>\n   le \u201cIN\u201d de la LED centrale (num\u00e9ro 7) au \u201cOUT\u201d de l\u2019une des LED p\u00e9riph\u00e9riques. Connectez ensuite, de proche en proche, les LED p\u00e9riph\u00e9riques. Pour cela, utilisez les c\u00e2bles 5 cm Grove. Vous pouvez d\u00e9coller les fils les uns des autres, pour plus de souplesse.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image aligncenter\">\n   <a href=\"https:\/\/blog.generationrobots.com\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-4.jpg\">\n    <img decoding=\"async\" width=\"300\" height=\"282\" alt=\"tutoriel-arduino-assemblage-lumina-4\" class=\"wp-image-4954\" src=\"https:\/\/blog.generationrobots.com\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-4-300x282.jpg\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-4-300x282.jpg 300w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-4.jpg 900w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\n   <\/a>\n  <\/figure>\n  \n  \n  <p>\n   Le \u201cIN\u201d de la derni\u00e8re LED (num\u00e9ro 1) devra \u00eatre connect\u00e9 au moyen d\u2019un c\u00e2ble mixte Grove &#8211; jumper m\u00e2le, d\u2019une part \u00e0 l\u2019Arduino (signal), d\u2019autre part \u00e0 la breadboard (5V et masse).\n  <\/p>\n  \n  \n  <p>\n   <strong>\n    Refermez\n   <\/strong>\n   la caisse avec la plaque interm\u00e9diaire, en prenant soin de positionner la LED 1 (celle qui est connect\u00e9e directement \u00e0 l\u2019Arduino) au-dessus du sonar 1, soit au-dessus des connecteurs de l\u2019Arduino.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image aligncenter\">\n   <a href=\"https:\/\/blog.generationrobots.com\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-5-e1532421109730.jpg\">\n    <img loading=\"lazy\" decoding=\"async\" width=\"534\" height=\"1022\" alt=\"tutoriel-arduino-assemblage-lumina-5\" class=\"wp-image-4955\" src=\"https:\/\/blog.generationrobots.com\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-5-e1532421109730.jpg\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-5-e1532421109730.jpg 534w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-5-e1532421109730-157x300.jpg 157w\" sizes=\"(max-width: 534px) 100vw, 534px\" \/>\n   <\/a>\n  <\/figure>\n  \n  \n  <p>\n   Avant de refermer le tout, je vous recommande de\n   <strong>\n    tester\n   <\/strong>\n   le bon fonctionnement de la lampe en\n   <strong>\n    t\u00e9l\u00e9versant le programme\n   <\/strong>\n   dans l\u2019Arduino (le programme est disponible en bas de page , dans les ressources).\n  <\/p>\n  \n  \n  <p>\n   <strong>\n    <span style=\"text-decoration: underline;\">\n     OPTIONNEL\n    <\/span>\n    :\n   <\/strong>\n   vissez la plaque dans la caisse (par exemple si vous pr\u00e9voyez de faire manipuler la lampe par des enfants).\n   <br\/>\n   Attention toutefois, les capteurs ultrason peuvent \u00eatre enfonc\u00e9s dans la caisse, par simple pression, ce qui risque d\u2019alt\u00e9rer leur fonctionnement. Si vous souhaitez visser la plaque, pr\u00e9voyez un moyen de fixer les capteurs. Un tel syst\u00e8me est en cours de r\u00e9flexion en vue d\u2019une impl\u00e9mentation dans la structure m\u00eame de la bo\u00eete.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image aligncenter\">\n   <a href=\"https:\/\/blog.generationrobots.com\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-8.jpg\">\n    <img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"145\" alt=\"tutoriel-arduino-assemblage-lumina-8\" class=\"wp-image-4957\" src=\"https:\/\/blog.generationrobots.com\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-8-300x145.jpg\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-8-300x145.jpg 300w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-8.jpg 900w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\n   <\/a>\n  <\/figure>\n  \n  \n  <p>\n   <strong>\n    Positionnez le couvercle.\n   <\/strong>\n   Normalement, toutes les pi\u00e8ces doivent tenir en place une fois embo\u00eet\u00e9es. Vous pouvez alors\n   <strong>\n    brancher\n   <\/strong>\n   la lampe en USB ou par le jack et commencer \u00e0 utiliser LUMINA !\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image aligncenter\">\n   <a href=\"https:\/\/blog.generationrobots.com\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-10.jpg\">\n    <img loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"546\" alt=\"tutoriel-arduino-assemblage-lumina-10\" class=\"wp-image-4958\" src=\"https:\/\/blog.generationrobots.com\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-10.jpg\" srcset=\"https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-10.jpg 900w, https:\/\/www.generationrobots.com\/blog\/wp-content\/uploads\/2018\/07\/tutoriel-arduino-assemblage-lumina-10-300x182.jpg 300w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/>\n   <\/a>\n  <\/figure>\n  \n  \n  <h2 class=\"wp-block-heading\" id=\"h-utilisation-de-votre-lampe-lumina\">\n   Utilisation de votre lampe LUMINA\n  <\/h2>\n  \n  \n  <p>\n   A ce jour, LUMINA propose 4 modes d&rsquo;utilisation, et un mode de s\u00e9lection :\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-mode-1-variation-manuelle\">\n   Mode 1 : variation manuelle\n  <\/h3>\n  \n  \n  <p>\n   Trois capteurs ultrason vont permettre d&rsquo;\n   <strong>\n    augmenter par paliers\n   <\/strong>\n   la valeur des composantes rouge, verte et bleue, et les trois autres vont faire\n   <strong>\n    baisser ces m\u00eames valeurs\n   <\/strong>\n   . Le changement est appliqu\u00e9 uniform\u00e9ment \u00e0 l&rsquo;ensemble des LED. Un sous-programme permet de modifier la valeur du palier, de mani\u00e8re \u00e0 acc\u00e9l\u00e9rer les changements de couleur. Accessible en maintenant activ\u00e9s ensemble les sonars\n   <strong>\n    2 et 5*\n   <\/strong>\n   .\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-mode-2-variation-automatique\">\n   Mode 2 : variation automatique\n  <\/h3>\n  \n  \n  <p>\n   Les LED\n   <strong>\n    balaient ensemble le spectre des couleurs\n   <\/strong>\n   . Il s&rsquo;agit de l&rsquo;un des codes de d\u00e9mo de la librairie utilis\u00e9e. Un sous-programme a \u00e9t\u00e9 rajout\u00e9 pour permettre une variation de la vitesse du balayage. Accessible en maintenant activ\u00e9s ensemble les sonars\n   <strong>\n    2 et 5*\n   <\/strong>\n   .\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-mode-3-piano-lumineux\">\n   Mode 3 : piano lumineux\n  <\/h3>\n  \n  \n  <p>\n   Chaque sonar est associ\u00e9 \u00e0 la LED situ\u00e9e au-dessus de lui, elle-m\u00eame associ\u00e9e \u00e0 une couleur. Activer un sonar allume la LED correspondante dans sa couleur. Lorsque le sonar n&rsquo;est plus activ\u00e9, la LED baisse progressivement d&rsquo;intensit\u00e9 jusqu&rsquo;\u00e0 s&rsquo;\u00e9teindre.\n  <\/p>\n  \n  \n  <p>\n   Plusieurs LED peuvent \u00eatre allum\u00e9es en m\u00eame temps. La LED du sommet s&rsquo;allume en blanc et \u00e0 son intensit\u00e9 align\u00e9e sur celle de la derni\u00e8re LED activ\u00e9e.\n   <strong>\n    Chaque sonar est \u00e9galement associ\u00e9 \u00e0 une note de musique, jou\u00e9e par le buzzer aussi longtemps que la LED est activ\u00e9e.\n   <\/strong>\n   Un sous-programme permet de faire varier la dur\u00e9e la vitesse du d\u00e9grad\u00e9 \u00e0 partir du moment o\u00f9 le sonar est rel\u00e2ch\u00e9 (entre environ 0 et 5 secondes). Accessible en maintenant activ\u00e9s ensemble les sonars\n   <strong>\n    2 et 5*\n   <\/strong>\n   .\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-mode-4-simon-le-celebre-jeu\">\n   Mode 4 : Simon, le c\u00e9l\u00e8bre jeu\n  <\/h3>\n  \n  \n  <p>\n   <strong>\n    La lampe joue une s\u00e9quence de LED accompagn\u00e9e de notes, que le joueur doit reproduire en activant les sonars correspondants.\n   <\/strong>\n   Le jeu commence avec une s\u00e9quence de 3, incr\u00e9ment\u00e9e \u00e0 chaque r\u00e9ussite, jusqu&rsquo;\u00e0 une s\u00e9quence de 10. Une r\u00e9ussite d\u00e9clenche une petite animation en vert, et fait passer au niveau suivant. Une r\u00e9ussite au niveau 10 fait quitter le jeu. Un \u00e9chec d\u00e9clenche une petite animation rouge et fait rejouer la s\u00e9quence en cours. Le troisi\u00e8me \u00e9chec expulse le joueur du jeu. Le joueur est soumis \u00e0 un timer pour jouer sa s\u00e9quence. A la fin du timer, le joueur est \u00e9limin\u00e9. Dans tous ces cas de figure, la lampe repasse en Mode 2 &#8211; variation automatique.\n  <\/p>\n  \n  \n  <p>\n   Ce mode est accessible depuis tous les modes sauf Simon, en maintenant activ\u00e9s les sonars\n   <strong>\n    1 et 4*\n   <\/strong>\n   . Les LED 1 \u00e0 4* s&rsquo;allument en blanc et varient d&rsquo;intensit\u00e9. Activer de mani\u00e8re prolong\u00e9e un de ces sonars va enclencher le mode correspondant. Les LED 5 et 6* envoient le joueur en mode de variation automatique. Idem lorsque le timer arrive \u00e0 terme.\n  <\/p>\n  \n  \n  <p>\n   *num\u00e9ro selon photos et sch\u00e9ma Fritzing, et non pas selon le code.\n  <\/p>\n  \n  \n  <h2 class=\"wp-block-heading\" id=\"h-genese-du-projet-lumina\">\n   Gen\u00e8se du projet LUMINA\n  <\/h2>\n  \n  \n  <p>\n   L\u2019envie de r\u00e9aliser cette lampe m\u2019est venue en voyant les vid\u00e9os de pr\u00e9sentation des kits Bare Conductive (notamment les lampes command\u00e9es par capteur capacitif). Je poss\u00e9dais d\u00e9j\u00e0 une imprimante 3D, et j\u2019avais remarqu\u00e9 que des impressions suffisamment fines pouvaient donner des effets de transparence sympa, adapt\u00e9s pour mon usage.\n  <\/p>\n  \n  \n  <p>\n   <strong>\n    Il me manquait les connaissances en \u00e9lectronique, mais la perspective de pouvoir r\u00e9aliser un objet complet, gr\u00e2ce \u00e0 l\u2019impression 3D, m\u2019a convaincu de m\u2019y mettre !\n   <\/strong>\n  <\/p>\n  \n  \n  <h2 class=\"wp-block-heading\" id=\"h-le-choix-des-plates-formes\">\n   Le choix des plates-formes\n  <\/h2>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-la-carte-electronique\">\n   La carte \u00e9lectronique\n  <\/h3>\n  \n  \n  <p>\n   Comme je venais de d\u00e9marrer la programmation en Arduino,\n   <strong>\n    je disposais de la fameuse Uno R3 du d\u00e9butant\n   <\/strong>\n   . Il \u00e9tait tout naturel de rentabiliser \u00e0 la fois le mat\u00e9riel et les apprentissages, en basant le projet sur cette carte.\n  <\/p>\n  \n  \n  <p>\n   Cela dit, il serait possible d\u2019utiliser\n   <strong>\n    n\u2019importe quelle autre carte de la famille Arduino\n   <\/strong>\n   , voire n\u2019importe quel autre microcontr\u00f4leur (\n   <strong>\n    <a class=\"catalogue\" href=\"\/fr\/214-cartes-raspberry-pi\" title=\"Cartes Raspberry Pi\">\n     Raspberry Pi\n    <\/a>\n    , pour ceux qui aiment coder en Python\n   <\/strong>\n   , par exemple).\n  <\/p>\n  \n  \n  <p>\n   Attention toutefois \u00e0 ceux qui voudraient reproduire le projet avec une micro:bit : m\u00eame s\u2019il est possible d\u2019avoir acc\u00e8s \u00e0 suffisamment de broches gr\u00e2ce \u00e0 un breakout, la carte d\u00e9livre une tension de 3.3V, trop faible pour alimenter les diff\u00e9rents capteurs.\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-les-capteurs\">\n   Les capteurs\n  <\/h3>\n  \n  \n  <p>\n   Les capteurs capacitifs en peinture conductrice m\u2019auraient bien plu, mais ils n\u00e9cessitent d\u2019\u00eatre assez grands pour \u00eatre efficaces. L\u2019objet final ne devant pas \u00eatre trop gros, il me fallait une solution plus compacte.\n   <strong>\n    Les capteurs \u00e0 ultrasons HC-SR04 offrent le double avantage d\u2019\u00eatre peu co\u00fbteux et d\u2019avoir une large plage de d\u00e9tection.\n   <\/strong>\n   Pour le m\u00eame usage, on aurait pu aussi bien prendre des capteurs infrarouges, tels que ceux du constructeur Pololu.\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-les-led\">\n   Les LED\n  <\/h3>\n  \n  \n  <p>\n   J\u2019ai un temps h\u00e9sit\u00e9 avec des LED RGB Neopixel, mais les LED cha\u00eenables Grove offrent l\u2019\n   <strong>\n    avantage non n\u00e9gligeable de se connecter tr\u00e8s simplement, sans soudure\n   <\/strong>\n   . Leur platine comporte des per\u00e7ages permettant une fixation facile \u00e0 la structure. En revanche, les deux r\u00e9f\u00e9rences disposent de\n   <strong>\n    librairies Arduino toutes pr\u00eates\n   <\/strong>\n   .\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-l-imprimante-3d\">\n   L&rsquo;imprimante 3D\n  <\/h3>\n  \n  \n  <p>\n   Pour ma part, j\u2019utilise une Neva, de Dagoma.\n   <strong>\n    Un r\u00e9glage de 0.2 mm (rapide) permet d\u00e9j\u00e0 d\u2019obtenir un rendu tr\u00e8s satisfaisant.\n   <\/strong>\n   Les parties fines ne pr\u00e9sentent pas de jour entre les couches, les pi\u00e8ces s\u2019embo\u00eetent bien. J\u2019utilise un filament couleur ivoire (celui qui me sert pour mes tests, de mani\u00e8re g\u00e9n\u00e9rale). Imprim\u00e9 assez fin, il permet de bien diffuser la couleur des LED, tout en absorbant l\u2019exc\u00e8s de brillance.\n   <br\/>\n   NB : dans ses dimensions de base, la bo\u00eete exploite au maximul la surface d\u2019impression de la Neva.\n   <strong>\n    Attention\n   <\/strong>\n   \u00e0 bien enlever imm\u00e9diatement le petit p\u00e2t\u00e9 que d\u00e9pose l\u2019imprimante au d\u00e9marrage, avant que la t\u00eate d\u2019impression ne repasse dessus.\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-les-outils-logiciel\">\n   Les outils logiciel\n  <\/h3>\n  \n  \n  <p>\n   Le programme est r\u00e9alis\u00e9 en\n   <strong>\n    environnement Arduino classique\n   <\/strong>\n   . Petite pr\u00e9cision, pour les capteurs ultrason, j\u2019ai utilis\u00e9 la librairie NewPing. Les HC-SR04 sont tous connect\u00e9s \u00e0 la m\u00eame broche pour le trigger, et cela causait des dysfonctionnements avec la librairie Ping \u201cde base\u201d.\n   <strong>\n    A noter que le logiciel MBlock du constructeur MakeBlock permet de programmer des cartes Arduino en langage visuel de type Scratch.\n   <\/strong>\n  <\/p>\n  \n  \n  <p>\n   La mod\u00e9lisation des pi\u00e8ces a \u00e9t\u00e9 faite avec\n   <strong>\n    <a class=\"catalogue\" href=\"https:\/\/www.tinkercad.com\" rel=\"noopener noreferrer\" target=\"_blank\" title=\"Tinkercad\">\n     Tinkercad\n    <\/a>\n    , interface gratuite accessible en ligne\n   <\/strong>\n   ,\n   <strong>\n    extr\u00eamement simple \u00e0 prendre en main\n   <\/strong>\n   . La mod\u00e9lisation se fait au moyen d\u2019adjonctions et de soustractions de formes g\u00e9om\u00e9triques plus ou moins complexes. Il permet n\u00e9anmoins de r\u00e9aliser des conceptions tr\u00e8s \u00e9labor\u00e9es. Il existe de nombreux tutoriels vid\u00e9os en ligne.\n  <\/p>\n  \n  \n  <h2 class=\"wp-block-heading\" id=\"h-quelques-conseils\">\n   Quelques conseils\n  <\/h2>\n  \n  \n  <p>\n   En tant que d\u00e9butant, la r\u00e9alisation d\u2019un premier projet \u00e9lectronique a quelque chose de grisant. En revanche, cela peut aussi \u00eatre la source de frustration, face \u00e0 des complications inattendues ou des bugs incompr\u00e9hensibles. Voici quelques suggestions qui aideront je l\u2019esp\u00e8re mes camarades novices \u00e0 ne pas tomber dans le d\u00e9couragement.\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-avoir-une-idee-precise-ce-qu-on-veut-faire\">\n   Avoir une id\u00e9e pr\u00e9cise ce qu\u2019on veut faire\n  <\/h3>\n  \n  \n  <p>\n   Comme dans toute d\u00e9marche de cr\u00e9ation, l\u2019un des principaux dangers est de se perdre en cours de route, tellement les possibilit\u00e9s sont vastes. Il sera donc important, tout au long du projet, de\n   <strong>\n    garder clairement \u00e0 l\u2019esprit l\u2019objectif final\n   <\/strong>\n   .\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-commencer-modestement\">\n   Commencer modestement\n  <\/h3>\n  \n  \n  <p>\n   Rome ne s\u2019est pas faite en un jour ! Si vous d\u00e9butez, il faut commencer par accepter de ne pas faire tout de suite le m\u00e9ga-projet-de-la-mort-qui-tue. Mais rassurez-vous : vos amis sont certainement aussi novices que vous, et m\u00eame un montage simple \u00e0 base de d\u00e9tection d\u2019obstacle et de clignotements de LED pourra leur tirer des exclamations d\u2019\u00e9merveillement sur vos nouveaux talents de programmeur !\n   <strong>\n    Et rien ne vous emp\u00eachera de complexifier progressivement votre montage.\n   <\/strong>\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-trouver-un-nom-de-code-a-son-projet\">\n   Trouver un nom de code \u00e0 son projet\n  <\/h3>\n  \n  \n  <p>\n   Parce que c\u2019est cool. Bon, LUMINA\u00a0ne va peut-\u00eatre pas remporter la palme de l\u2019originalit\u00e9, mais si vous menez plusieurs projets de front, avoir un petit nom pour chacun\n   <strong>\n    vous aidera \u00e0 vous y retrouver\n   <\/strong>\n   .\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-investir-dans-un-crayon-et-du-papier\">\n   Investir dans un crayon et du papier\n  <\/h3>\n  \n  \n  <p>\n   A chaque fois que j\u2019ai voulu me lancer directement dans un bout de code au d\u00e9tour d\u2019une id\u00e9e, j\u2019y ai pass\u00e9 deux heures, l\u00e0 o\u00f9 il n\u2019y avait vraiment pas besoin de chercher loin. Donc avant de se jeter sur son clavier, on respire \u00e0 fond, on taille son crayon, on aff\u00fbte sa gomme, et\u2026 on r\u00e9fl\u00e9chit.\n   <strong>\n    \u201cCe qui se con\u00e7oit bien s\u2019\u00e9nonce clairement, et les mots pour le dire arrivent ais\u00e9ment.\u201d\n   <\/strong>\n   Cette maxime de Nicolas Boileau s\u2019applique aussi \u00e0 la programmation ! Vous verrez, vous gagnerez du temps !\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-aller-a-la-peche-aux-informations\">\n   Aller \u00e0 la p\u00eache aux informations\n  <\/h3>\n  \n  \n  <p>\n   C\u2019est s\u00fbr que quand on travaille avec des geeks, il est assez facile d\u2019obtenir des explications sur des points obscurs. Mais pour ceux qui n\u2019ont pas la chance d\u2019en fr\u00e9quenter, pas de panique !\n   <strong>\n    Internet regorge de mines d\u2019or, sous des formes diff\u00e9rentes.\n   <\/strong>\n   Tout d\u2019abord, les\n   <strong>\n    sites officiels des plates-formes\n   <\/strong>\n   que vous utilisez vous d\u00e9panneront souvent, qu\u2019il s\u2019agisse d\u2019Arduino, Rasberry Pi, Python, Micro:bit\u2026 Pour des indications de base sur le fonctionnement d\u2019Arduino, le\n   <strong>\n    tutoriel d\u2019Openclassroom pour d\u00e9butant\n   <\/strong>\n   est extr\u00eamement bien fait. Et de mani\u00e8re g\u00e9n\u00e9rale, un simple google avec quelques mots cl\u00e9s bien choisis vous sortira de la panade.\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-reviser-les-bases\">\n   R\u00e9viser les bases\n  <\/h3>\n  \n  \n  <p>\n   Nombre d\u2019erreurs dans la programmation viennent d\u2019une b\u00eate erreur de syntaxe qu\u2019on ne voit pas, alors m\u00eame qu\u2019on a lu, relu et re-relu son code ligne par ligne. Un grand classique : la notation \u201cif a = 0\u201d, l\u00e0 o\u00f9 il faudrait \u00e9crire\n   <strong>\n    \u201cif a==0\u201d\n   <\/strong>\n   . De quoi devenir fou. En cas de bug, tr\u00e8s important, donc, de bien v\u00e9rifier m\u00eame les fonctions et les notations les plus \u00e9l\u00e9mentaires.\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-se-conformer-aux-conventions-de-programmation\">\n   Se conformer aux conventions de programmation\n  <\/h3>\n  \n  \n  <p>\n   Parce que vous ne serez peut-\u00eatre pas le seul \u00e0 lire votre code, ou tout simplement parce que vous aurez parfois besoin d\u2019y revenir apr\u00e8s plusieurs semaines :\n   <strong>\n    suivez les bonnes pratiques en terme de pr\u00e9sentation (indentation mon amour) et de commentaire\n   <\/strong>\n   ! L\u00e0 encore vous gagnerez du temps et du confort.\n  <\/p>\n  \n  \n  <h3 class=\"wp-block-heading\" id=\"h-s-amuser\">\n   S\u2019amuser !\n  <\/h3>\n  \n  \n  <p>\n   Si vous vous int\u00e9ressez \u00e0 ce tuto, c\u2019est probablement en tant que programmeur amateur. L\u2019apprentissage du code est passionnant, mais peut aussi avoir ses aspects r\u00e9barbatifs et contraignants. Pour ne pas vous d\u00e9courager, assurez-vous toujours de faire quelque chose qui vous pla\u00eet !\n  <\/p>\n  \n  \n  <h2 class=\"wp-block-heading\" id=\"h-ressources-du-tutoriel-arduino-creation-d-une-lampe-diy-lumina\">\n   Ressources du Tutoriel Arduino &#8211; Cr\u00e9ation d&rsquo;une lampe DIY \u00ab\u00a0LUMINA\u00a0\u00bb\n  <\/h2>\n  \n  \n  <ul class=\"wp-block-list\">\n   \n   <li>\n    <a class=\"catalogue\" href=\"\/media\/tutoriel-arduino-lumina-fichiers-3d.zip\" title=\"Tutoriel Arduino - Cr\u00e9ation d'une lampe DIY LUMINA - fichiers 3D\">\n     Fichiers STL de la bo\u00eete : caisse, plaque de fixation, couvercle\n    <\/a>\n   <\/li>\n   \n   \n   <li>\n    <a class=\"catalogue\" href=\"\/media\/tutoriel-arduino-lumina-code.zip\" title=\"Tutoriel Arduino - Cr\u00e9ation d'une lampe DIY LUMINA - code\">\n     Code Arduino\n    <\/a>\n    . Il est lourd. Il est maladroit. Il n\u2019est pas forc\u00e9ment tr\u00e8s bien indent\u00e9, ni tr\u00e8s bien comment\u00e9. Mais il marche ! Am\u00e9liorations bienvenues !\n   <\/li>\n   \n  <\/ul>\n  \n <\/body>\n<\/html>","protected":false},"excerpt":{"rendered":"<p>Ce tutoriel de projet bas\u00e9 Arduino a \u00e9t\u00e9 r\u00e9alis\u00e9 par un amateur et s\u2019adresse principalement \u00e0 d\u2019autres amateurs du genre, ou \u00e0 toute personne ayant un peu de curiosit\u00e9 pour ce type de montages \u00e9lectroniques. L\u2019auteur en appelle par avance \u00e0 la bienveillance des v\u00e9n\u00e9rables experts qui voudraient creuser un peu dans le code ou[&#8230;]<br \/> <a class=\"button\" href=\"https:\/\/www.generationrobots.com\/blog\/fr\/tutoriel-arduino-creation-dune-lampe-diy-lumina\/\" style=\"float:right;\">Read this article &gt;&gt;<\/a><\/p>\n","protected":false},"author":305,"featured_media":4967,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1128],"tags":[],"class_list":["post-4946","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-education"],"_links":{"self":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/4946","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/users\/305"}],"replies":[{"embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/comments?post=4946"}],"version-history":[{"count":20,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/4946\/revisions"}],"predecessor-version":[{"id":13636,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/4946\/revisions\/13636"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/media\/4967"}],"wp:attachment":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/media?parent=4946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/categories?post=4946"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/tags?post=4946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}