Problème avec un module grove mp3 2.0

Bonjour, je suis en terminal sti2d et j'essaye actuellement de lire un fichier mp3 depuis mon module grove mp3 :

j'avais trouvé un programme sur [RESOLU] Utilisation du module Grove - MP3 v2.0 ? - Français - Arduino Forum et il me met une erreur :

// on inclut la librairie adaptée
#include <MP3Player_KT403A.h>

// l'arduino Mega dispo de plusieurs port séries matériels
// Serial: 0 (RX) and 1 (TX); le port Serial est connecté à l'USB qui va à l'ordinateur
// Serial 1: 19 (RX) and 18 (TX);
// Serial 2: 17 (RX) and 16 (TX);
// Serial 3: 15 (RX) and 14 (TX).
// (RX) c'est pour recevoir et (TX) transmettre des données séries TTL

// dans cet exemple je vais utiliser Serial1, donc les pin 19 pour Rx et 18 pour Tx
// la pin 19 du Mega sera donc connecté au Tx du module Grove
// la pin 18 du Mega sera donc connecté au Rx du module Grove

// modifier le MP3Player_KT403A.h de la librairie  pour avoir au début la variable mp3 en port hardware, pas softwareSerial
//   // #include <SoftwareSerial.h>// <-- commenter
//   // extern SoftwareSerial mp3; // <-- commenter
//   extern HardwareSerial mp3; // <-- redéfinir comme cela

HardwareSerial mp3 = Serial1; // la librairie attend une variable mp3.

void setup()
{
  // On parlera avec l'ordinateur à 115200 bauds, mettre la console à cette vitesse
  Serial.begin(115200);

  // le module grove est configré pour discuter à 9600 bauds, donc c'est la vitesse que l'on choisit
  mp3.begin(9600);

  // petit délai pour s'assurer que tout s'initialise bien
  delay(100);

  // On configure la libraire pour utiliser la carte SD
  SelectPlayerDevice(0x02);

  // On met le volume à 15, les valeurs admissibles sont entre 0 et 30
  SetVolume(15);

  Serial.println(F("------ Commmandes ------"));
  Serial.println(F("J\tJouer #1"));
  Serial.println(F("P\tPause"));
  Serial.println(F("C\tContinuer"));
  Serial.println(F(">\tSuivante"));
  Serial.println(F("<\tPrecedente"));
  Serial.println(F("B\tboucle sur toutes les chansons"));
  Serial.println(F("+\tAugmente le volume"));
  Serial.println(F("-\tDiminue le volume"));
  Serial.println(F("------------------------"));
}



void loop()
{
  int caractereRecu = 0;

  // On attend un ordre sur le port Série (à travers la console Série de l'IDE)
  while (Serial.available());
  caractereRecu = Serial.read();

  switch ((char) caractereRecu)
  {
    case 'j':
    case 'J':
      SpecifyMusicPlay(1); // index de la chanson entre 0 et 65535 (unsigned int - uint16_t)
      Serial.println("J");
      break;
    case 'p':
    case 'P':
      PlayPause();
      Serial.println("P");
      break;
    case 'c':
    case 'C':
      PlayResume();
      Serial.println("C");
      break;
    case '>':
      PlayNext();
      Serial.println(">");
      break;
    case '<':
      PlayPrevious();
      Serial.println("<");
      break;
    case 'b':
    case 'B':
      PlayLoop();
      Serial.println("B");
      break;
    case '+':
      IncreaseVolume();
      Serial.println("+");
      break;
    case '-':
      DecreaseVolume();
      Serial.println("-");
      break;
  }
  // éventuellement on affiche ce que nous dit le module mp3
  printReturnedData();
}

Mon erreur est la suivante :

Arduino : 1.8.5 (Windows 10), Carte : "Arduino/Genuino Uno"

LCDMP3Player:20: error: conflicting declaration 'HardwareSerial mp3'

HardwareSerial mp3 = Serial1; // la librairie attend une variable mp3.

^

In file included from C:\Users\ndidierj\AppData\Local\Temp\arduino_modified_sketch_827303\LCDMP3Player.ino:2:0:

F:\projet bac train\Arduino\arduino-1.8.5\portable\sketchbook\libraries\MP3Player_KT403A/MP3Player_KT403A.h:38:23: note: previous declaration as 'SoftwareSerial mp3'

extern SoftwareSerial mp3;

^

LCDMP3Player:20: error: 'Serial1' was not declared in this scope

HardwareSerial mp3 = Serial1; // la librairie attend une variable mp3.

^

Plusieurs bibliothèque trouvées pour "MP3Player_KT403A.h"
Utilisé : F:\projet bac train\Arduino\arduino-1.8.5\portable\sketchbook\libraries\MP3Player_KT403A
Non utilisé : F:\projet bac train\Arduino\arduino-1.8.5\libraries\MP3Player_KT403A
exit status 1
conflicting declaration 'HardwareSerial mp3'

Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

je n'est pas vraiment de connaissance en programmation du coup je suis perdu :confused:

Salut

Le problème est que ta bibliothèque attend un : extern SoftwareSerial mp3;

Dans ton sketch tu déclares un : HardwareSerial mp3 = Serial1;

Conflit >:(

Essaie plutôt de repartir d'un exemple sain, celui de la librairie d'origine.

@+

Plutôt que de t'attaquer à un gros morceaux dès le début, commence lentement :slight_smile:
Essaye déjà ça...

Je pense que ton problème vient du fait que tu utilises un code développé pour un Arduino MEGA sur un Genuino Uno, qui n'a qu'un seul port série matériel (le MEGA en a plusieurs). Il faut donc utiliser des ports logiciels et donc la bibliothèque SoftwareSerial (comme dans l'exemple que je te suggère).

j'utilise une arduino mega et j'arrive enfin à lire mon fichier mp3, mercii :wink:

comment pourrai je changer de musique en cours d'écoute, exemple passer de la musique 0 à la musique 1

Dans ton code, les commandes < et > servent à ça : avancer ou reculer d'un morceau

    case '>':
      PlayNext();
      Serial.println(">");
      break;
    case '<':
      PlayPrevious();
      Serial.println("<");
      break;