Difference between revisions of "MoodBox"

Line 27: Line 27:
 
<!--T:6-->
 
<!--T:6-->
 
Les instructions de base étaient les suivantes :
 
Les instructions de base étaient les suivantes :
* concevoir un nouvel étage sur une boîte existante conçue au fil de la formation (3 étages possibles : 1 socle, 1 en plexiglas, 1 pour l'écran LCD) ;
+
* concevoir un nouvel étage sur une boîte existante conçue au fil de la formation (3 étages possibles à disposition : 1 socle, 1 en plexiglas, 1 pour l'écran LCD) ;
 
* utiliser pour ce nouvel étage les connaissances acquises : impression 3D, découpe laser, etc ;
 
* utiliser pour ce nouvel étage les connaissances acquises : impression 3D, découpe laser, etc ;
 
* programmer via Arduino au moins une interaction avec l'utilisateur (à nous de choisir cette dernière).
 
* programmer via Arduino au moins une interaction avec l'utilisateur (à nous de choisir cette dernière).
Line 63: Line 63:
  
 
<!--T:18-->
 
<!--T:18-->
{{Warning|Si aucun autre appui n'est effectué sur la barre dans les 5 secondes suivant l'activation, la Mood Box est désactivé et le mode veille reprend.}}   
+
{{Warning|Si aucun autre appui n'est effectué sur la barre dans les 5 secondes suivant l'activation, la Mood Box est désactivée et le mode veille reprend.}}   
  
 
<!--T:19-->
 
<!--T:19-->
Line 83: Line 83:
 
*  3 fois : "previous", i.e. la lecture repasse au titre précédent de la liste de lecture ;
 
*  3 fois : "previous", i.e. la lecture repasse au titre précédent de la liste de lecture ;
 
*  4 fois ou plus : retour au mode "veille", avec une animation conjointe de l'anneau de LEDs, de la figurine et de l'écran LCD.
 
*  4 fois ou plus : retour au mode "veille", avec une animation conjointe de l'anneau de LEDs, de la figurine et de l'écran LCD.
Rem : chacune des actions pause/play/next/previous génère un changement de rotation de la figurine.  
+
Remarque : chacune des actions pause/play/next/previous génère un changement de rotation de la figurine.  
  
 
<!--T:24-->
 
<!--T:24-->
Line 92: Line 92:
  
 
<!--T:27-->
 
<!--T:27-->
Il est à noter que si l'on relance la lecture depuis le mode veille "veille", celle-ci va reprendre exactement là où on l'avait interrompue.</translate>
+
Il est à noter que si l'on relance la lecture depuis le mode "veille", celle-ci va reprendre exactement là où on l'avait interrompue.</translate>
 
}}
 
}}
 
{{ {{tntn|TutoVideo}}
 
{{ {{tntn|TutoVideo}}
Line 108: Line 108:
  
 
==== Pour la boîte ==== <!--T:29-->
 
==== Pour la boîte ==== <!--T:29-->
*panneau de contreplaqué en 3mm d'épaisseur pour la découpe laser.
+
*panneau de contreplaqué en 3mm d'épaisseur pour la découpe laser ;
 
  {{Idea|le peuplier n'est pas très cher, se découpe très bien et surtout très rapidement.}}
 
  {{Idea|le peuplier n'est pas très cher, se découpe très bien et surtout très rapidement.}}
* languette de laiton 80x7x2mm (Lxlxh), pour modifier et étendre la surface sensible de la touche capacitive.
+
* languette de laiton 80x7x2mm (Lxlxh), pour modifier et étendre la surface sensible de la touche capacitive ;
 
{{Info|La tige laiton se trouve dans le commerce en barre d'un mètre (~7€). On peut la remplace par n'importe quel élément conducteur, de section et forme différente.}}
 
{{Info|La tige laiton se trouve dans le commerce en barre d'un mètre (~7€). On peut la remplace par n'importe quel élément conducteur, de section et forme différente.}}
 
* PLA transparent pour imprimer en 3D :
 
* PLA transparent pour imprimer en 3D :
** la trappe d'accès à la boîte contenant l'Arduino;
+
** la trappe d'accès à la boîte contenant l'Arduino,
** les supports de la figurine dont un qui va également diffuser la lumière du led-ring;
+
** les supports de la figurine dont un qui va également diffuser la lumière du led-ring,
** le bouton de volume;
+
** le bouton de volume,
** les clips d'assemblage.
+
** les clips d'assemblage ;
 
* PLA (couleur au choix) pour créer le décor animé placé au sommet de la boîte.
 
* PLA (couleur au choix) pour créer le décor animé placé au sommet de la boîte.
  
 
==== Pour l'électronique ==== <!--T:30-->
 
==== Pour l'électronique ==== <!--T:30-->
* 1 carte Arduino Uno Rev.3;
+
* 1 carte Arduino Uno Rev.3 ;
* 1 alimentation électrique MW, modèle 1500mA Rotary Switch Adaptor;
+
* 1 alimentation électrique MW, modèle 1500mA Rotary Switch Adaptor ;
* 1 inverseur KNX-1, 3A, 250V AC, pour servir d'interrupteur général;
+
* 1 inverseur KNX-1, 3A, 250V AC, pour servir d'interrupteur général ;
* 1 potentiomètre Seeed Studio, modèle Grove Rotary Angle Sensor (P);
+
* 1 potentiomètre Seeed Studio, modèle Grove Rotary Angle Sensor (P) ;
* 1 touche capacitive Seeed Studio, modèle Grove Touch Sensor;
+
* 1 touche capacitive Seeed Studio, modèle Grove Touch Sensor ;
* 1 ledring Adafruit, modèle Neopixel Ring 12 x 5050 RGB;
+
* 1 ledring Adafruit, modèle Neopixel Ring 12 x 5050 RGB ;
* 1 lecteurMP3 Seeed Studio, modèle Grove MP3 v2.0;
+
* 1 lecteurMP3 Seeed Studio, modèle Grove MP3 v2.0 ;
* 1 carte micro SD, pour stocker la bibliothèque musicale de son choix;
+
* 1 carte micro SD, pour stocker la bibliothèque musicale de son choix ;
* 1 moteur Seeed Studio, type Gear Stepper Motor with Driver, modèle Step Motor 28BYJ-48 5V DC;
+
* 1 moteur Seeed Studio, type Gear Stepper Motor with Driver, modèle Step Motor 28BYJ-48 5V DC ;
* 1 capteur BME280 Adafruit : T°, humidité, pression (ADA2652);
+
* 1 capteur BME280 Adafruit : T°, humidité, pression (ADA2652) ;
 
* 1 "Base Shield V2" de marque Seeed Studio.
 
* 1 "Base Shield V2" de marque Seeed Studio.
  
 
==== Autres ==== <!--T:31-->
 
==== Autres ==== <!--T:31-->
*colle à bois, pour l'assemblage des différents étages de la boîte
+
*colle à bois, pour l'assemblage des différents étages de la boîte ;
* colle cyanoacrylate
+
* colle cyanoacrylate ;
* visserie pour fixer certains composants à la boîte
+
* visserie pour fixer certains composants à la boîte ;
* câbles et connecteurs</translate>
+
* câbles et connecteurs.</translate>
 
|Tools=<translate><!--T:32-->
 
|Tools=<translate><!--T:32-->
 
Les outils utilisés sont répartis ci-dessous suivant leur nature.
 
Les outils utilisés sont répartis ci-dessous suivant leur nature.
  
 
==== CAO & PAO ==== <!--T:33-->
 
==== CAO & PAO ==== <!--T:33-->
* Inkscape : logiciel de CAO 2D pour créer ou modifier le schéma de découpe et/ou de gravure des différents éléments de la boîte
+
* Inkscape : logiciel de CAO 2D pour créer ou modifier le schéma de découpe et/ou de gravure des différents éléments de la boîte ;
* TinkerCAD, Blender ou autre logiciel de CAO 3D de son choix pour créer ou modifier les éléments de décor et autres parties imprimées de la boîte
+
* TinkerCAD, Blender ou autre logiciel de CAO 3D de son choix pour créer ou modifier les éléments de décor et autres parties imprimées de la boîte ;
* Arduino IDE : environnement de développement adapté à la carte Arduino pour créer le programme de commande de la boîte et gérer les différentes interactions entre les utilisateurs et les capteurs et autres composants
+
* Arduino IDE : environnement de développement adapté à la carte Arduino pour créer le programme de commande de la boîte et gérer les différentes interactions entre les utilisateurs et les capteurs et autres composants.
 
{{Idea|Tous les fichiers 2D et 3D (.svg, .stl) sont mis à disposition dans l'onglet "fichier" de cette page.}}
 
{{Idea|Tous les fichiers 2D et 3D (.svg, .stl) sont mis à disposition dans l'onglet "fichier" de cette page.}}
  
 
==== Machines & outils ==== <!--T:34-->
 
==== Machines & outils ==== <!--T:34-->
* découpeuse laser, accessible dans un Fablab;
+
* découpeuse laser, accessible dans un Fablab ;
 
{{Warning|Plus les panneaux à découper seront plans (et non cintrés), plus la découpe sera précise. Il peut être judicieux de mentionner au vendeur que les panneaux vont aller en découpe laser.}}
 
{{Warning|Plus les panneaux à découper seront plans (et non cintrés), plus la découpe sera précise. Il peut être judicieux de mentionner au vendeur que les panneaux vont aller en découpe laser.}}
* imprimante 3D, également accessible via un FabLab au besoin
+
* imprimante 3D, également accessible via un FabLab au besoin ;
* fer à souder et matériel de soudure
+
* fer à souder et matériel de soudure ;
 
{{Warning|Attention, en plus du risque de brûlure en cas de mauvaise manipulation du fer lui-même, certains composants électroniques sont sensibles à la chaleur et nécessitent de minimiser le temps de chauffe des différentes parties à souder. Il faut donc rester vigilant et procéder par étapes courtes (de 2 à 3 secondes maximum).}}
 
{{Warning|Attention, en plus du risque de brûlure en cas de mauvaise manipulation du fer lui-même, certains composants électroniques sont sensibles à la chaleur et nécessitent de minimiser le temps de chauffe des différentes parties à souder. Il faut donc rester vigilant et procéder par étapes courtes (de 2 à 3 secondes maximum).}}
* tournevis, pinces coupantes, scie ...
+
* tournevis, pinces coupantes, scie, etc. ;
 
* outil type Dremel.</translate>
 
* outil type Dremel.</translate>
 
|Tuto_Attachments={{ {{tntn|Tuto Attachments}}
 
|Tuto_Attachments={{ {{tntn|Tuto Attachments}}
Line 218: Line 218:
  
 
<!--T:73-->
 
<!--T:73-->
{{Idea|Une fois la boite découpée et assemblée, on peut laisser libre court à son imagination pour la peindre, la décorer, la customiser selon ses envies.}}</translate>
+
{{Idea|Une fois la boîte découpée et assemblée, on peut laisser libre court à son imagination pour la peindre, la décorer, la personnaliser selon ses envies.}}</translate>
 
|Step_Picture_00=Mood_Box,_Sons_et_Lumières_mood_box_d_coupe_laser.png
 
|Step_Picture_00=Mood_Box,_Sons_et_Lumières_mood_box_d_coupe_laser.png
 
|Step_Picture_01=Mood_Box,_Sons_et_Lumières_mood_box_gravure_laser.png
 
|Step_Picture_01=Mood_Box,_Sons_et_Lumières_mood_box_gravure_laser.png
Line 231: Line 231:
 
<!--T:46-->
 
<!--T:46-->
 
Ces éléments sont tous visibles sur les photos ci-contre :
 
Ces éléments sont tous visibles sur les photos ci-contre :
* étage de base :
+
* étage de base
** trappe d'accès;
+
** trappe d'accès,
** capot.
+
** capot,
 
* étage Mood Box
 
* étage Mood Box
** supports de la figurine (fixe et tournant);
+
** supports de la figurine (fixe et tournant),
** figurine;
+
** figurine,
 
** clips de fermeture (sur les côtés).</translate>
 
** clips de fermeture (sur les côtés).</translate>
 
|Step_Picture_00=Mood_Box,_Sons_et_Lumières_DSC_0074.jpg
 
|Step_Picture_00=Mood_Box,_Sons_et_Lumières_DSC_0074.jpg
Line 251: Line 251:
  
 
==== Entrées ==== <!--T:49-->
 
==== Entrées ==== <!--T:49-->
* Potentiomètre : entrée analogique A0;
+
* Potentiomètre : entrée analogique A0 ;
* Touche capacitive : entrée analogique A1;
+
* Touche capacitive : entrée analogique A1 ;
 
* Capteur BME280 :
 
* Capteur BME280 :
** Vin > 5V
+
** Vin > 5V,
** GND > GND
+
** GND > GND,
** CS > 10
+
** CS > 10,
** SDI > 11
+
** SDI > 11,
** SD0 > 12
+
** SD0 > 12,
** SCK > 13
+
** SCK > 13.
  
 
==== Sorties ==== <!--T:50-->
 
==== Sorties ==== <!--T:50-->
* LCD : port I2C;
+
* LCD : port I2C ;
* Lecteur MP3 : D2;
+
* Lecteur MP3 : D2 ;
 
* Ledring : D3.
 
* Ledring : D3.
  
 
==== Moteurs ==== <!--T:51-->
 
==== Moteurs ==== <!--T:51-->
 
* Moteur pas-à-pas :  
 
* Moteur pas-à-pas :  
** IN 1 > 10
+
** IN 1 > 10 ;
** IN 2 > 9
+
** IN 2 > 9 ;
** IN 3 > 11
+
** IN 3 > 11 ;
** IN 4 > 8
+
** IN 4 > 8.
  
 
==== Alimentation ==== <!--T:74-->
 
==== Alimentation ==== <!--T:74-->
Line 306: Line 306:
  
 
<!--T:58-->
 
<!--T:58-->
Pour contourner le fonctionnement séquentiel l'utilisation de la bibliothèque AccelStepper.h et l'implantation des commandes associées au cœur même des routines appelées séquentiellement par la boucle principale, permettent d'avoir la simultanéité des actions principales, à savoir : les animations de la ledring et la rotation du moteur pas-à-pas.
+
Pour contourner le fonctionnement séquentiel, l'utilisation de la bibliothèque AccelStepper.h et l'implantation des commandes, associées au cœur même des routines appelées séquentiellement par la boucle principale, permet d'avoir la simultanéité des actions principales, à savoir : les animations de l'anneau de LEDs et la rotation du moteur pas-à-pas.
  
 
<!--T:59-->
 
<!--T:59-->
{{Idea|C'est cette astuce dans le code qui permet de ne pas arrêter le moteur le temps dédié à la surveillance d'une interaction avec la barre.}}
+
{{Idea|C'est cette astuce dans le code qui permet de ne pas arrêter le moteur pendant le temps dédié à la surveillance d'une interaction avec la barre.}}
  
 
==== Bibliothèques ==== <!--T:72-->
 
==== Bibliothèques ==== <!--T:72-->
Le programme s'articule autour de bibliothèques spécifique aux composants utilisés, en voici la liste :
+
Le programme s'articule autour de bibliothèques spécifiques aux composants utilisés, en voici la liste :
 
* LCD : "rgb_lcd.h"
 
* LCD : "rgb_lcd.h"
 
** https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight
 
** https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight

Revision as of 09:32, 3 July 2018