Passerelle.infini:toutestson
Sommaire
LE PROJET
Une quête sensible commence, à portée de mains: deux dispositifs. Ceux-ci sont des oeuvres et média pour créer une oeuvre sensorielle, en l'occurence, sonorisée et ce par le mouvement et la couleur. Ce projet est une création à partir de son(s) et de couleur(s) où chacun peut expérimenter les notions d'intérieur et d'extérieur à soi. L'utilisateur de ces objets est à la fois créateur et spectateur. Pas de passivité avec ces deux dispositifs vous pouvez ainsi voyager dans une autre dimension en écoutant seulement les différents modules sonores qui vous traverseront par le biais de la mouvance de votre propre corps ou par l'attraction d'une couleur sur laquelle vous aurez portez votre regard.
LE PUBLIC VISE
Tout public, avec un regard particulier envers les plus jeunes.
POURQUOI?
L'idée ici est de susciter les sens, la curiosité, la créativité. Créer un mouvement, une chorégraphie. Découvrir des sons qui nous sont étranger. Cohabiter avec l'espace qui nous entoure, en découvrir un autre ici et maintenant.
Le 1ER Dispositif serait une manière de générer du son dans un espace silencieux. Le 2ÈME dispositif serait un moyen de générer du son de manière plus solitaire (casque) dans un espace bruyant.
MONTAGE TECHNIQUE DES OBJETS
CUFF
Un manchon en polyéthylène moussé et cartonnage fermé avec du velcro.
Des matériaux électroniques :
- un capteur de position,
- un lecteur MP3 équipé d'une micro carte SD,
- un D1 mini,
- une batterie,
- un haut parleur
Code CUFF
1
2 /////////////////////
3 // TOUT EST SON //
4 /////////////////////
5 // TOUT EST SON est une Capteur de mouvement générateur de sons.
6 // Il a été réalisée dans le cadre du hackathon "Passerelle.infini" les 24 & 25 février 2022
7 // Le hackathon "Passerelle.infini" est organisé par le Centre d'Art Passerelle, Les petits débrouillards
8 // Avec la participation de Tyfenn Leluc - designeuse et Thibault Beugin formateur
9
10 // Le programme est inspiré du programme "Basic demo for accelerometer readings" de Adafruit MPU6050
11 /*
12
13 BROCHAGE
14 _________________
15 / D1 mini \
16 - |[ ]RST TX[ ]| -
17 - |[ ]A0 -GPIO RX[ ]| -
18 |[ ]D0-16 5-D1[X]| - SCL MPU6050
19 RX MP3-TF-16P |[X]D5-14 4-D2[X]| - SDA MPU6050
20 resistance 1K - TX MP3-TF-16P |[X]D6-12 0-D3[ ]| -
21 - |[ ]D7-13 2-D4[ ]| LED_BUILTIN
22 - |[ ]D8-15 GND[X]| - GND (MPU6050, MP3-TF-16P)
23 - |[ ]3V3 . 5V[X]| - MPU6050, MP3-TF-16P
24 | +---+ |
25 |_______|USB|_______|
26
27
28 +-------\_/--------+
29 +5V |[X] MP3-TF-16P [ ]|
30 resistance 1K - TX |[X] [ ]|
31 RX |[X] __________ [ ]|
32 |[ ]| |[ ]|
33 |[ ]| CARTE |[ ]|
34 Haut-Parleur |[X]| SD |[ ]|
35 GND |[X]| |[ ]|
36 Haut-Parleur |[X]| |[ ]|
37 |___|__________|___|
38
39
40
41 _________________
42 | MPU6050 ()|
43 +5V |[X]VCC |
44 GND |[X]GND G |
45 D1 |[X]SCL ___ Y |
46 D2 |[X]SDA | | | |
47 |[ ]XCA |___| 5 |
48 |[ ]XCL . 2 |
49 |[ ]ADO Y 1 |
50 |[ ]INT ->X | |
51 |_______________()|
52
53
54 Matériel :
55 - des fils dupont.
56 - un Wemos D1 mini
57 - un lecteur MP3 MP3-TF-16P
58 - une carte SD microSD
59 - un shield batterie 18650
60 - une batterie 18650
61 - un cable USB
62 - un capteur gyroscopique GY-521 MPU6050
63
64 ___
65 / ___ \
66 |_| | |
67 /_/
68 _ ___ _
69 |_| |___|_| |_
70 ___|_ _|
71 |___| |_|
72 Les petits Débrouillards - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
73 Antony Le Goïc-Auffret 25 février 2022
74 */
75
76
77 #include <Adafruit_MPU6050.h>
78 #include <Adafruit_Sensor.h>
79 #include <Wire.h>
80 #include "Arduino.h"
81 #include "SoftwareSerial.h"
82 #include "DFRobotDFPlayerMini.h"
83
84 // D6 est le RX du ESP8266, connecte au TX du MP3-TF-16P
85 // D5 est le TX du ESP8266, connecte au RX du MP3-TF-16P
86 SoftwareSerial mySoftwareSerial(14, 12); // RX, TX
87 DFRobotDFPlayerMini myDFPlayer;
88
89 long hasard; // declaration d'une variable long
90 int nombreDeSons = 4; // indiquer le nombre de sons sur la carte SD. Chaque fichier est numeroté 00X.
91
92
93 Adafruit_MPU6050 mpu;
94
95 float X;
96 float Y;
97 float Z;
98
99 int son = 0;
100
101 void initialisation(){
102 Serial.println();
103 Serial.println(F("TOUT EST SON"));
104 Serial.println(F("Initialisation du lecteur mp3 ... (peut prendre 3 a 5 secondes)"));
105
106 if (!myDFPlayer.begin(mySoftwareSerial)) { // utilise softwareSerial pour communiquer avec le MP3-TF-16P.
107 Serial.println(F("Incapable de demarrer:"));
108 Serial.println(F("1. Verifiez les connexions!"));
109 Serial.println(F("2. Inserez la carte SD!"));
110 while (true);
111 }
112 Serial.println(F("TOUT EST SON est prêt !"));
113
114 myDFPlayer.setTimeOut(500); // place la communication serie time out 500ms
115 myDFPlayer.volume(26); // regle le volume (de 0 a 30).
116 myDFPlayer.play(1); // joue le premier fichier son.
117 }
118
119 void setup(void) {
120 mySoftwareSerial.begin(9600);
121 Serial.begin(115200);
122
123 while (!Serial)
124 delay(10); // will pause Zero, Leonardo, etc until serial console opens
125
126 Serial.println("Adafruit MPU6050 test!");
127
128 // Try to initialize!
129 if (!mpu.begin()) {
130 Serial.println("Failed to find MPU6050 chip");
131 while (1) {
132 delay(10);
133 }
134 }
135 Serial.println("MPU6050 Found!");
136
137 mpu.setAccelerometerRange(MPU6050_RANGE_8_G);
138 Serial.print("Accelerometer range set to: ");
139 switch (mpu.getAccelerometerRange()) {
140 case MPU6050_RANGE_2_G:
141 Serial.println("+-2G");
142 break;
143 case MPU6050_RANGE_4_G:
144 Serial.println("+-4G");
145 break;
146 case MPU6050_RANGE_8_G:
147 Serial.println("+-8G");
148 break;
149 case MPU6050_RANGE_16_G:
150 Serial.println("+-16G");
151 break;
152 }
153 mpu.setGyroRange(MPU6050_RANGE_500_DEG);
154 Serial.print("Gyro range set to: ");
155 switch (mpu.getGyroRange()) {
156 case MPU6050_RANGE_250_DEG:
157 Serial.println("+- 250 deg/s");
158 break;
159 case MPU6050_RANGE_500_DEG:
160 Serial.println("+- 500 deg/s");
161 break;
162 case MPU6050_RANGE_1000_DEG:
163 Serial.println("+- 1000 deg/s");
164 break;
165 case MPU6050_RANGE_2000_DEG:
166 Serial.println("+- 2000 deg/s");
167 break;
168 }
169
170 mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
171 Serial.print("Filter bandwidth set to: ");
172 switch (mpu.getFilterBandwidth()) {
173 case MPU6050_BAND_260_HZ:
174 Serial.println("260 Hz");
175 break;
176 case MPU6050_BAND_184_HZ:
177 Serial.println("184 Hz");
178 break;
179 case MPU6050_BAND_94_HZ:
180 Serial.println("94 Hz");
181 break;
182 case MPU6050_BAND_44_HZ:
183 Serial.println("44 Hz");
184 break;
185 case MPU6050_BAND_21_HZ:
186 Serial.println("21 Hz");
187 break;
188 case MPU6050_BAND_10_HZ:
189 Serial.println("10 Hz");
190 break;
191 case MPU6050_BAND_5_HZ:
192 Serial.println("5 Hz");
193 break;
194 }
195
196 Serial.println("");
197 delay(100);
198
199 initialisation();
200 }
201
202 void loop() {
203
204 /* Get new sensor events with the readings */
205 sensors_event_t a, g, temp;
206 mpu.getEvent(&a, &g, &temp);
207
208 X = a.acceleration.x;
209 Y = a.acceleration.y;
210 Z = a.acceleration.z;
211
212 /* Print out the values */
213 Serial.print("Acceleration X: ");
214 Serial.print(X);
215 Serial.print(", Y: ");
216 Serial.print(Y);
217 Serial.print(", Z: ");
218 Serial.print(Z);
219 Serial.println(" m/s^2");
220
221 Serial.println("");
222 delay(500);
223 // déclenchement X
224 if ((abs(X)>8) & (abs(Y)<8) &(abs(Z)<8)) {
225 son = 1;
226 Serial.print("son = ");
227 Serial.println(son);
228 myDFPlayer.play(son); // joue le fichier son.
229 }
230 // déclenchement Y
231 if ((abs(X)<8) & (abs(Y)>8) &(abs(Z)<8)) {
232 son = 2;
233 Serial.print("son = ");
234 Serial.println(son);
235 myDFPlayer.play(son); // joue le fichier son.
236 }
237 // déclenchement Z
238 if ((abs(X)<8) & (abs(Y)<8) &(abs(Z)>8)) {
239 son = 3;
240 Serial.print("son = ");
241 Serial.println(son);
242 myDFPlayer.play(son); // joue le fichier son.
243 }
244 }
WAVE
un détecteur composé de carton alvéolé double cannelure
des matériaux électroniques :
- un bouton poussoir,
- un capteur de Couleur GY-31,
- une batterie,
- un D1 mini,
- un lecteur MP3 équipé d'une micro carte SD,
- un haut parleur
- capteur de Couleur GY-31 : tuto https://electroniqueamateur.blogspot.com/2020/09/capteur-de-couleurs-tcs3200-gy-31-et.html
- lecteur mp3/Wave :https://www.wikidebrouillard.org/wiki/Item:DFPlayer_Lecteur_MP3
Code WAVE
1