lire un fichier son spécifique

Bonjour à tous,
je débarque dans cet univers qu'est le Arduino. Je trouve cette petite carte bleue fascinante ! J'ai plein d'idées à développer mais pour le moment, j'apprend à parler (ga bu zo meu)
En regroupant des codes trouvé un peu partout, j'ai bidouillé un capteur GSR pour mesurer la conductivité de la peau. En fonction de la valeur lu sur l'entrée analogique, une ou plusieurs led s'allument.
Maintenant, j'aimerais juste qu'au lieux des led, ce soit des fichiers sons qui soient lancés.
Pour cela, j'ai acheté un "music shield" de chez seeedstudio. Il fonctionne parfaitement (les fichiers sont lu les uns après les autres) mais je n'arrive pas a comprendre comment lancer UN SEUL fichier en particulier...
Si quelqu'un a une idée, ce serait génial parceque je sèche un peu là.

A bientôt

Bonjour,
Nous ne sommes pas des devins et les références de ta carte sont un peu légères.
Mais sur le site de "seeedstudio", tu trouves ce que tu veux (y compris la sélection du morceau que tu veux lire).
Consulte la page : http://www.seeedstudio.com/wiki/Music_Shield_V2.0
@+

Désolé pour la ref.
Donc, c'est bien un "music shield V2.0"
Sinon, j'imagine que ça doit être possible de lancer qu'un seul fichier son, mais je suis super méga débutant et je me mélange un peu les pinceaux dans l'écriture des programmes !
Est-ce que quelqu'un pourrait me donner un coup de main en intégrant ce qui suit (et qui me semble bien être le code pour lancer un fichier wave nommé "test") au code de mon capteur GSR que j'ai collé juste après. Dans ce code, des led s'allument en fonction des valeurs lu sur le pin analogique. Est-ce qu'il serait possible de me montrer comment changer ce code pour que quand analogVlue dépasse 600, ça lise le fichier "test" ?
Un grand merci à toute personne qui acceptera de mettre les mains dans le cambouis :wink:

#include <Fat16.h>
#include <Fat16Util.h>
#include <NewSPI.h>
#include <arduino.h>
#include "pins_config.h"
#include "vs10xx.h"
#include "newSDLib.h"
#include "MusicPlayer.h"
MusicPlayer myplayer;
void setup()
{
Serial.begin(9600);
myplayer.begin();//will initialize the hardware and set default mode to be normal.
}
void loop()
{
myplayer.setPlayMode(MODE_REPEAT_ONE);//set mode to repeat to play a song
myplayer.playSong("test.wav");//play a song named with test.wav
while(1);//If the mode is normal, it will stop when it finished playing all the songs in the playlist
}

// CODE capteur GSR à 5 LED

const int analogPin = A0; // pin où est connecté le capteur GSR
const int v50 = 50;
const int v100 = 100;
const int v200 = 200;
const int v400 = 400;
const int v600 = 600;

void setup() {
// initialize the LED pin as an output:
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);

// initialize serial communications:
Serial.begin(9600);
}

void loop() {
// lit les valeur du capteur GSR :
int analogValue = analogRead(analogPin);

// if the analog value is high enough, turn on the LED:
if (analogValue < v50) {
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);

}
else if (analogValue > v50 && analogValue < v100) {
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, HIGH);

}
else if (analogValue > v100 && analogValue < v200) {
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
}
else if (analogValue > v200 && analogValue < v400) {
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);

}
else if (analogValue > v400 && analogValue < v600) {
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);

}
else if (analogValue > v600) {
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);

}

// print the analog value:
Serial.println(analogValue);
delay(1);
}

Bonjour,

Un problème que je vois si tu veux fusionner ces deux sketches, c'est que d'après la documentation trouvée par Icare ton shield utilise déjà les pins D3 à D8 , D10 à D13 et A0 à A3. Donc pas question d'allumer des LEDs branchées à D10, D11, D12 et D13. Il faut les déplacer, mais il ne te reste plus beaucoup de pins disponibles.

J'ai fini par comprendre qu'il me fallait rajouter dans un nouvel onglet le sketch du shield musicshield. ça commence à rentrer...
Merci pour l'info des pin utilisés par le musicshield :wink: Effectivement, si le port A0 est déjà utilisé, ça explique pourquoi ça plante quand je le sollicite ! Comment as-tu eu ces infos ? J'ai du rater un truc. Il va me falloir connecter mon capteur ailleurs (A5 ça devrait etre bon non ?) Je vais essayer de trouver un fablab près de chez moi parceque je me rend compte que j'ai de sacrées lacunes...

Bonsoir,
Si le lien que j'avais mis pour ta carte est le bon, tu trouveras également le schéma sur la même page (http://www.seeedstudio.com/wiki/images/8/87/Music_Shield_Schematic.pdf)
Le schéma te précise toutes les pins utilisés au niveau de la carte Arduino
@+

Merci ypelletier beaucoup pour le tuyau ! Merci icare pour le plan qui m'avait effectivement échappé !
ça y'est , ça marche !!! Effectivement, il suffisait d'utiliser le pin A5.
Maintenant, j'ai d'autres problèmes ; mais qui n'en a pas... Le truc, c'est que ça me semble quasiment paranormal !
Je m'explique : mon "capteur" gsr est en fait très simple :
l'anode : un fil soudé sur une pièce de cuivre et connecté de l'autre coté au 5v
la cathode : un fil soudé sur une autre pièce de cuivre, connecté de l'autre coté au pin A5 et une résistance entre le A5 et le GND
Quand j'ouvre le moniteur, ça marche super bien. Un suite de 0 s'affichent et quand je touche simultanément les deux pièces de cuivre, je peux lire une valeur entre 0 et 1020 en fonction de la conductivité de la peau. Mais au bout d'un moment, le "bizarre" arrive : alors que je ne change rien au câblage ni au sketch, le moniteur commence à m'afficher des valeurs de plus en plus importante (200, 300 etc) quand je touche uniquement la cathode ! Je précise que rien ne touche l'anode et qu'elle n'est pas en contact avec une quelconque surface conductrice.
Une idée à ce phénomène plutôt étrange ? Je me serais "chargé" électriquement au bout d'un moment ?
A +

Bonsoir,
Cela n'a rien de paranormal, tu touches une entrée qui est sensible aux parasites.
Va voir les liens :
http://playground.arduino.cc//Main/CapacitiveSensor?from=Main.CapSense
http://playground.arduino.cc/Code/CapacitiveSensor
La résistance entre A5 et GND a quelle valeur ?
@+

Ce que je trouve bizarre, c'est le coté "évolutif" de la mesure : tout fonctionne parfaitement pendant quelques minutes, puis apparaissent des parasites alors que n'est changé.
La résistance est de 330 KOhms (vérifié au Ohmmetre)