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
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.