Probleme avec Music shield V2

Bonjour,

Je suis bloqué sur mon programme qui consiste à allumer une LED avec 2 boutons ( 1 représentant 'l'ouverture des portes et l'autre la fermeture) et en meme temps émettre un son lors de l'action. L'interaction entre les boutons et la LED marchent parfaitement le seul problème c'est le son, lorsque j'appuis sur le bp 1 cela me fait bien ''ouverture des porte" mais pour le bp2 je n'entend rien et quand je rappuis sur le bp1 cela me fait ''fermeture des porte" donc le son ne fonction que sur le bp 1 alors que chaque bp doit avoir sa phrase spécifique.

Le code est pour un portail qui doit signaler de l'ouverture et fermeture des portes

Pour cela j'utilise:

  • une LED
  • 2 bouton poussoir
  • un casque ou haut parleur en fonction de ou je travaille ( en revanche en ce moment un casque)
  • carte Arduino avce music shiel v2
  • Module groove base shield
////////////////////////////////////////////// Music Shield //////////////////////////////// 

#include <SD.h>
#include <SPI.h>
#include <arduino.h>
#include <MusicPlayer.h>


///////////////////////////////////////// Capteur (bp)+LED ////////////////////////////////////////

int LED = 2;

int etatBouton1 = 0;         
int etatBouton2 = 0; 

const int bp1 = 3;     
const int bp2 = 7;


void setup(void) {

///////////////////////////////////// Capteur (bp)+LED ////////////////////////////////////////////
  
    pinMode (2,OUTPUT);
    pinMode (bp1,INPUT);
    pinMode (bp2,INPUT);

/////////////////////////////////// Music Shield ///////////////////////////////////////////////

  Serial.begin(9600);
  player.begin(); //will initialize the hardware and set default

  player.addToPlaylist("test.mp3"); //Lecture du fichier
  player.addToPlaylist("test.wma"); //Lecture du fichier sur window

  player.addToPlaylist("teste.mp3"); //Lecture du fichier
  player.addToPlaylist("teste.wma"); //Lecture du fichier sur window

}

void loop(void) {

////////////////////////////////////////////////////////////////////////////////////////////////// Capteur (bp)+LED //////////////////////////////////////////////////////////////////////////////////////////////

  etatBouton1 = digitalRead(bp1);
  etatBouton2 = digitalRead(bp2);

  if (etatBouton1 == HIGH) {     // capteur ouverture des portes 
    digitalWrite(LED, HIGH);  
    player.play();    //ouverture des portes 
    delay(2000);                   
  }
  else if (etatBouton2 == HIGH) {     // capteur fermeture des portes
    digitalWrite(LED, HIGH);  
    player.play();    //fermeture des portes
    delay(2000);                   
  }
    else {
    digitalWrite(LED, LOW); 
    }
    
 }

vous avez étudié les exemples de leur bibliothèque et regrardé les API disponibles dans leur classe ?

Oui, j'ai fais le code a partir d'un exemple dans la bibliothèque et j'ai ensuite rajouter le if, mais sinon le code de base provient de la bibliothèque.

J'ai regardé les autres exemples que propose la bibliothèque du Music Shield est rien de correspond à par celui que j'ai choisis comme base.

Pour les API, je ne vois pas ce que c'est, je suis débutante dans la programmation et je ne me rappel pas avoir vu ca auparavant :sweat_smile:

une API (Application Programming Interface) c'est la liste des fonctions disponibles dans votre bibliothèque.

que fait player.addToPlaylist() ?
que fait player.play() ?

d'accord je comprends mieux

player.addtoPlaylist() s'occupe d'ajouter le son/fichier audio dans le programme et player.play() lui va s'occuper de jouer le son donc ce sont les deux éléments importants dans la programmation du music Shield

A mon sens, addToPlaylist() ajoute un son à une playlist, et play() joue le premier morceau.
Ensuite un deuxième appel à play() joue le suivant.

As-tu simplement essayé l'exemple : switchSongWithName.ino

Quel intérêt d'avoir MP3 + WMA ? un seul format suffirait.

API très mal documentée ...

je vais essayer de voir avec cette exemple, je ne l'avais pas trouvé avant, merci de le proposer

Je pensais qu'il fallait les deux mais en effet un suffit je te remercie

Yuki0301:
... je ne l'avais pas trouvé avant...

heu c'est dans le lien des exemples ci dessus mentionné en #1.. prenez le temps de regarder chacun des exemples pour voir ce qu'ils font. Si vous avez besoin de sons différents, il faudra regarder l'exemple "playWithName" etc