#define maxled 8 //numero maximo de leds a utilizar
int led[maxled] = {2,3,4,5,6,7,8,9}; //creamos un vector para los pines a utilizar
int t1,t2; // creamos las variables enteras para los tiempo de encendido y apagado
void setup ()
{
Serial.begin(9600); // La comunicacion serial sera a 9600 baudios
for (int i=0; i<maxled; i++)
{
pinMode(led[i],OUTPUT); // ciclo para definir los pines del arreglo led[] como salidas
}
}
void loop()
{
for (int i=0;i<=maxleds;i++) // ciclo hacia la derecha
{
if (Serial.available()>0) // verifica si hay datos en el puerto serial para ejecutar el programa
{
char opcion = Serial.read(); // lee la opcion o slider que se esta utilizando en el puerto serial
if (opcion == 'O') // si la opcion es O, el valor que lleve esta opcion sera el tiempo de encendido
{
t1 = Serial.parseInt(); // lee y toma el siguiente valor y lo convierte a entero
}
if (opcion == 'F') //si la opcion es F, el valor que lleve esta opcion sera el tiempo de apagado
{
t2 = Serial.parseInt(); // lee y toma el siguiente valor y lo convierte a entero
}
}
prender(led[i],t1); //llama a la funcion prender ingresando los parametros
apagar(led[i],t2); //llama a la funcion apagar ingresando los parametros
}
for (int i=6;i>0;i--) // ciclo hacia la izquierda
{
if (Serial.available()>0)
{
char opcion = Serial.read();
if (opcion == 'O')
{
t1 = Serial.parseInt();
}
if (opcion == 'F')
{
t2 = Serial.parseInt();
}
}
prender(led[i],t1); //llama a la funcion prender ingresando parametros
apagar(led[i],t2); // llama a la funcion apagar ingresando parametros
}
}
void prender(int l, int t) //funcion encendido
{
digitalWrite(l, HIGH);// led encendido
delay(t); // tiempo encendido
}
void apagar(int l, int t) // funcion apagado
{
digitalWrite(l, LOW);// led apagado
delay(t); // tiempo apagado
}