Asesoría con el código(PWM)[Solucionado]

Hola a todos. Bueno estaba revisando un tutorial acerca del uso del PWM con los leds.
El proyecto se basaba en hacer que un led se encendiera y apagara con un efecto "desvanecedor".
Así va el código amigos:

// Project 3 - Demonstrating PWM
int d = 5;
void setup()
{
pinMode(3, OUTPUT); // LED control pin is 3, a PWM capable pin
}
void loop()
{
for ( int a = 0 ; a < 256 ; a++ )
{
analogWrite(3, a);
delay(d);
}
for ( int a = 255 ; a >= 0 ; a-- )
{
analogWrite(3, a);
delay(d);
}
delay(200);
}

Lo pude logar , encendió el led del jercicio.
Y una foto que lo acompaña : IMG 20170416 181122 hosted at ImgBB — ImgBB
Ahora lo que estoy haciendo es prender a la misma vez los 5 leds , bajo el mismo efecto "desvanecedor"(no encuentro el termino en español para "fading-efect , breathing led").
Así que me propuse hacer el código :

int ledPins[] = {3,5,6,10,11};
int d = 5;
void setup()
{
for(int index = 0; index < 5; index++)
{
  pinMode(ledPins[index], OUTPUT); 
}
}
void loop()
{

for(int index = 0; index < 5; index++)
for ( int a = 0 ; a < 256 ; a++ )

{
analogWrite(index, a);
delay(d);
}

for ( int a = 255 ; a >= 0 ; a-- )
for(int index = 0; index < 5; index++)
{
analogWrite(index, a);
delay(d);
}
delay(200);
}

Planteo mi estrategia:
Como no quiero alargar mucho el codigo hago uso de los famosos arrays, por lo que los pins(3,5,6,10y11) pasaran luego por "for" para así ser llamados "OUTPUT" uno por uno.
Para finalizar ya en loop, asigno a analogwrite sus pines y los ciclos.
Lo probe pero me percate de que solo se logra prender un solo led(aunque se llegó a prender otro led pero al cabo de 1 segundo de iniciado el primer led).

¿Si alguien fuera tan amable en asesorarme con mi humilde proyecto? Se lo agradecería mucho.

Hasta el que leyó hasta acá: Éxitos y vibras.

Muy buenas Luis me da la impresion que te faltan los corchetes {} de algunos For.

int ledPins[] = {3,5,6,10,11};
int d = 5;

void setup()
{
  for(int index = 0; index < 5; index++)
  {
    pinMode(ledPins[index], OUTPUT);
  }
}
void loop()
{
  for(int index = 0; index < 5; index++)
  {
    for ( int a = 0 ; a < 256 ; a++ )
    {
      analogWrite(index, a);
      delay(d);
    }
  }
  for ( int a = 255 ; a >= 0 ; a-- )
  {
    for(int index = 0; index < 5; index++)
    {
      analogWrite(index, a);
      delay(d);
    }
  }
  delay(200);
}

ahora no puedo montarlo para probar, prueba por si ese es el problema...

Gracias por responder _Gromek.

Me ayudaste mucho ordenandolo de esa manera, como recién estoy empezando en este mundo
no había tenido en cuenta lo del orden, gracias :D.

Con respecto al funcionamiento, todavia no me anda, solo un led. :-[
Sigo viendo más fuentes por internet , capaz pueda armarlo diferente.

Saludos.

prueba esto:

int ledPins[] = {3,5,6,10,11};
int d = 5;

void setup()
{
  for(int index = 0; index < 5; index++)
  {
    pinMode(ledPins[index], OUTPUT);
  }
}
void loop()
{
  for(int index = 0; index < 5; index++)
  {
    for ( int a = 0 ; a < 256 ; a++ )
    {
      analogWrite(ledPins[index], a);
      delay(d);
    }
  }
  for ( int a = 255 ; a >= 0 ; a-- )
  {
    for(int index = 0; index < 5; index++)
    {
      analogWrite(ledPins[index], a);
      delay(d);
    }
  }
  delay(200);
}

(Reitero mis disculpas por no poder probar con circuito, tengo todas las protoboard ocupadas)

Disculpame Luis, revisando el codigo, me di cuenta que unos de los bucles For esta en el lugar equivocado

int ledPins[] = {3,5,6,10,11};
int d = 5;

void setup()
{
  for(int index = 0; index < 5; index++)
  {
    pinMode(ledPins[index], OUTPUT);
  }
}
void loop()
{
  for ( int a = 0 ; a < 256 ; a++ ) //<=== Este For
  {
    for(int index = 0; index < 5; index++)
    {
      analogWrite(ledPins[index], a);
      delay(d);
    }
  }
  for ( int a = 255 ; a >= 0 ; a-- )
  {
    for(int index = 0; index < 5; index++)
    {
      analogWrite(ledPins[index], a);
      delay(d);
    }
  }
  delay(200);
}

Espero ayudarte

_Gromek , estuvo buenísimo, funciona. :slight_smile:

Estoy que salto de la alegría,estoy que reviso linea por linea lo que escribiste para así
interiorizarlo.

Muchisimas gracias . :slight_smile: :slight_smile:

Me alegra haber ayudado :wink:
Espero que te diviertas con Arduino!

PD: Te recomiendo que edites el primer post y añadas al titulo la palabra Solucionado, asi ayudamos a otros compañeros a saber que el problema está resuelto.