Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. //Definimos la constante maxleds que tendrá el máximo de leds que son 8
  2. #define maxleds 8
  3. //Definimos la constante del primer puerto donde irá el primer potenciómetro que será A1
  4. #define pot1 A1  
  5. //Definimos la constante del primer puerto donde irá el segundo potenciómetro que será A2
  6. #define pot2 A2  
  7.  
  8. //Definimos un array que contendrá los pines en los que estarán los leds a utilizar
  9. int led[maxleds] = {2,3,4,5,6,7,8,9};
  10.  
  11. void setup ()
  12. {
  13.   //Abrimos el serial de comunicaciones y esperamos que el puerto se abra
  14.   Serial.begin(9600);
  15.   //Recorremos el array led que contiene los pines
  16.   //para después decirle que al arduino que son de salida
  17.   for (int i=0;i<maxleds;i++)
  18.     pinMode(led[i],OUTPUT);    
  19. }
  20.  
  21.  
  22. void loop()
  23. {
  24.  
  25.    for (int i=0;i<=maxleds;i++)
  26.    {  
  27.        //Primero se lee el valor del primer potenciómetro
  28.       int timeon = analogRead(pot1);
  29.       //Realiza el mapeo (conversión) de los valores que envía el primer potenciómetro
  30.       int t1=map(timeon, 0, 1023, 0, 1000);
  31.       //Ahora lee el valor del segundo potenciómetro
  32.       int timeoff = analogRead(pot2);
  33.       //Realiza el mapeo (conversión) de los valores que envía el segundo potenciómetro
  34.       int t2=map(timeoff, 0, 1023, 0, 1000);
  35.       //Llamamos la funcion para encender el led ingresando los parametros
  36.       prender(led[i],t1);  
  37.       //Llamamos la funcion para apagar el led ingresando los parametros
  38.       apagar(led[i],t2);
  39.   }
  40.  
  41.   //Como estamos devolviéndonos para encender los leds ahora
  42.   //recorremos nuevamente los leds pero de atrás hacia adelante
  43.    for (int i=maxleds;i>=0;i--)
  44.    {
  45.       //Primero se lee el valor del primer potenciómetro
  46.       int timeon = analogRead(pot1);
  47.       //Realiza el mapeo (conversión) de los valores que envía el primer potenciómetro
  48.       int t1=map(timeon, 0, 1023, 0, 1000);
  49.       //Ahora lee el valor del segundo potenciómetro
  50.       int timeoff = analogRead(pot2);
  51.       //Realiza el mapeo (conversión) de los valores que envía el segundo potenciómetro
  52.       int t2=map(timeoff, 0, 1023, 0, 1000);
  53.       //Llamamos la funcion para encender el led ingresando los parametros
  54.       prender(led[i],t1);  
  55.       //Llamamos la funcion para apagar el led ingresando los parametros
  56.       apagar(led[i],t2);
  57.     }
  58.  
  59. }
  60. //Funcion para enceder el led enviado por parámetros
  61. void prender(int i, int t)
  62. {
  63.   //Se enciende el led i con HIGHT
  64.   digitalWrite(i, HIGH);
  65.   //Con el tiempo de encendido t
  66.   delay(t);
  67. }
  68.  
  69. //Funcion para apagar el led enviado por parámetros
  70. void apagar(int i, int t)
  71. {
  72.   //Se enciende el led i con LOW
  73.   digitalWrite(i, LOW);
  74.   //Con el tiempo de apagado t
  75.   delay(t);            
  76. }