//se define un nombre
#define MAXLED 8
// inicializar variables utilizadas
int led[MAXLED] = {2,3,4,5,6,7,8,9}; //arreglo para los pines de salida digital
int valor_ON = 0; // valor recibido del PC
int valor_OFF = 0; // valor recibido del PC
char letra; // lectura del caracter enviado
void setup()
{
// La comunicacion serial sera a 9600 baudios
Serial.begin(9600);
// el bucle nombra los pines D2~D9 como salida digital
for (int pin = 0; pin < MAXLED; pin++)
pinMode(led[pin],OUTPUT);
}
// Ciclo infinito de ejecucion
void loop()
{
// Si hay datos disponibles en el puerto serial
if (Serial.available() > 0)
{
// Leer el valor
letra = Serial.read();
// aqui se condiciona si el valor enviado es para el
// valor de apagado o encendido
if (letra == \'A\'){
valor_ON = Serial.parseInt();
}
if (letra == \'B\'){
valor_OFF = Serial.parseInt();
}
}
//rutina de desplazamiento de los leds
//toma los valores de valor_ON y valor_OFF
//para los retardos
for (int pin = 0; pin < MAXLED; pin++)
{
int t_ON = valor_ON;
int t_OFF = valor_OFF;
prender(led[pin], t_ON);
apagar(led[pin], t_OFF);
}
}
//funcion de encendido led por led
void prender(int p, int t)
{
digitalWrite(p, HIGH);
delay(t);
}
//funcion de apagado led por led
void apagar(int p, int t)
{
digitalWrite(p, LOW);
delay(t);
}