(Page créée avec « {{Tuto Details |Main_Picture=Far-Feuille-Eu_-_Son_et_lumi_re_g_n_r__par_l_activit___lectrique_d_une_plante_IMG_2201.JPG |Description=<translate>Prototype réalisé par l'... ») |
|||
Line 28: | Line 28: | ||
{{Tuto Step | {{Tuto Step | ||
|Step_Title=<translate>Réalisez le capteur de biodata émetteur de musique</translate> | |Step_Title=<translate>Réalisez le capteur de biodata émetteur de musique</translate> | ||
− | |Step_Content=<translate></translate> | + | |Step_Content=<translate>Il vous faudra, suivant votre expertise, entre une heure et une demi-journée pour assembler, tester et faire fonctionner le capteur de biodata permettant de relier toute application de synthétiseur bluetooth avec une plante. |
+ | |||
+ | |||
+ | [http://wikifab.org/wiki/Capteur_BioData_pour_ESP32 Commencez donc avec le tuto de Stéphane Godin et réalisez ce capteur.]</translate> | ||
+ | |Step_Picture_00=MUTED_-_boitier_biodata_vers_module_de_synth_tiseur_analogique_esp32-so.png | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
|Step_Title=<translate>Lancez les impression 3D</translate> | |Step_Title=<translate>Lancez les impression 3D</translate> | ||
− | |Step_Content=<translate> | + | |Step_Content=<translate>Mesurez votre pot de fleur ou les dimensions nécessaires pour pouvoir intégrer votre plante, puis allez chercher le fichier pour le socle, et le fichier pour le dôme. |
+ | |||
+ | |||
+ | Il n'y a pas de contraintes physiques donc vous pouvez utiliser un taux de remplissage faible (20%). Par contre, l'impression peut prendre beaucoup de temps.</translate> | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
|Step_Title=<translate>Intégrez le code source arduino et chargez-le dans le module esp32</translate> | |Step_Title=<translate>Intégrez le code source arduino et chargez-le dans le module esp32</translate> | ||
− | |Step_Content=<translate></translate> | + | |Step_Content=<translate>Ci-dessous le code-source développé par Jacques lors du hackathon. |
+ | |||
+ | |||
+ | Vous pouvez aussi télécharger ce fichier .ino et l'ouvrir avec le logiciel arduino, avec les mêmes paramètres que dans le mode d'emploi de Stéphane Godin, puis l'envoyer dans la carte ESP32. | ||
+ | <br /><syntaxhighlight lang="arduino"> | ||
+ | |||
+ | #define PIN1_RED 25 // GIOP25 | ||
+ | #define PIN1_GREEN 26 // GIOP26 | ||
+ | #define PIN1_BLUE 27 // GIOP27 | ||
+ | |||
+ | #define PIN2_RED 35 // GIOP25 | ||
+ | #define PIN2_GREEN 32 // GIOP26 | ||
+ | #define PIN2_BLUE 33 // GIOP27 | ||
+ | |||
+ | #define PIN3_RED 36 // GIOP25 | ||
+ | #define PIN3_GREEN 39 // GIOP26 | ||
+ | #define PIN3_BLUE 34 // GIOP27 | ||
+ | |||
+ | #define R_channel 0 | ||
+ | #define G_channel 1 | ||
+ | #define B_channel 2 | ||
+ | |||
+ | #define pwm_frequency 5000 // frequence pwm | ||
+ | #define pwm_resolution 8 // 8 bit resolution | ||
+ | |||
+ | //############################## | ||
+ | void setup() | ||
+ | { | ||
+ | pinMode(PIN1_RED, OUTPUT); | ||
+ | pinMode(PIN1_GREEN, OUTPUT); | ||
+ | pinMode(PIN1_BLUE, OUTPUT); | ||
+ | |||
+ | pinMode(PIN2_RED, OUTPUT); | ||
+ | pinMode(PIN2_GREEN, OUTPUT); | ||
+ | pinMode(PIN2_BLUE, OUTPUT); | ||
+ | |||
+ | pinMode(PIN3_RED, OUTPUT); | ||
+ | pinMode(PIN3_GREEN, OUTPUT); | ||
+ | pinMode(PIN3_BLUE, OUTPUT); | ||
+ | |||
+ | |||
+ | ledcAttachPin (PIN1_RED, R_channel); | ||
+ | ledcAttachPin (PIN1_GREEN, G_channel); | ||
+ | ledcAttachPin (PIN1_BLUE, B_channel); | ||
+ | |||
+ | ledcAttachPin (PIN2_RED, R_channel); | ||
+ | ledcAttachPin (PIN2_GREEN, G_channel); | ||
+ | ledcAttachPin (PIN2_BLUE, B_channel); | ||
+ | |||
+ | ledcAttachPin (PIN3_RED, R_channel); | ||
+ | ledcAttachPin (PIN3_GREEN, G_channel); | ||
+ | ledcAttachPin (PIN3_BLUE, B_channel); | ||
+ | |||
+ | ledcSetup(R_channel, pwm_frequency,pwm_resolution); | ||
+ | ledcSetup(G_channel, pwm_frequency,pwm_resolution); | ||
+ | ledcSetup(B_channel, pwm_frequency,pwm_resolution); | ||
+ | |||
+ | } | ||
+ | |||
+ | void loop() | ||
+ | { | ||
+ | //Correspondance des frequences des notes en hertz (octave à 0) et la couleurs | ||
+ | Serial.println (note.value); | ||
+ | if (note.value == 36) //Do | ||
+ | { | ||
+ | setColor(237, 0, 0); // RGB_Ecarlate | ||
+ | } | ||
+ | else if (note.value == 37) //Do# | ||
+ | { | ||
+ | setColor(255, 0, 0); //RGB rouge | ||
+ | } | ||
+ | else if (note.value == 38) //Ré_Orange | ||
+ | { | ||
+ | setColor(255, 165, 0); //RGB_Ornage | ||
+ | } | ||
+ | else if (note.value == 39) //Ré#_Jaune | ||
+ | { | ||
+ | setColor(255, 255, 0); //RGB_Jaune | ||
+ | } | ||
+ | else if (note.value == 40) //Mi_Citron | ||
+ | { | ||
+ | setColor(0, 255, 0); //RGB_Citron | ||
+ | } | ||
+ | else if (note.value == 41) //Fa_Vert | ||
+ | { | ||
+ | setColor(0, 128, 0); //RGB_Vert | ||
+ | } | ||
+ | else if (note.value == 42) //Fa#_Turquoise | ||
+ | { | ||
+ | setColor(0, 206, 209); //RGB_Turquoise | ||
+ | } | ||
+ | else if (note.value == 43) //Sol | ||
+ | { | ||
+ | setColor(0, 255, 255); //RGB_Cyan | ||
+ | } | ||
+ | else if (note.value == 44) //Sol#_Indigo | ||
+ | { | ||
+ | setColor(75, 0, 130); //RGB_Indigo | ||
+ | } | ||
+ | else if (note.value == 45) //La_Bleu | ||
+ | { | ||
+ | setColor(0, 0, 255); //RGB_Bleu | ||
+ | } | ||
+ | else if (note.value == 46) //La#_Pourpre | ||
+ | { | ||
+ | setColor(176, 224, 230); //RGB_Pourpre | ||
+ | } | ||
+ | else if (note.value == 47) //Si | ||
+ | { | ||
+ | setColor(255, 0, 255); //RGB_Mangenta | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void setColor(int R, int G, int B) | ||
+ | { | ||
+ | ledcWrite(R_channel,R); | ||
+ | ledcWrite(G_channel,G); | ||
+ | ledcWrite(B_channel,B); | ||
+ | |||
+ | } | ||
+ | </syntaxhighlight></translate> | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
|Step_Title=<translate>Cablez les leds rgb</translate> | |Step_Title=<translate>Cablez les leds rgb</translate> | ||
− | |Step_Content=<translate></translate> | + | |Step_Content=<translate>Comme on le voit dans le code source de l'étape 3, il faut connecter les Leds RGB sur les broches numéros : |
+ | |||
+ | |||
+ | R-> | ||
+ | |||
+ | G-> | ||
+ | |||
+ | B-> | ||
+ | |||
+ | |||
+ | Cela peut se faire à partir de la planche de prototypage utilisée pour réaliser le capteur de biodata. | ||
+ | |||
+ | <br /></translate> | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
Line 50: | Line 189: | ||
}} | }} | ||
{{PageLang | {{PageLang | ||
+ | |Language=fr | ||
|SourceLanguage=none | |SourceLanguage=none | ||
|IsTranslation=0 | |IsTranslation=0 | ||
− | |||
}} | }} | ||
{{Tuto Status | {{Tuto Status | ||
|Complete=Draft | |Complete=Draft | ||
}} | }} |
Author Hugobiwan | Last edit 22/12/2021 by Hugobiwan
Biodata, forgeCC, Arduino, MIDI Far-Feuille-Eu_-_Son_et_lumi_re_g_n_r__par_l_activit___lectrique_d_une_plante_IMG_2201.JPG Création
Ce prototype réalisé en deux jours nécessite de fabriquer le capteur de biodata permettant de capter les variations d'activité électriques dans une plante (versin de Stéphane Godin) pour les transformer en notes de musiques envoyées au format midi, via bluetooth.
Il consiste dans un socle et un dôme à imprimer en 3d, avec la plante à l'intérieur, avec du papier d'aluminium pour réaliser des réflecteurs, et des petites lumières à couleur programmables (leds RGB), reliées au montage pour piloter les couleurs.
Il vous faudra, suivant votre expertise, entre une heure et une demi-journée pour assembler, tester et faire fonctionner le capteur de biodata permettant de relier toute application de synthétiseur bluetooth avec une plante.
Commencez donc avec le tuto de Stéphane Godin et réalisez ce capteur.
Mesurez votre pot de fleur ou les dimensions nécessaires pour pouvoir intégrer votre plante, puis allez chercher le fichier pour le socle, et le fichier pour le dôme.
Il n'y a pas de contraintes physiques donc vous pouvez utiliser un taux de remplissage faible (20%). Par contre, l'impression peut prendre beaucoup de temps.
Ci-dessous le code-source développé par Jacques lors du hackathon.
Vous pouvez aussi télécharger ce fichier .ino et l'ouvrir avec le logiciel arduino, avec les mêmes paramètres que dans le mode d'emploi de Stéphane Godin, puis l'envoyer dans la carte ESP32.
#define PIN1_RED 25 // GIOP25
#define PIN1_GREEN 26 // GIOP26
#define PIN1_BLUE 27 // GIOP27
#define PIN2_RED 35 // GIOP25
#define PIN2_GREEN 32 // GIOP26
#define PIN2_BLUE 33 // GIOP27
#define PIN3_RED 36 // GIOP25
#define PIN3_GREEN 39 // GIOP26
#define PIN3_BLUE 34 // GIOP27
#define R_channel 0
#define G_channel 1
#define B_channel 2
#define pwm_frequency 5000 // frequence pwm
#define pwm_resolution 8 // 8 bit resolution
//##############################
void setup()
{
pinMode(PIN1_RED, OUTPUT);
pinMode(PIN1_GREEN, OUTPUT);
pinMode(PIN1_BLUE, OUTPUT);
pinMode(PIN2_RED, OUTPUT);
pinMode(PIN2_GREEN, OUTPUT);
pinMode(PIN2_BLUE, OUTPUT);
pinMode(PIN3_RED, OUTPUT);
pinMode(PIN3_GREEN, OUTPUT);
pinMode(PIN3_BLUE, OUTPUT);
ledcAttachPin (PIN1_RED, R_channel);
ledcAttachPin (PIN1_GREEN, G_channel);
ledcAttachPin (PIN1_BLUE, B_channel);
ledcAttachPin (PIN2_RED, R_channel);
ledcAttachPin (PIN2_GREEN, G_channel);
ledcAttachPin (PIN2_BLUE, B_channel);
ledcAttachPin (PIN3_RED, R_channel);
ledcAttachPin (PIN3_GREEN, G_channel);
ledcAttachPin (PIN3_BLUE, B_channel);
ledcSetup(R_channel, pwm_frequency,pwm_resolution);
ledcSetup(G_channel, pwm_frequency,pwm_resolution);
ledcSetup(B_channel, pwm_frequency,pwm_resolution);
}
void loop()
{
//Correspondance des frequences des notes en hertz (octave à 0) et la couleurs
Serial.println (note.value);
if (note.value == 36) //Do
{
setColor(237, 0, 0); // RGB_Ecarlate
}
else if (note.value == 37) //Do#
{
setColor(255, 0, 0); //RGB rouge
}
else if (note.value == 38) //Ré_Orange
{
setColor(255, 165, 0); //RGB_Ornage
}
else if (note.value == 39) //Ré#_Jaune
{
setColor(255, 255, 0); //RGB_Jaune
}
else if (note.value == 40) //Mi_Citron
{
setColor(0, 255, 0); //RGB_Citron
}
else if (note.value == 41) //Fa_Vert
{
setColor(0, 128, 0); //RGB_Vert
}
else if (note.value == 42) //Fa#_Turquoise
{
setColor(0, 206, 209); //RGB_Turquoise
}
else if (note.value == 43) //Sol
{
setColor(0, 255, 255); //RGB_Cyan
}
else if (note.value == 44) //Sol#_Indigo
{
setColor(75, 0, 130); //RGB_Indigo
}
else if (note.value == 45) //La_Bleu
{
setColor(0, 0, 255); //RGB_Bleu
}
else if (note.value == 46) //La#_Pourpre
{
setColor(176, 224, 230); //RGB_Pourpre
}
else if (note.value == 47) //Si
{
setColor(255, 0, 255); //RGB_Mangenta
}
}
void setColor(int R, int G, int B)
{
ledcWrite(R_channel,R);
ledcWrite(G_channel,G);
ledcWrite(B_channel,B);
}
Comme on le voit dans le code source de l'étape 3, il faut connecter les Leds RGB sur les broches numéros :
R->
G->
B->
Cela peut se faire à partir de la planche de prototypage utilisée pour réaliser le capteur de biodata.
fr none 0 Draft
You entered an invalid page name, with one or many of the following characters :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #