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!