Modulo RfID + Wave Shield

Salve all!
sono nuovo del forum e ahimè pressoche novizio anche di programmazione…
vengo al dunque:
ad arduino ho collegato un modulo id-12 innovation (RfID) e un Wave Shiled cercando e sperando di poterli fare interagire.
Quello che dovrebbe fare tale sistema in linea teorica è abbastanza semplice:
ad un tag rfid specifico far partire un suono specifico.
solo che mi trovo abbastanza in difficoltà…
questo è quello che sono riuscito a fare

// RFID ID12

// ================================================= //
// INIZIO //
// ================================================= //

#include <AF_Wave.h>
#include <avr/pgmspace.h>
#include “util.h”
#include “wave.h”
#include <WString.h>

AF_Wave card;
File f;
Wavefile wave;
#define redled 9
#define SND1 “0.WAV”

String TagRead = String(13); // nuova String
String tagID = “010825959821”;
//char val = 0; // variable to store the data from the serial port

// ================================================= //
// SETUP //
// ================================================= //

void setup() {
Serial.begin(9600); // connect to the serial port

Serial.println(“WAVE SHIELD CONNESSO”);

pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(redled, OUTPUT);

if (!card.init_card()) {
putstring_nl(“Card init. failed!”);
return;
}
if (!card.open_partition()) {
putstring_nl(“No partition!”);
return;
}
if (!card.open_filesys()) {
putstring_nl(“Couldn’t open filesys”);
return;
}
if (!card.open_rootdir()) {
putstring_nl(“Couldn’t open dir”);
return;
}

ls();
}

// ================================================= //
// LOOP //
// ================================================= //

void loop () {

// read the serial port
if(Serial.available() > 0) {
/* val = Serial.read();
Serial.print(val, BYTE); */
char val = Serial.read();
Serial.print(val, BYTE);
if (TagRead.length() < 13) {
TagRead.append(val);

}
if (TagRead.equals(tagID)) // se uguale a tagID
{
Serial.print(“GIUSTOOOOOOOO”);
playcomplete(SND1);
}
else
{
Serial.print(“Sono diversi”);
}
}
}// fine loop

/*void getIncomingChars() {
// Serial.println(“CHECK”);

} */

void ls() {
char name[13];
card.reset_dir();
putstring_nl(“FILE TROVATI:”);
while (1) {
if (!card.get_next_name_in_dir(name)) {
card.reset_dir();
return;
}
Serial.println(name);
}
}

void playcomplete(char *name) {
playfile(name);
while (wave.isplaying);
card.close_file(f);
}

void playfile(char *name) {
// stop any file already playing
if (wave.isplaying) {
wave.stop();
card.close_file(f);
}

f = card.open_file(name);
if (f && wave.create(f)) {
wave.play();
}
}

per me sarebbe il massimo riuscire nell’intento…
;D
grazie a tutti in anticipo…