Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #define maxled 8 //numero maximo de leds a utilizar
  2. int led[maxled] = {2,3,4,5,6,7,8,9}; //creamos un vector para los pines a utilizar
  3. int t1,t2; // creamos las variables enteras para los tiempo de encendido y apagado
  4. void setup ()
  5. {
  6.   Serial.begin(9600); // La comunicacion serial sera a 9600 baudios
  7.   for (int i=0; i<maxled; i++)
  8.   {
  9.     pinMode(led[i],OUTPUT); // ciclo para definir los pines del arreglo led[] como salidas
  10.   }
  11. }
  12.  
  13. void loop()
  14. {
  15.   for (int i=0;i<=maxleds;i++) // ciclo hacia la derecha
  16.   {
  17.     if (Serial.available()>0) // verifica si hay datos en el puerto serial para ejecutar el programa
  18.     {
  19.       char opcion = Serial.read(); // lee la opcion o slider que se esta utilizando en el puerto serial
  20.       if (opcion == 'O') // si la opcion es O, el valor que lleve esta opcion sera el tiempo de encendido
  21.       {
  22.         t1 = Serial.parseInt(); // lee y toma el siguiente valor y lo convierte a entero
  23.       }
  24.       if (opcion == 'F') //si la opcion es F, el valor que lleve esta opcion sera el tiempo de apagado
  25.         {
  26.         t2 = Serial.parseInt(); // lee y toma el siguiente valor y lo convierte a entero
  27.         }
  28.   }
  29.     prender(led[i],t1); //llama a la funcion prender ingresando los parametros
  30.     apagar(led[i],t2);  //llama a la funcion apagar ingresando los parametros
  31.   }
  32.  
  33.   for (int i=6;i>0;i--) // ciclo hacia la izquierda
  34.   {
  35.     if (Serial.available()>0)
  36.     {
  37.        char opcion = Serial.read();
  38.       if (opcion == 'O')
  39.       {
  40.         t1 = Serial.parseInt();
  41.       }
  42.       if (opcion == 'F')
  43.         {
  44.         t2 = Serial.parseInt();
  45.         }
  46.     }
  47.     prender(led[i],t1); //llama a la funcion prender ingresando parametros
  48.     apagar(led[i],t2); // llama a la funcion apagar ingresando parametros
  49.   }
  50. }
  51.  
  52. void prender(int l, int t) //funcion encendido
  53. {
  54.   digitalWrite(l, HIGH);// led encendido
  55.   delay(t);             // tiempo encendido
  56. }
  57.  
  58. void apagar(int l, int t) // funcion apagado
  59. {
  60.   digitalWrite(l, LOW);// led apagado
  61.   delay(t);            // tiempo apagado
  62. }