Advertisement
tiodocomputador

CONTADOR 4 LEDS

Feb 2nd, 2015
295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.18 KB | None | 0 0
  1. // Codigo para gerar um contador de 4 bits, usando vetores.
  2.  
  3. //Declaracao para os pinos A, B, C e D (leds)
  4. int A=2;
  5. int B=3;
  6. int C=4;
  7. int D=5;
  8.  
  9. int t = 1; //Delay
  10.  
  11.  
  12. // Matriz onde serao alocados os enderecos dos pinos.
  13. int ledPin[] = {
  14.   A, B, C, D};
  15.  
  16.  
  17. // Matriz onde estao alocados os bits a serem enviados para cada pino.
  18. // O primeiro bit deve ir para o led A, o segundo para B e assim por diante.
  19. int matriz[16][4] = {  
  20.   {
  21.     0,0,0,0                          }
  22.   , {
  23.     0,0,0,1                          }
  24.   , {
  25.     0,0,1,0                          }
  26.   , {
  27.     0,0,1,1                          }
  28.   , {
  29.     0,1,0,0                          }
  30.   , {
  31.     0,1,0,1                          }
  32.   , {
  33.     0,1,1,0                          }
  34.   , {
  35.     0,1,1,1                          }
  36.   , {
  37.     1,0,0,0                          }
  38.   , {
  39.     1,0,0,1                          }
  40.   , {
  41.     1,0,1,0                          }
  42.   , {
  43.     1,0,1,1                          }
  44.   , {
  45.     1,1,0,0                          }
  46.   , {
  47.     1,1,0,1                          }
  48.   , {
  49.     1,1,1,0                          }
  50.   , {
  51.     1,1,1,1                          }
  52. };
  53.  
  54.  
  55. void setup ()
  56. {
  57.   Serial.begin(9600);
  58.   // Declara A, B, C e D como saidas.
  59.   for (int pino=0; pino<4; pino++)
  60.   {
  61.     pinMode(ledPin[pino], OUTPUT);
  62.   }
  63. }
  64.  
  65. void loop ()
  66. {
  67.  
  68.   for (int line=0; line<16; line++)  // Para a linha 0 da matriz de bits ate a linha 15...
  69.   {
  70.     for (int i=0; i<4; i++)      //Comecando pela linha 0, para o pino 0 ao 3...
  71.     {
  72.       digitalWrite(ledPin[i], matriz[line][i]); //Escreve no pino A o bit 0, linha 0 da matriz de bits...
  73.       //o pino i sobe 1 posicao (pino B), bit 1, linha 0 da matriz...
  74.       //o pino i sobe 1 posicao (pino C), bit 2, linha 0 da matriz...
  75.       //o pino i sobe 1 posicao (pino D), bit 3, linha 0 da matriz.
  76.       //Fim da contagem, line sobe uma posicao (linha 1) e repete a contagem.
  77.       Serial.print("ledPin ");
  78.       Serial.print(i);
  79.       Serial.print(" - matriz ");
  80.       Serial.print(i);
  81.       Serial.print("-");
  82.       Serial.print(line);
  83.       Serial.print("-");
  84.       Serial.println(matriz[line][i]);
  85.     }
  86.     delay(t);
  87.   }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement