Problemas con un ejercicio de aprendizaje. Buscando el por que?

Buenas chicos! estoy empezando con el tema arduino (esta vez mas en serio :-[ ), resulta que estoy siguiendo este curso en youtube y voy por esta parte:

El caso es que tengo el mismo codigo tal y como indica el profesor, pero mi problema es que no me funcionan los 3 leds.

Copio el codigo aqui:

///////////////////////////////

int leds[]={9,10,11};
int tiempo=200;
int i=0;
int foto=1;
int medida=0;
int luzled=0;

void setup() {

Serial.begin(9600);
for(i=0;i<3;i++)
{
pinMode(leds*,OUTPUT); *

  • }*
    }
    void loop() {
    medida = analogRead(foto);
    Serial.println(medida);
    luzled= 255-(medida/4);
    Serial.println(luzled);
    for(i=0;i<3;i++);
    {
    _ analogWrite(leds*,luzled);_
    _
    delay(100);_
    _
    }_
    _
    }_
    _
    ///////////////////////////_
    Pense por un momento que me fallase la placa pero no, ya que al final del codigo
    _analogWrite(leds,luzled);*
    si cambio el i por 0,1 o 2 si que ilumina el led respectivamente 9,10,11. sin embargo lo dejo en i y no ilumina ninguno, es como si el i no representase los leds :S, sin embargo al profesor le funciona. QUiero saber donde esta el fallo antes de continuar con el siguiente capitulo a ver si podeis echarme una mano.
    Muchas gracias!_

Estoy viendo lo que he escrito y no se porque motivo me falta algo del codigo, es por el foro al postear parece ser que me quita algunos caracteres del array :o

El hecho de que os digamos que pongáis el código bien posteado, y nos cansamos de repetir que leais las NORMAS, son para evitar problemas, facilitar el trabajo y mas cosas. Pero, ea, nadie lo hace.

El código va con etiquetas code y se usa el delimitador [ con lo que si pones un array, se los masca si no va entre etiquetas code el código.

Los enlaces también deben ir con su etiqueta.

Tu código es este:

///////////////////////////////
int leds[] = {9, 10, 11};
int tiempo = 200;
int i = 0;
int foto = 1;
int medida = 0;
int luzled = 0;

void setup() {
  Serial.begin(9600);
  for (i = 0; i < 3; i++)  {
    pinMode(leds, OUTPUT);
  }
}

void loop() {
  medida = analogRead(foto);
  Serial.println(medida);
  luzled = 255 - (medida / 4);
  Serial.println(luzled);
  for (i = 0; i < 3; i++);
  {
    analogWrite(leds[i], luzled); // Usando el corchete!!
    delay(100);
  }
}
///////////////////////////

Perdonad! pues el codigo que tengo es este:

int leds[]={9,10,11};
int tiempo=200;
int i=0;
int foto=1;
int medida=0;
int luzled=0;

void setup() {

 Serial.begin(9600);
 for(i=0;i<3;i++)
 {
  pinMode(leds[i],OUTPUT);  
  }
}

void loop() {

 medida = analogRead(foto);
 Serial.println(medida);
 luzled= 255-(medida/4);
 Serial.println(luzled);
 for(i=0;i<3;i++);
 {
  analogWrite(leds[i],luzled);
  delay(100);
 }

}

No entiendo el motivo del porque no me iluminan los 3 leds cuando esta parte del codigo

analogWrite(leds[i],luzled);

sin embargue si cambio el "i" por 0, 1 o 2 si me iluminan los leds.

Observa tu código:

 for(i=0;i<3;i++); // El for solo hace esto...
 {
  analogWrite(leds[i],luzled);
  delay(100);
 }

Tienes un ";" que sobra. Para que lo entiendas, el punto y coma final termina la sentencia for, con lo cual no llega a ejecutarse el analogwrite en los pines, simplemente incrementa i de 0 hasta 2.

victorjam:
Observa tu código:

 for(i=0;i<3;i++); // El for solo hace esto...

{
  analogWrite(leds[i],luzled);
  delay(100);
}




Tienes un ";" que sobra. Para que lo entiendas, el punto y coma final termina la sentencia for, con lo cual no llega a ejecutarse el analogwrite en los pines, simplemente incrementa i de 0 hasta 2.

Genial! he tenido que ver el codigo bien (y eso que es un codigo pero muy basico!) y poder ver el error.

Mil gracias!! a seguir aprendiendo con el proximo capitulo, si sabeis de algun otro canal de youtube donde realicen estos cursillos online me vendrian genial, saludos!