ENIB 2025 : PikaSound System : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Étape 6 - Finalisation du système électronique et collage dans la boite)
(Publicité)
 
(23 révisions intermédiaires par le même utilisateur non affichées)
Ligne 14 : Ligne 14 :
 
==Outils et matériel==
 
==Outils et matériel==
  
  - 4 écrous Ø5
+
  - 8 écrous Ø5
  - 4 vis Ø5 x L.10 mm
+
  - 8 vis Ø5 x L.10 mm
 
  - planches de contreplaqué de 5 mm  d'épaisseur
 
  - planches de contreplaqué de 5 mm  d'épaisseur
 
  - 1 batterie 5V de 1500 mAh
 
  - 1 batterie 5V de 1500 mAh
Ligne 40 : Ligne 40 :
  
 
===Fichier LightBurn pour la découpe Laser===
 
===Fichier LightBurn pour la découpe Laser===
 +
 +
[[Media:Boite.zip]]
  
 
===Fichier l'impression 3D des charnières===
 
===Fichier l'impression 3D des charnières===
Ligne 56 : Ligne 58 :
  
 
===Code Arduino===
 
===Code Arduino===
 +
 +
Il faudra bien penser à modifier à la ligne 45 le nombre de son sur la carte sinon ça ne marchera pas.
 +
 
<syntaxhighlight lang="Arduino" line>  
 
<syntaxhighlight lang="Arduino" line>  
#define PIN 9
+
///////////////////////////
#include <Arduino_GFX_Library.h>
+
//  PikaSound System    //
 +
//////////////////////////
 +
/*
 +
La PikaSound System est un dispositif qui tire un son au hasard et le joue.
 +
 
 +
                                    BROCHAGE
 +
                                _________________
 +
                              /    D1 mini    \
 +
                          -  |[ ]RST        TX[ ]| -
 +
                          -  |[ ]A0  -GPIO  RX[ ]| -
 +
                              |[ ]D0-16    5-D1[ ]| -
 +
                RX MP3-TF-16P |[X]D5-14    4-D2[ ]| -
 +
resistance 1K - TX MP3-TF-16P |[X]D6-12    0-D3[X]| - Bouton
 +
                          -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN
 +
                          -  |[ ]D8-15    GND[X]| - GND (Bouton, MP3-TF-16P)
 +
                          -  |[ ]3V3 .      5V[X]| - MP3-TF-16P
 +
                              |      +---+      |
 +
                              |_______|USB|_______|
 +
 
 +
 
 +
                              +-------\_/--------+
 +
                          +5V |[X] MP3-TF-16P [ ]|
 +
            resistance 1K - TX |[X]            [ ]|
 +
                            RX |[X] __________ [ ]|
 +
                              |[ ]|          |[ ]|
 +
                              |[ ]|  CARTE  |[ ]|
 +
                  Haut-Parleur |[X]|    SD    |[ ]|
 +
                          GND |[X]|          |[ ]|
 +
                  Haut-Parleur |[X]|          |[ ]|
 +
                              |___|__________|___|
 +
 
 +
*/
 +
#include "Arduino.h"
 +
#include "SoftwareSerial.h"
 +
#include "DFRobotDFPlayerMini.h"
 +
#include <Adafruit_NeoPixel.h>
 +
 
 +
SoftwareSerial mySoftwareSerial(14, 12); // RX, TX
 +
DFRobotDFPlayerMini myDFPlayer;
 +
 
 +
long hasard;            // declaration d'une variable long
 +
int brocheBouton = 0;  // le GPIO 0 du D1 Mini est la broche D3
 +
int nombreDeSons = 14;  // indiquer le nombre de sons sur la carte SD. Chaque fichier est numeroté 00X.
 +
#define broche 4
 +
 
 +
#define nbpixels 4
 +
#define delai 50 // durée de la pause en millisecondes
 +
Adafruit_NeoPixel pixels(nbpixels, broche, NEO_GRB + NEO_KHZ800);
 +
int sound = 5;
  
 
void setup() {
 
void setup() {
   // put your setup code here, to run once:
+
   mySoftwareSerial.begin(9600);
 +
  Serial.begin(115200); // initialise la connexion serie vers le PC a 115200 bauds
 +
 
 +
  Serial.println();
 +
  Serial.println(F("Boite a  sons"));
 +
  Serial.println(F("Initialisation du lecteur mp3 ... (peut prendre 3 a 5 secondes)"));
 +
 
 +
  if (!myDFPlayer.begin(mySoftwareSerial)) {  // utilise softwareSerial pour communiquer avec le MP3-TF-16P.
 +
    Serial.println(F("Incapable de demarrer:"));
 +
    Serial.println(F("1. Verifiez les connexions!"));
 +
    Serial.println(F("2. Inserez la carte SD!"));
 +
    while (true);
 +
  }
 +
  Serial.println(F("La Boite a sons est prete !"));
 +
 
 +
  myDFPlayer.setTimeOut(500); // place la communication serie time out 500ms
 +
  myDFPlayer.volume(30);      // regle le volume (de 0 a 30).
 +
  myDFPlayer.play(1);        // joue le premier fichier son.
 +
 
 +
  // Si la broche analogique 0 n'est pas connectee, le "bruit" analogique aleatoire
 +
  // provoquera l'appel de l'instruction randomSeed() pour générer
 +
  // différent nombre de départ à chaque exécution du programme.
 +
  // randomSeed() brouillera alors la fonction aléatoire
 +
 
 +
  randomSeed(analogRead(0));
 +
  pinMode (brocheBouton, INPUT_PULLUP);  // active la resistance de pull-up interne
 +
  pinMode(sound, INPUT);
 +
  pixels.begin();          // INITIALISE l'object ruban NeoPixel
 +
  pixels.show();            // éteint tout les pixels aussi vite que possible.
 +
  pixels.setBrightness(20); // met la luminosité à 1/5 (max = 255)
  
 
}
 
}
  
 
void loop() {
 
void loop() {
   // put your main code here, to run repeatedly:
+
    
 +
  if ( digitalRead(brocheBouton) == LOW ) // lorqu'on appuie sur le bouton
 +
  {
 +
    Serial.println("Appuis Bouton");      // info sur le moniteur serie
 +
    myDFPlayer.next();                    // joue le son tire au hasard
 +
  }
 +
 
  
}
+
  if (digitalRead(sound)==LOW){
 +
    for(int i=0; i<nbpixels; i++) { // Les pixels sont numérotés de 0 à ...
 +
    pixels.setPixelColor(i, pixels.Color(255,255, 0)); // la couleur des pixel est fixée par trois paramètres RGB
 +
    // qui vont de de 0,0,0 à 255,255,255. Ici c'est un vert simple.
 +
    pixels.show();  // met à jour le ruban
 +
    delay(delai);    // Pause
 +
  }
 +
 
 +
    for(int i=nbpixels; i>-1; i--) { // Effacement des pixels
 +
    pixels.setPixelColor(i, pixels.Color(0, 0, 0)); // la couleur des pixel est fixée par trois paramètres RGB
 +
    // Avec les valeurs 0,0,0 on éteint les pixels.
 +
    pixels.show();  // met à jour le ruban
 +
    delay(delai);    // Pause
 +
    }
 +
   
 +
  }
  
 +
 
 +
  }
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Ligne 76 : Ligne 181 :
 
===Étape 1 - Fabrication du premier prototype===
 
===Étape 1 - Fabrication du premier prototype===
  
Un photo du premier câblage de "test"
+
Une photo du premier câblage de "test"
  
 
[[Fichier:1er proto.JPG | 300px]]
 
[[Fichier:1er proto.JPG | 300px]]
Ligne 82 : Ligne 187 :
 
===Étape 2 - Ajout d'un deuxième haut-parleur et d'un bandeau LED===
 
===Étape 2 - Ajout d'un deuxième haut-parleur et d'un bandeau LED===
  
[[Fichier:Bandeau led.JPG | 200px]]
+
A l'aide du câblage, on ajoute un autre haut parleur et un bandeau LED d'ambiance
 +
 
 +
[[Fichier:Bandeau led.JPG | 150px]]
 +
[[Fichier:Systeme nerveux.JPG | 200px]]
  
 
===Étape 3 - Conception par ordinateur du corps===
 
===Étape 3 - Conception par ordinateur du corps===
  
[[Fichier:Capture d'écran 2025-01-20 162901.png | 400 px]]
+
Conception sur SOLIDWORKS puis on fait la mise en plan que l'on intègre à LightBurn pour la découpe laser.
 +
 
 +
[[Fichier:Capture d'écran 2025-01-20 162901.png | 450 px]]
 
[[Fichier:Capture d'écran 2025-01-20 162959.png | 400 px]]
 
[[Fichier:Capture d'écran 2025-01-20 162959.png | 400 px]]
  
Ligne 95 : Ligne 205 :
  
 
===Étape 5 - Collage des pièces en bois===
 
===Étape 5 - Collage des pièces en bois===
 +
 +
On colle les pièces découpées avec de la colle à bois. On veille à maintenir les pièces avec des serres joint le temps du séchage.
  
 
[[Fichier:IMG 5761.MOV | 500px]]
 
[[Fichier:IMG 5761.MOV | 500px]]
Ligne 100 : Ligne 212 :
 
===Étape 6 - Finalisation du système électronique et collage dans la boite===
 
===Étape 6 - Finalisation du système électronique et collage dans la boite===
  
[[Fichier:Collage.JPG | 300px]]
+
A l'aide du pistolet à colle, on colle les deux haut parleurs sur la boite.
 +
 
 +
[[Fichier:Collage.JPG | 250px]]
 
[[Fichier:Version finale.JPG | 300px]]
 
[[Fichier:Version finale.JPG | 300px]]
  
Ligne 107 : Ligne 221 :
 
A l'aide d'un lecteur, connecter la carte SD à un PC muni du logiciel Audacity. Dans ce logiciel, insérer les sons et musiques souhaités et les couper. Enfin, remettre la carte SD dans son emplacement.
 
A l'aide d'un lecteur, connecter la carte SD à un PC muni du logiciel Audacity. Dans ce logiciel, insérer les sons et musiques souhaités et les couper. Enfin, remettre la carte SD dans son emplacement.
  
===Troubleshouting===
+
==Publicité==
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?
 
 
 
==Sources et documentation complémentaire==
 
  
==Elémlent de présentation==
+
[[Fichier:Pubb.mp4 | 500px]]
je met ici le document de présentation de mon projet
 
  
 
==ne pas modifier sous cette ligne==
 
==ne pas modifier sous cette ligne==

Version actuelle datée du 21 janvier 2025 à 16:00

Titre de la fiche expérience :

Introduction et description du projet

La PikaSound System est une boîte en bois innovante et ludique conçue pour les amateurs de musique et d'ambiance. Ce dispositif unique s'anime d'un simple appui sur un bouton : une musique aléatoire se lance, accompagnée d’un éclairage LED d’ambiance qui s’éteint automatiquement à la fin de la chanson. Son fonctionnement repose sur une carte Arduino programmée, garantissant une expérience fluide et personnalisable. Dotée de deux haut-parleurs de 2W, elle offre un son de qualité, parfait pour égayer vos moments de détente. La PikaSound System fonctionne sur une batterie de 1500 mAh, lui conférant une grande autonomie et une mobilité optimale. Pour enrichir l’expérience, les musiques sont stockées sur une carte SD, permettant de changer ou d’ajouter des extraits musicaux selon vos envies. Elle est sponsorisée par Coreff et le Bartizanal. Enfin, alliant technologie et design artisanal, la PikaSound System est un véritable bijou d’ingéniosité et de créativité.

Les concepteurs

Adrian, Alexis et Lucas sont des étudiants ingénieurs soucieux de bien faire et d'apporter de la qualité dans le choix de leurs matériaux. Ils réalisent le corps de la PikaSound System à la main avec amour et bienveillance.

Ekip.JPG

Outils et matériel

- 8 écrous Ø5
- 8 vis Ø5 x L.10 mm
- planches de contreplaqué de 5 mm  d'épaisseur
- 1 batterie 5V de 1500 mAh
- 1 bandeau de 4 LED
- 2 haut-parleurs de 2W
- 1 carte programmable D1 mini
- 1 lecteur carte micro SD
- 1 carte micro SD 16Go
- 1 bouton poussoir Ø22
- 2 charnières imprimées en 3D
- 1 Résistance de 220Ω
- 1 Résistance de 10Ω

Fichiers

Plans de conception

Fichier LightBurn pour la découpe Laser

Media:Boite.zip

Fichier l'impression 3D des charnières

Media:Charnieres.zip

Câblage

Ci-dessous un exemple de Câblage.

Cablageee.png

Pour notre câblage il faudra rajouter :

  • 1 Haut parleur branché au même endroit que le premier haut parleur
  • 1 Bandeau LED avec le GND branché au GND, le 5V branché au 5V et le câble du milieu branché sur le PIN D2

Code Arduino

Il faudra bien penser à modifier à la ligne 45 le nombre de son sur la carte sinon ça ne marchera pas.

  1  
  2 ///////////////////////////
  3 //   PikaSound System    //
  4 //////////////////////////
  5 /*
  6 La PikaSound System est un dispositif qui tire un son au hasard et le joue.
  7 
  8                                      BROCHAGE
  9                                 _________________
 10                                /     D1 mini     \
 11                            -  |[ ]RST        TX[ ]| -
 12                            -  |[ ]A0  -GPIO  RX[ ]| -
 13                               |[ ]D0-16    5-D1[ ]| -
 14                 RX MP3-TF-16P |[X]D5-14    4-D2[ ]| -
 15 resistance 1K - TX MP3-TF-16P |[X]D6-12    0-D3[X]| - Bouton
 16                            -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN
 17                            -  |[ ]D8-15     GND[X]| - GND (Bouton, MP3-TF-16P)
 18                            -  |[ ]3V3 .      5V[X]| - MP3-TF-16P
 19                               |       +---+       |
 20                               |_______|USB|_______|
 21 
 22 
 23                                +-------\_/--------+
 24                            +5V |[X] MP3-TF-16P [ ]|
 25             resistance 1K - TX |[X]            [ ]|
 26                             RX |[X] __________ [ ]|
 27                                |[ ]|          |[ ]|
 28                                |[ ]|   CARTE  |[ ]|
 29                   Haut-Parleur |[X]|    SD    |[ ]|
 30                            GND |[X]|          |[ ]|
 31                   Haut-Parleur |[X]|          |[ ]|
 32                                |___|__________|___|
 33 
 34 */
 35 #include "Arduino.h"
 36 #include "SoftwareSerial.h"
 37 #include "DFRobotDFPlayerMini.h"
 38 #include <Adafruit_NeoPixel.h>
 39 
 40 SoftwareSerial mySoftwareSerial(14, 12); // RX, TX
 41 DFRobotDFPlayerMini myDFPlayer;
 42 
 43 long hasard;            // declaration d'une variable long
 44 int brocheBouton = 0;   // le GPIO 0 du D1 Mini est la broche D3
 45 int nombreDeSons = 14;   // indiquer le nombre de sons sur la carte SD. Chaque fichier est numeroté 00X.
 46 #define broche 4
 47 
 48 #define nbpixels 4
 49 #define delai 50 // durée de la pause en millisecondes
 50 Adafruit_NeoPixel pixels(nbpixels, broche, NEO_GRB + NEO_KHZ800);
 51 int sound = 5;
 52 
 53 void setup() {
 54   mySoftwareSerial.begin(9600);
 55   Serial.begin(115200); // initialise la connexion serie vers le PC a 115200 bauds
 56 
 57   Serial.println();
 58   Serial.println(F("Boite a  sons"));
 59   Serial.println(F("Initialisation du lecteur mp3 ... (peut prendre 3 a 5 secondes)"));
 60 
 61   if (!myDFPlayer.begin(mySoftwareSerial)) {  // utilise softwareSerial pour communiquer avec le MP3-TF-16P.
 62     Serial.println(F("Incapable de demarrer:"));
 63     Serial.println(F("1. Verifiez les connexions!"));
 64     Serial.println(F("2. Inserez la carte SD!"));
 65     while (true);
 66   }
 67   Serial.println(F("La Boite a sons est prete !"));
 68 
 69   myDFPlayer.setTimeOut(500); // place la communication serie time out 500ms
 70   myDFPlayer.volume(30);      // regle le volume (de 0 a 30).
 71   myDFPlayer.play(1);         // joue le premier fichier son.
 72 
 73   // Si la broche analogique 0 n'est pas connectee, le "bruit" analogique aleatoire
 74   // provoquera l'appel de l'instruction randomSeed() pour générer
 75   // différent nombre de départ à chaque exécution du programme.
 76   // randomSeed() brouillera alors la fonction aléatoire
 77 
 78   randomSeed(analogRead(0));
 79   pinMode (brocheBouton, INPUT_PULLUP);  // active la resistance de pull-up interne
 80   pinMode(sound, INPUT);
 81   pixels.begin();           // INITIALISE l'object ruban NeoPixel
 82   pixels.show();            // éteint tout les pixels aussi vite que possible.
 83   pixels.setBrightness(20); // met la luminosité à 1/5 (max = 255)
 84 
 85 }
 86 
 87 void loop() {
 88   
 89   if ( digitalRead(brocheBouton) == LOW ) // lorqu'on appuie sur le bouton
 90   {
 91     Serial.println("Appuis Bouton");      // info sur le moniteur serie
 92     myDFPlayer.next();                    // joue le son tire au hasard
 93   }
 94 
 95 
 96   if (digitalRead(sound)==LOW){
 97     for(int i=0; i<nbpixels; i++) { // Les pixels sont numérotés de 0 à ...
 98     pixels.setPixelColor(i, pixels.Color(255,255, 0)); // la couleur des pixel est fixée par trois paramètres RGB 
 99     // qui vont de de 0,0,0 à 255,255,255. Ici c'est un vert simple.
100     pixels.show();   // met à jour le ruban
101     delay(delai);    // Pause
102   }
103 
104     for(int i=nbpixels; i>-1; i--) { // Effacement des pixels
105     pixels.setPixelColor(i, pixels.Color(0, 0, 0)); // la couleur des pixel est fixée par trois paramètres RGB 
106     // Avec les valeurs 0,0,0 on éteint les pixels.
107     pixels.show();   // met à jour le ruban
108     delay(delai);    // Pause
109     }
110     
111   }
112 
113   
114   }

Étapes de fabrication

Étape 1 - Fabrication du premier prototype

Une photo du premier câblage de "test"

1er proto.JPG

Étape 2 - Ajout d'un deuxième haut-parleur et d'un bandeau LED

A l'aide du câblage, on ajoute un autre haut parleur et un bandeau LED d'ambiance

Bandeau led.JPG Systeme nerveux.JPG

Étape 3 - Conception par ordinateur du corps

Conception sur SOLIDWORKS puis on fait la mise en plan que l'on intègre à LightBurn pour la découpe laser.

Capture d'écran 2025-01-20 162901.png Capture d'écran 2025-01-20 162959.png

Étape 4 - Impression des charnières en 3D et découpe des planches en bois

Capture d'écran 2025-01-20 162941.png Vue eclatee.JPG

Étape 5 - Collage des pièces en bois

On colle les pièces découpées avec de la colle à bois. On veille à maintenir les pièces avec des serres joint le temps du séchage.

Étape 6 - Finalisation du système électronique et collage dans la boite

A l'aide du pistolet à colle, on colle les deux haut parleurs sur la boite.

Collage.JPG Version finale.JPG

Étape 7 - Ajout de sons dans la carte

A l'aide d'un lecteur, connecter la carte SD à un PC muni du logiciel Audacity. Dans ce logiciel, insérer les sons et musiques souhaités et les couper. Enfin, remettre la carte SD dans son emplacement.

Publicité

ne pas modifier sous cette ligne