Ayuda - proy. para al pasar un RFID escuchar un fichero MP3 usando NBGVFUINJ

Buenas,

Hemos creado un proyecto por el cual varios usuarios con sus tarjetas RFID, usan estas para escuchar un mp3 personalizado a la tarjeta.
Componentes:
Arduino UNO
NBCVFUINJ amplificador módulo de placa descodificador tarjeta U disco MP3.
doble Relé
USB con 12 ficheros MP3
RFID reader

Los problemas que tenemos son:
-Al pasar una tarjeta reproduce los 12 ficheros mp3.
-La placa no tiene librerias propias que hayamos encontrado.
-El botón "prev" y "next" de la placa sirve como controlador de volumen.

//incluir librerias necesarias para:
// tarjeta RDIFF
#include <SPI.h> 
#include <MFRC522.h>

// Uso del USB de audio (speaker)
#define SS_PIN 10 //Esto define el pin 10 como el del sensor.
#define RST_PIN 9 //Esto define el pin 9 como el de reset.
MFRC522  mfrc522(SS_PIN, RST_PIN); //Creamos la instancia mfrc522 

int siguientePin = 3; //definición del pin que usaremos como "next"
int pausePin = 4; //definición del pin que usaremos como "play/pausa"
void setup() { 
  // inicializar variables y funciones.
  Serial.begin(9600); //Se inicia la comunicación con el sensor.
  SPI.begin(); //Se inicia el puerto SPI
  mfrc522.PCD_Init(); //Se inician las tarjetas
  Serial.println("Acerca la tarjeta al sensor");
  Serial.println(); //Se cambia de línea
  pinMode (siguientePin, OUTPUT);
  pinMode (pausePin, OUTPUT);
}
void LeerPista(int a){
  for(int i=0;i<12;i++){
    Serial.print("a ");
    digitalWrite(siguientePin,LOW);
    if(i==a){
      digitalWrite(pausePin,HIGH);
      delay(10000);
      digitalWrite(pausePin,LOW);
      a=0;
    }else{
    digitalWrite(siguientePin,HIGH);//mandamos señal para que vaya al siguiente MP3
    delay(100);
    }
  }
}

void loop() {
  
 // Serial.begin(9600); // tiempo de proceso

  // activar el lector
  if (!mfrc522.PICC_IsNewCardPresent()){
    return;
  }
  //leer la tarjeta
  if (!mfrc522.PICC_ReadCardSerial()){
    return;
  }
  //Ahora guardamos el contenido de la tarjeta que llamaremos codigo.
  String codigo ="";
  byte letter;
  for (byte i=0; i<mfrc522.uid.size; i++){
   // Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
   // Serial.print(mfrc522.uid.uidByte[i], HEX);
    codigo.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
    codigo.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
//si el contenido de la tarjeta es valido, debera identificar a que MP3 pertenece y por lo tanto activar el audio_XXXX 
  codigo.toUpperCase();
  if (codigo.substring(1) == "F6 D9 11 9E"){
    // sacar el audio 1
    LeerPista(1);
  }
  if (codigo.substring(1) == "80 49 DD 87"){
    LeerPista(2);
  }
  if (codigo.substring(1) == "94 F0 30 5B"){
    LeerPista(3);
  }
  if (codigo.substring(1) == "90 00 DC 87"){
    LeerPista(4);
  }
  if (codigo.substring(1) == "60 9A 7A 51"){
  LeerPista(5);
  }
  if (codigo.substring(1) == "90 C0 BF 4F"){
  LeerPista(6);}
  if (codigo.substring(1) == "56 0A 27 9E"){
  LeerPista(7);
  }
  if(codigo.substring(1) == "93 C2 AC AC"){
  LeerPista(8);}
 ...
  }
//si el contenido no es valido no se debe hacer nada.

¿Alguna sugerencia o ayuda?
Gracias