document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. //se define un nombre
  2. #define MAXLED 8   
  3.  
  4. // inicializar variables utilizadas
  5. int led[MAXLED] = {2,3,4,5,6,7,8,9};  //arreglo para los pines de salida digital
  6. int valor_ON = 0;                     // valor recibido del PC
  7. int valor_OFF = 0;                    // valor recibido del PC
  8. char letra;                           // lectura del caracter enviado
  9.  
  10. void setup()
  11. {
  12.   // La comunicacion serial sera a 9600 baudios
  13.   Serial.begin(9600);
  14.   // el bucle nombra los pines D2~D9 como salida digital
  15.   for (int pin = 0; pin < MAXLED; pin++)
  16.     pinMode(led[pin],OUTPUT);
  17.  
  18. }
  19.  
  20. // Ciclo infinito de ejecucion
  21. void loop()
  22. {  
  23.   // Si hay datos disponibles en el puerto serial
  24.   if (Serial.available() > 0)
  25.   {  
  26.     // Leer el valor
  27.     letra = Serial.read();
  28.    
  29.     // aqui se condiciona si el valor enviado es para el
  30.     // valor de apagado o encendido
  31.     if (letra == \'A\'){
  32.       valor_ON = Serial.parseInt();
  33.     }
  34.     if (letra == \'B\'){
  35.       valor_OFF = Serial.parseInt();
  36.     }
  37.   }
  38.  
  39.   //rutina de desplazamiento de los leds
  40.   //toma los valores de valor_ON y valor_OFF
  41.   //para los retardos
  42.   for (int pin = 0; pin < MAXLED; pin++)
  43.   {
  44.     int t_ON = valor_ON;
  45.     int t_OFF = valor_OFF;
  46.     prender(led[pin], t_ON);
  47.     apagar(led[pin], t_OFF);
  48.   }
  49. }
  50.  
  51. //funcion de encendido led por led
  52. void prender(int p, int t)
  53. {
  54.   digitalWrite(p, HIGH);
  55.   delay(t);
  56. }
  57.  
  58. //funcion de apagado led por led
  59. void apagar(int p, int t)
  60. {
  61.   digitalWrite(p, LOW);
  62.   delay(t);
  63. }
');