ENIB 2025 : Jack Box : Différence entre versions
(→Mettre du code Arduino) |
(→Mettre du code Arduino) |
||
Ligne 41 : | Ligne 41 : | ||
==fichiers à joindre== | ==fichiers à joindre== | ||
code, ficher d'impression 3D, de découpe laser ou vinyle, ... | code, ficher d'impression 3D, de découpe laser ou vinyle, ... | ||
− | === | + | ===Code Arduino=== |
<syntaxhighlight lang="Arduino" line> | <syntaxhighlight lang="Arduino" line> | ||
/** | /** |
Version du 22 janvier 2025 à 17:53
Titre de la fiche expérience :
Sommaire
Description
Notre équipe
- Louis MELOU
- Thomas BOURDAIS
- Ethan GUILLET
Dans le cadre de l'hackathon organiser par les Petits Débrouillards, nous vous présentons notre magnifique Jack Box !
Introduction
Outil et Matériel
Support
- Carton pour le prototype
- Bois pour le produit final
Lecteur MP3
Carte SD
Hautparleur
Boutons Poussoirs
LED
Breadboard
Fils
fichiers à joindre
code, ficher d'impression 3D, de découpe laser ou vinyle, ...
Code Arduino
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 }
89 /*
90 void GMF() {
91 timer = millis();
92
93 //presentation jeu
94 myDFPlayer.play(1); //intro jeu
95
96 //nb joueurs
97 if(bpJ==HIGH){
98 player = 1;
99 myDFPlayer.pause();
100 }
101 else if(bpB==HIGH){
102 player = 2;
103 myDFPlayer.pause();
104 }
105 else if(bpR==HIGH){
106 player = 3;
107 myDFPlayer.pause();
108 }
109 else if(bpG==HIGH){
110 player = 4;
111 myDFPlayer.pause();
112 }
113
114 //lance le jeu, 1ere manche
115 randNumber = random(50);
116 myDFPlayer.play(randNumber);
117 digitalWrite(ledJ, HIGH);
118
119 //fin du jeu à 5 points
120 if (timer - previousTime >= frequency ){
121 previousTime = timer;
122 if(isUp==0){
123 isUp=1;
124 }
125 else{
126 isUp==0;
127 }
128 }
129
130 if(player1==5){
131 if(isUp==0){
132 digitalWrite(ledJ, HIGH);
133 }
134 else{
135 digitalWrite(ledJ, LOW);
136 }
137 }
138
139 else if(player2==5){
140 if(isUp==0){
141 digitalWrite(ledB, HIGH);
142 }
143 else{
144 digitalWrite(ledB, LOW);
145 }
146 }
147
148 else if(player3==5){
149 if(isUp==0){
150 digitalWrite(ledR, HIGH);
151 }
152 else{
153 digitalWrite(ledR, LOW);
154 }
155 }
156
157 else if(player4==5){
158 if(isUp==0){
159 digitalWrite(ledG, HIGH);
160 }
161 else{
162 digitalWrite(ledG, LOW);
163 }
164 }
165 //Stop du jeu par le bouton start et retour au départ
166
167 if(start==HIGH){
168 state = "Home";
169 }
170 }*/
étapes de fabrication
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)
étape 1
étape 2
étape ...
Troubleshouting
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ément de présentation
je met ici le document de présentation de mon projet