Besoin d’aide pour modifier un programme SVP

Bonjour à tous.
Je suis un novice en Arduino et je n’y connais rien en programmation. Je viens donc soliciter votre aide SVP.
Pour résumer mon projet, en vrai geek fan de Ghostbusters je suis en train de réaliser une réplique de Proton Pack pour aller en convention. J’ai déjà un circuit lumières complet et fonctionnel contrôlé par un Arduino MEGA 2560 et un montage avec un Arduino UNO et une module carte Micro-SD type SMTMICROSD adapté aux cartes Arduino pour les effets sonores. Chaque Arduino à son propre programme. J’ai récupérés les schémas de branchement ainsi que les programmes sur un forum de fans de GB.
Mon problème est le suivant, avec ce système son, les effets sonores sont de piètre qualité (fichiers WAV Mono 16Khz 8 bits) et du coup je souhaiterais remplacer mon module Micro-SD par un module MP3 type DFRobot (fichiers sont de bonne qualité). Pour le branchement, pas de soucis, c’est simple, en revanche pour le programme, je suis totalement largué! L’idée serait de modifier le programme actuel de la UNO pour l’adapter à ce module MP3. Je sais que je pourrais aussi me passer la carte UNO et tout mettre sur le MEGA 2560 mais bon, si je trouve déjà quelqu’un pour modifier le code de la UNO ce serait super!

Donc voici le code à modifer :

//Proton Pack Sound Module V1.1 By ProtonGamer
#include <SD.h>                      
#include <SPI.h>
#define SD_ChipSelectPin 4  
#include <TMRpcm.h>           
 TMRpcm audio;
TMRpcm tmrpcm;  
char mega=11;
char other=9;



//Paramètres
char arduino_type = other; //Si vous avez un arduino Mega(2560) tapez "mega" sinon tapez "other"
int timeboot = 2200;       //Ceci permet de régler le temp d'attente au démarrage(fichier "boot.wav") en millisecondes exemple, si le son dure 2200 ms je met 2200 ms = 2.2 s.
int timesloblo = 850;      //C'est la même chose sauf que là c'est pour "sloblo.wav"
int timepackvent = 3700;   //C'est encore la même chose sauf que là c'est pour "packvent.wav"
int timeblast = 700;       //C'est encore la même chose sauf que là c'est pour "start.wav"
int timeblastoff = 1300;   //C'est encore la même chose sauf que là c'est pour "blastoff.wav"
//Fin des paramètres



//Ne pas modifier, sauf si vous êtes connaisseur :) 
 int SW1; 
 int SW2;
 int SW3;
 int SW4;
 int SW5;
 int time = 0;
 int time2 = 0;
 char time3 = 0;
 boolean act1a=0;
 boolean act2=0;
 boolean slbl=0;
 char music = 0;
 boolean activer =0;
unsigned char y=0;
 char state=3;
 char powersw = A5;
 boolean x=0;
 boolean x2=1;
 boolean x3=0;
 boolean x4=0;
 boolean D0=0;
 boolean act1=0;
 boolean loop1 =0;
 char cheat=1;
 boolean act3 = 0;
 boolean act4 = 0;
void setup(){
 pinMode(A0,INPUT); 
 pinMode(A1,INPUT);  
 pinMode(A2,INPUT);
 pinMode(6,INPUT); 
 pinMode(7,INPUT);  
 pinMode(powersw,0);
 pinMode(state,1);
  tmrpcm.speakerPin = arduino_type; 

  if (!SD.begin(SD_ChipSelectPin)) {  
  return;   
  }
 tmrpcm.volume(1);
 tmrpcm.setVolume(5);
 tmrpcm.quality(1);

 x=1;
 digitalWrite(state, 1);
}
 
void loop(){  
 SW1=digitalRead(A0); 
 SW2=digitalRead(A1);
 SW3=digitalRead(A2);
 SW4=digitalRead(7);
 SW5=digitalRead(6);
if(SW3 == 1 && SW2 == 0){
  delay(1000);
  music++;
 if(music == 1){
  tmrpcm.play("track001.wav");}
 if(music == 2){
  tmrpcm.play("track002.wav");}
 if(music == 3){
  tmrpcm.play("track003.wav");}
 if(music == 4){
  tmrpcm.play("track004.wav");}
 if(music == 5){
  tmrpcm.play("track005.wav");}
 if(music > 5){
  if(music == 6){
  tmrpcm.play("track006.wav");}
 if(music > 6){
  music = 0;}
 }
if(SW1 == 1 && SW2 ==0){
 tmrpcm.stopPlayback();}
 
 if(act1a==1){
act1=0;}   
 if(SW2 == 0 && act1 ==1 && act1a==0){
delay(10);
   act1a=1;
  loop1=0;
  audio.loop(0);
  tmrpcm.play("shutdown.wav");}
 if(SW2 == 1 && act1 == 0){
   act1=1;
   act1a=0;
     x =0;
  x2 =0;
  x3 =0;
  x4 =0;
  time = 0;
time2 = 0;
activer =0;
y=0;
state=3;
cheat=1;
  tmrpcm.play("boot.wav"); 
delay(timeboot);
loop1 = 1;}
if(loop1 == 1){
  packvent();
sloblo();
y++;
     if (SW1 == 1 && cheat==2 && x==1) { 
      blast();
}
  if(SW1 == 1 && cheat==3){
blastloop();
     }
  if (SW1 == 0 && cheat==1) { 
vent();
} 
    if(SW1== 0 && cheat == 4 && x3==1){  
    blastoff();
  }
    if(SW1 == 0 && x==0 && activer == 0){
      activer=1;
      time2=0;
      blastoff();}
      
if(SW1 == 1 && x==1 && x2==1 && x3==0 && x4==0 && cheat == 4 && time<1300){
  activer = 0;
  cheat = 2;
  time2=0;
  time = 0;
  x = 1;}
  
  
      
    if(time>=timeblastoff){
      cheat=1;
      activer=0;
      x=0;}
      
  if(time2>=timeblast && activer==0){
      cheat=3;}
      if(time>=timeblastoff && activer==1){
      x=0;
      x2=0;
      activer=0;}
      
if(SW1 == 1){
  time2++;}
  
  if(SW1 == 0 && activer == 1){
  time++;}


if(SW5 == 1){
  tmrpcm.play("overheat.wav");
      audio.loop(0);
  while(tmrpcm.isPlaying());
  }

delay(1);
}}
    
    void blast(){
      x=0;
      activer = 0; 
      tmrpcm.play("start.wav");
      audio.loop(0);
      }
      
      void blastloop(){
        cheat=4;
            activer=1;
    x3=1;
    x2=1;
    x=1;
    audio.loop(1);
     tmrpcm.play("stream1.wav");
     }
     
     void blastoff(){
    x4=0;
    x3=0;
    x2=1;
    tmrpcm.play("blastoff.wav");
    audio.loop(0);
  }
  
  void vent(){
    time=0;
      x4=1;
      cheat=2;
      x=1;
      time2=0;
      activer=0;
      tmrpcm.play("vent.wav");
      audio.loop(1);
      }
      
      void sloblo(){
        if(SW4 == 1 && slbl==0){
    slbl=1;
    tmrpcm.play("sloblo.wav");
    tmrpcm.loop(0);
    delay(timesloblo);
    act2=1;
  }
  if(SW4 == 0 && slbl==1){
    slbl=0;
    tmrpcm.play("sloblo.wav");
    tmrpcm.loop(0);
    delay(timesloblo);
    act2=1;
  }
   if(act2==1){
     act2=0;
     tmrpcm.play("vent.wav");
      audio.loop(1);}
      }
      
      void packvent(){
        if(SW3 == 1 && act3 ==0){
          act3=1;
          tmrpcm.play("packvent.wav");
          delay(timepackvent);
          act4=1;}
          if(act4==1){
            act4=0;
            act3=0;
            tmrpcm.play("vent.wav");
            tmrpcm.loop(1);}
        }

Quelqu’un pourrait-il me venir en aide SVP? J’ai essayé par moi même mais je n’y comprends vraiment rien au langage de programmation. Merci beaucoup pour votre aide.

Bonjour
Je n'ai jamais testé ces modules, mais je pense que ton code utilise la bibliothèque TMRpcm pour jouer les sons. Si tu veux utiliser un module MP3 DFRobot, il te faut utiliser la bibliothèque DFPlayer-Mini-mp3.
Tu trouveras des informations de bonne qualité ici.

Ton code est complexe à comprendre. Quelles sont tes connaissances en programmation ? et avec l'IDE ARduino ?

lesept:
Bonjour
Je n’ai jamais testé ces modules, mais je pense que ton code utilise la bibliothèque TMRpcm pour jouer les sons. Si tu veux utiliser un module MP3 DFRobot, il te faut utiliser la bibliothèque DFPlayer-Mini-mp3.
Tu trouveras des informations de bonne qualité ici.

Ton code est complexe à comprendre. Quelles sont tes connaissances en programmation ? et avec l’IDE ARduino ?

Bonjour. Merci pour le lien.
Pour faire court mes connaissances en programmation sont nulles, pas juste nulles parce que je ne suis pas top, nulles au sens littéral du terme. Je n’y connais rien du tout. J’ai entendu parlé d’Arduino la première fois il y a 2 semaines.
Le code que j’ai mis dans ma publication a été écrit par quelqu’un d’autre. Il fonctionne très bien soit dit en passant mais il faudrait le modifier pour remplacer le module carte SD basique par un module MP3 afin d’avoir des fichiers sons de meilleurs qualités.
Je cherche donc une bonne âme qui connaîtrait ce langage de programmation et qui accepterait de modifier ce code.

Pas facile à trouver ici... Pas parce qu'on n'est pas gentils, mais parce que ce forum sert pour que tu apprennes, pas pour y trouver des choses toutes faites.

Quelle est ton échéance (la convention dont tu parles) ?

Pour commencer à apprendre, les messages épinglés du forum pointent vers des sites de tutos très bien faits : ils te permettront de te former rapidement à l'Arduino (openclassrooms, eskimon). Quans tu auras parcouru ça et compris les bases de programmation, tu pourras commencer à expertiser ton code. Et tu trouveras de l'aide sur le forum...

Merci pour ces infos.