Hola, he hecho este código para que vaya encendiendo alternativamente 6 leds, y funciona, pero el led de la salida 7 alumbra más que los otros que van cada vez alumbrando menos, hasta el 10 que es el que alumbra menos. He probado cambiando los leds de sitio y da igual.
int cadenaLeds[]={6,7,8,9,10};
int pul=11;
int n;
int cont=6;
void setup(){
cont=6;
for(n=6;n<11;n++){
pinMode(cadenaLeds[n],OUTPUT);
}
pinMode (pul,INPUT);
int cadenaLeds[]={6,7,8,9,10};
for(n=6;n<11;n++){
pinMode(cadenaLeds[n],OUTPUT);
}
¿No ves nada raro? cadenaLeds[6], cadenaLeds[7]....Sería mejor cadenaLeds[0], cadenaLeds[1], ...
¿No sería mejor pinMode (n,OUTPUT)?
Las resistencias de las salidas Arduino a los leds, ¿son del mismo valor?
El código se ve un poco raro... da la impresión que has estado probando cosas y se han quedado ahi....Por ejemplo, si has creado un vector con los pines, ¿por qué no lo usas para las ordenes encender/apagar? Lo digo porque tienes demasiadas variables declaradas para hacer lo mismo, pero las usas alternativamente. Deberías evitar ésto cuando trabajes con micros...
Igor, ¿sería mejor?. Espero que nadie lo inerprete literalmente
Hay que tener cuidado cuando se declara un array no intentar indexar elementos fuera del rango del propio array. En este caso se ha declarado un array de 5 elementos y se inetenta acceder a los elementos 6 al 11 de dicho arrary.
No te preocupes, estas cosas nos pasan a todos, bueno, a mi más incluso