Tengo 8 LEDs alineados en una placa de pruebas, y estoy tratando de hacer que funcionen de un extremo a otro y de vuelta, como las luces de KITT (del piloto nocturno, espero que eso se aclare). Los LEDs están todos configurados y correctos y funcionan.
He configurado mi código como tal:
int ledPins[]={2,3,4,5,6,7,8,9};
void setup()
{
for (int i =0; i <8; i++)
{
pinMode(ledPins[i],OUTPUT);
}
}
void loop()
{
for(int i =0; i<8; i++)
{
digitalWrite(ledPins[i],HIGH);
delay(100);
digitalWrite(ledPins[i],LOW);
}
for(int i =7; i<1; i--)
{
digitalWrite(ledPins[i],HIGH);
delay(100);
digitalWrite(ledPins[i],LOW);
}
}
pero no enciende los LED de derecha a izquierda y luego regresa como lo esperaba.
EDITAR: Lo que hace es iluminar los LED de derecha a izquierda, pero no los enciende de manera opuesta (de izquierda a derecha). Simplemente sigue yendo de derecha a izquierda, de derecha a izquierda
Estoy usando un Arduino UNO y estoy basando mi circuito en el kit de experimentación para Arudino CIRC-02
EDIT # 2: Así que he cambiado los bucles for a los bucles while:
int ledPins[]={2,3,4,5,6,7,8,9};
void setup()
{
for (int i =0; i <8; i++)
{
pinMode(ledPins[i],OUTPUT);
}
}
void loop()
{
int i = 0;
while (i<7)
{
{
digitalWrite(ledPins[i],HIGH);
delay(100);
digitalWrite(ledPins[i],LOW);
i++;
}
}
i = 7;
while (i >0)
{
digitalWrite(ledPins[i],HIGH);
delay(100);
digitalWrite(ledPins[i],LOW);
i--;
}
}
y funciona según lo previsto! Sin embargo, todavía estoy interesado en saber dónde salió mal mi for-loop, si alguien tiene alguna idea