Encendido de leds mediante un numero

Buenas, no se mucho sobre arduino y el lenguaje que usa, me encargaron colocar 6 leds y el usuario debe ingresar un numero de 6 digitos (0 significa apagado, 1 prendido y 2 parpadeo), el usuario ingresara algo como; 010021, el led 1 debe tomar el primer valor ( de izquierda a derecha), o sea tomara el 0, led1=0, estara apagado, el led 2 tomara el segundo valor, led2=1, se encendera, el led 3 tomara el tercer valor, led3=0 y estará apagado, el led 4 tomara el cuarto valor, led4=0, estara apagado, led 5 tomara quinto valor, led5=2, estara parpadeando y el led 6 tomara el ultimo valor, led6=1, se prenderá.

Intente separar los numeros con el modulo % pero creo que si el primer numero llegara a ser un 0 (010021) no lo toma en cuenta, y no sale el programa, y quería pasar ese numero a un arreglo, pero aun no conozco mucho sobre las funciones y el lenguaje de arduino

¿Porque no te funciona módulo? porque divide por dos. ¿Si haces tu propia función dividiendo por tres?

Daniel_Arg:
¿Porque no te funciona módulo? porque divide por dos. ¿Si haces tu propia función dividiendo por tres?

No entiendo, como que divido por 2 y que debería hacerlo por 3

Kingman1697:
No entiendo, como que divido por 2 y que debería hacerlo por 3

Es que no le veo a gracia al ejercicio si le tienes que pasar el número directo en base tres.
Estaría mejor representar en ternario, siendo (0) apagado (1) encendido (2) parpadeante, a partir de enviar un número decimal.

Entonces:

int x = valdecimal;
for(int a=0; a<6; a++){
Estadopin[a] = x%3;
x=x/3;
}

int x=valor
for( int i=0;i<6;i++)
{led*=(int)x/pow(10,(5-i));*
x=x-pow(10,(5-i));}
como dijo Daniel partiendo de un valor decimal te quedaría cada dígito en led

@ArduMyth me quedó claro el planteo funcional. Mi idea era armar un array led , en donde cada elemento contiene el valor del digito ingresado ( 0,1,2 ) y luego según el valor tomar la acción correspondiente .
int x=valor
for( int i=0;i<6;i++)
{led*=(int)x/pow(10,(5-i));*
x=x-pow(10,(5-i));
if(led*==0){*
digitalWrite(i+2,LOW);
}
if (led*==1){*
digitalWrite(i+2,HIGH);
}
if led*==2){*
blink(i); // ejecutar void blink
}
}
También podría usarse un case pero no se si el autor estará ducho con eso.
Me pareció que era una forma sencilla de resolverlo.

A todos los que estan poniendo códigos sin usar etiquetas les pido que lo hagan desde el post#5 en adelante
Los códigos van con etiquetas aunque solo sea 1 línea.