LEDS QUE ALUMBRAN CADA VEZ MENOS

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);

}
void loop(){

cont++;
if(cont==11){
cont=6;
}
digitalWrite(cont,HIGH);
delay(1000);
digitalWrite(cont,LOW);
}

Hola,

No entiendo esto:

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…

Saludos :wink:

Igor R.

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

je,je,je

:wink: