ENIB 2025 : Jack Box
Titre de la fiche expérience :
Sommaire
Description
Notre équipe
Dans le cadre de l'hackathon organisé par les Petits Débrouillards, nous vous présentons notre magnifique Jack Box !
Outil et Matériel
**Quantité** | **Matériel/Outil** |
---|---|
1 | Support
|
1 | Carte Arduino LOLIN(WEMOS) D1 R2 &mini |
1 | Lecteur DFPlayer mini MP3 |
1 | Batterie externe pour l'alimentation |
1 | Câble USB-A vers USB-B mini |
1 | Carte SD |
1 | Hautparleur |
4 | Boutons Poussoirs |
4 | LED RGB |
1 | Breadboard |
/ | Fils |
Code Arduino
Premier code arduino permettant de créer des sons:
1
2 /**
3 _________________
4 / D1 mini \
5 |[ ]RST TX[ ]|
6 |[ ]A0 -GPIO RX[ ]|
7 |[ ]D0-16 5-D1[ ]| SCL
8 |[ ]D5-14 4-D2[ ]| SDA
9 |[ ]D6-12 0-D3[ ]|
10 |[ ]D7-13 2-D4[ ]| LED_BUILTIN
11 |[ ]D8-15 GND[ ]|
12 |[ ]3V3 . 5V[ ]|
13 | +---+ |
14 |_______|USB|_______|
15
16 */
17 #include <SoftwareSerial.h>
18 #include <DFRobotDFPlayerMini.h>
19
20 SoftwareSerial mySoftwareSerial(D5, D6); // TX, RX
21 DFRobotDFPlayerMini myDFPlayer ;
22
23 const int start = 16; //start D0
24 const int bpJ = 5; //bouton 1 D1
25 const int bpB = 4; //bouton 2 D2
26 const int bpR = 0; //bouton 3 D3
27 const int bpG = 2; //bouton 4 D4
28
29
30
31 const int led = 15; //led D8
32
33 const int busy = 13; //etat son busy D7
34
35 int player = 0;
36 int player1 = 0;
37 int player2 = 0;
38 int player3 = 0;
39 int player4 = 0;
40
41 unsigned long previousTime = 0;
42 unsigned long timer = 0;
43 const unsigned long frequency=100;
44
45 int randNumber = 0;
46 int musicState = 0;
47 int isUp = 0;
48
49 //char game[]="";
50
51 void setup() {
52 // put your setup code here, to run once:
53 Serial.begin(115200);
54 /*pinMode(start, INPUT);
55 pinMode(bpJ, INPUT);
56 pinMode(bpB, INPUT);
57 pinMode(bpR, INPUT);
58 pinMode(bpG, INPUT);
59 pinMode(ledJ, OUTPUT);
60 pinMode(ledB, OUTPUT);
61 pinMode(ledR, OUTPUT);
62 pinMode(ledG, OUTPUT);*/
63 pinMode(busy, INPUT);
64 mySoftwareSerial.begin(9600) ;
65 myDFPlayer.begin(mySoftwareSerial) ;
66 }
67
68 void loop() {
69 // put your main code here, to run repeatedly:
70 // Joue la premiere chanson de la carte SD pendant 10 secondes
71 myDFPlayer.setTimeOut(500) ;
72
73 myDFPlayer.volume(10) ; // fixe le son à 10 (maximum)
74
75 test();
76 }
77
78
79 void test(){
80 timer = millis();
81
82 //presentation jeu
83 myDFPlayer.play(1); //intro jeu
84
85
86 Serial.println(digitalRead(busy));
87
88 }
étapes de fabrication
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)
étape 1
En premier lieu nous avons imaginé un hack sur la base du kit 'Boxson' donné par les Petits débrouillards.
Nous avons, au départ, choisi de construire la Jack Box une boîte à jeu contenant 4 mini-jeux qui sont les suivants :
Un Simon; Un Mastermind; Un Quiz et Un Guess My Fart.
étape 2
Nous sommes ensuite passés au premier prototype ce qui nous a permis de nous rendre compte des dimensions nécessaires au bon fonctionnement de la Jack Box :
étape 3
Une fois une idée claire du design de la Jack Box en tête, nous avons commencé à construire la version finale de notre projet tout en câblant les différents composants électroniques à la carte arduino :
Troubleshouting
Dans ce projet, c'est la carte qui nous a apporté le plus de difficultés.
En effet, la gestion des sons grâce au lecteur MP3 nous a donné du fil à retordre !
Nous avons beaucoup mis du temps avant de pouvoir entendre un son sortir du hautparleur et encore plus de temps pour le maîtriser.
A cause de ces malheureuses complications, nous n'avons pas pu finir ce projet.
Nous sommes passés de 4 mini-jeux à 2 mini-jeux dont les programmes ne sont pas fonctionnels.
Sources et documentation complémentaire
Elément de présentation
Nous vous invitons à télécharger notre affiche de présentation de la JACK BOX
ne pas modifier sous cette ligne