[solucionado]Ayuda byte binario

Hola, en la pagina 5 del manual del MP3Trigger en este link: http://66.147.242.175/~roberwh0/resources/mp3trigger/MP3TriggerV2UserGuide_2012-02-04.pdf Dice que para indicar que cancion debe sonar, hay que escribir por serial 2 bytes, uno debe ser 'p' para indicar el comando y el otro un numero de 0 a 255 en binario.

Si le doy a este codigo:

void setup(){
Serial.begin(38400);
}
void loop(){
byte num=random(1,17);
Serial.write('p');
Serial.write(num);
delay(10000);
}

enprincipio deberia darme una cancion random de las primeras 17, pero esto no ocurre. Es porque deberia escribir el numero en binario? como podria enviar ese unico byte como un numero binario, sin tener que hacerme un array de 255(en el peor de los casos) de los numeros en binario?

Gracias de antemano

Hola, kritter.
Aparentemente estás enviando correctamente el comando. No tiene sentido que tuvieras que enviar 8 caracteres 1-0. No necesitarías arrays ni cosas raras. Tan solo un par de operaciones de bit en un bucle:
byte numero=123;
for(byte b=b10000000;b>0; b>>=1)
Serial.print(b&numero?1:0);

Pero ya te digo que no creo que sea el problema.
¿Tienes correctamente los parámetros de serial?
¿Te funcionan correctamente otros comandos?
¿Los nombres de las pistas comienzan con tres cifras de número de pista?

Gracias noter, tenias razon, no estaba enviando mal los parametros, todo iba sobre la seda y he perdido horas haciendo el bobo. Ahi va la solución a este problema en concreto:

Saque la microSD del MP3Trigger, la formatee, le volví a meter todas las pistas, bien nombradas, con su archivo .ini y su archivo de firmware .hex y ya está. Se vé que se rallaba buscando, es posible que cuando se cambian canciones, la forma de almacenarlas en la microSD, altere de alguna forma la probabilidad de exito para encontrarlas.

Como se marca como Solucionado el post?