/********** Proyecto **********
* Universidad Santiago de Cali
*
* Laboratorio 03: 8 LEDs en linea controlados mediante Processing
* Autor: Daniel López Huertas
* Descripcion:
* Mover un LED encendido de Izquierda a Derecha y viceversa controlando el tiempo de apagado y encendido con slider en processing.
* Conexiones:
* 8 LEDs + 8 resistencias a los pines 2 a 9
* Version: 2
*/
/********** Constantes **********/
#define TOTLED 8 // Se definene 8 LEDs en Total.
// Conectamos los LED´s mediante un arreglo.
int led[TOTLED] = {2, 3, 4, 5, 6, 7, 8, 9};
// Se inicializan en cero las variales que guardan los valores que se reciben via serial desde la interfaz de Processing
int valor1 = 0;
int valor2 = 0;
// Solo se ejecuta una vez, al iniciar o resetear el Arduino
void setup() {
// La comunicacion serial sera a 9600 baudios
Serial.begin(9600);
// El pin 9 será el pin de salida. se asigna un ciclo para inicializar cada uno de los LED´s en modo OUTPUT.
for (int i=0;i<TOTLED;i++)
pinMode(led[i], OUTPUT);
}
// Ciclo infinito de ejecucion
void loop() {
for (int i=0;i<TOTLED;i++){
// Si hay datos disponibles en el puerto serial, se asignan a las variables "valor1" y "valor2" respectivamente.
if (Serial.available() > 0) {
// Leer el valor
valor1 = Serial.read();
valor2 = Serial.read();
}
// Cambiar la intensidad de iluminacion del LED y el tiempo de desplazamiento.
digitalWrite(led[i], HIGH);
delay(valor1);
digitalWrite(led[i], LOW);
delay(valor2);
// para presentar en la consola los resultados que se toman de las variables.
Serial.print(valor1);
Serial.print(" ");
Serial.println(valor2);
}
}
/************Funciones*************/