ENIB 2025 : PikaSound System : Différence entre versions
(→Outil et matériel) |
(→Publicité) |
||
(67 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 14 : | Ligne 14 : | ||
==Outils et matériel== | ==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=== | ||
+ | * Pièce 1 : [[Media:Pièce1.pdf]] | ||
+ | * Pièce 2 : [[Media:Pièce2.pdf]] | ||
+ | * Pièce 3 : [[Media:Pièce3.pdf]] | ||
+ | * Pièce 4 : [[Media:Pièce4.pdf]] | ||
+ | * Pièce 5 : [[Media:Pièce5.pdf]] | ||
+ | * Pièce 6 : [[Media:Pièce6.pdf]] | ||
+ | * Assemblage : [[Media:Assemblage1.pdf]] | ||
+ | |||
+ | ===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. | ||
+ | |||
+ | [[Fichier:Cablageee.png | 400px]] | ||
+ | |||
+ | 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. | ||
+ | |||
<syntaxhighlight lang="Arduino" line> | <syntaxhighlight lang="Arduino" line> | ||
− | # | + | /////////////////////////// |
− | #include < | + | // 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() { | ||
− | // | + | 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() { | ||
− | // | + | |
+ | 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> | ||
− | == | + | ==Étapes de fabrication== |
− | + | ||
+ | ===Étape 1 - Fabrication du premier prototype=== | ||
+ | |||
+ | Une photo du premier câblage de "test" | ||
+ | |||
+ | [[Fichier:1er proto.JPG | 300px]] | ||
+ | |||
+ | ===É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 | ||
+ | |||
+ | [[Fichier:Bandeau led.JPG | 150px]] | ||
+ | [[Fichier:Systeme nerveux.JPG | 200px]] | ||
+ | |||
+ | ===É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. | ||
+ | |||
+ | [[Fichier:Capture d'écran 2025-01-20 162901.png | 450 px]] | ||
+ | [[Fichier:Capture d'écran 2025-01-20 162959.png | 400 px]] | ||
+ | |||
+ | ===Étape 4 - Impression des charnières en 3D et découpe des planches en bois=== | ||
+ | |||
+ | [[Fichier:Capture d'écran 2025-01-20 162941.png | 518px]] | ||
+ | [[Fichier:Vue eclatee.JPG | 200px]] | ||
+ | |||
+ | ===É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]] | ||
+ | |||
+ | ===É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. | ||
+ | |||
+ | [[Fichier:Collage.JPG | 250px]] | ||
+ | [[Fichier:Version finale.JPG | 300px]] | ||
+ | |||
+ | ===É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é== |
− | + | [[Fichier:Pubb.mp4 | 500px]] | |
− | |||
==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 :
Sommaire
- 1 Introduction et description du projet
- 2 Les concepteurs
- 3 Outils et matériel
- 4 Fichiers
- 5 Étapes de fabrication
- 5.1 Étape 1 - Fabrication du premier prototype
- 5.2 Étape 2 - Ajout d'un deuxième haut-parleur et d'un bandeau LED
- 5.3 Étape 3 - Conception par ordinateur du corps
- 5.4 Étape 4 - Impression des charnières en 3D et découpe des planches en bois
- 5.5 Étape 5 - Collage des pièces en bois
- 5.6 Étape 6 - Finalisation du système électronique et collage dans la boite
- 5.7 Étape 7 - Ajout de sons dans la carte
- 6 Publicité
- 7 ne pas modifier sous cette ligne
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.
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
- Pièce 1 : Media:Pièce1.pdf
- Pièce 2 : Media:Pièce2.pdf
- Pièce 3 : Media:Pièce3.pdf
- Pièce 4 : Media:Pièce4.pdf
- Pièce 5 : Media:Pièce5.pdf
- Pièce 6 : Media:Pièce6.pdf
- Assemblage : Media:Assemblage1.pdf
Fichier LightBurn pour la découpe Laser
Fichier l'impression 3D des charnières
Câblage
Ci-dessous un exemple de Câblage.
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"
É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
É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.
Étape 4 - Impression des charnières en 3D et découpe des planches 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.
É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.
É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é