Si lo he entendido, creo que lo que quieres es pasar un número por puerto serie, convertirlo en binario y poner en alto los puertos correspondientes a los unos de ese número en binario:
Puerto serie = "38" o 38 (no queda claro)
Número binario = 0010.0110
Si utilizas 8 puertos (númerados de P0 a P7):
(0) P0=LOW
(1) P1=HIGH
(1) P2=HIGH
(0) P3=LOW
(0) P4=LOW
(1) P5=HIGH
(0) P6=LOW
(0) P7=LOW
Primero de todo, tienes que tener en cuenta si por el puerto serie vas a recibir 38 o "38", es decir un byte o varios carácteres ascii que forman un número decimal, para hacer la conversión correspondiente a byte del valor en el arduino.
Después, una vez que tienes el valor en byte (ya lo tienes en binario), utilizar máscaras para ver que bits están en alto, en la forma:
#define MASK_1 1 // en binario 0000.0001
#define MASK_2 2 // en binario 0000.0010
#define MASK_4 4 // en binario 0000.0100
#define MASK_8 8 // en binario 0000.1000
#define MASK_16 16 // en binario 0001.0000
...
if(numeroRecibido & MASK_1) // Comparación bit a bit
digitalWrite(pin1, HIGH);
else
digitalWrite(pin1, LOW);
if(numeroRecibido & MASK_2) // Comparación bit a bit
digitalWrite(pin2, HIGH);
else
digitalWrite(pin2, LOW);
...