/* Inclui a biblioteca LedControl. */
#include "LedControl.h"
/* Declaramos os pinos: (DIN, CLK, CS e o nº de displays */
/*conectados em série. */
LedControl lc = LedControl(8, 10, 9);
/* Pausa entre os desenhos. */
int tempo = 500;
/* Codigo binário pacman (0 = desligado e 1 = ligado) */
/* pacman. */
byte pacman[] = {
B00011000,
B01111110,
B11111110,
B11111001,
B11101101,
B11000111,
B11000111,
B10000011
};
/* fantasma. */
byte fantasma[] = {
B00000000,
B11111100,
B11110010,
B00110011,
B11111111,
B11110011,
B00110010,
B11111100
};
void setup() {
/* Inicia a matriz de LED. O número zero representa o
/* endereço da primeira matiz de LED conectada ao Arduino.
/* Podemos conectar até um máximo de 5 matrizes em série
/* endereçadas de 0 a 4. */
lc.shutdown(0, false);
/* Define o brilho dos LEDs na matriz de endereço 0 para
o valor 10. (A intensidade varia de 0 a 15). */
lc.setIntensity(0, 10);
// Desliga todos os LEDs da matriz de endereço 0.
lc.clearDisplay(0);
}
void loop() {
/* Chama a função que gera a imagem do pacman. */
mostra_pacman();
/* Pausa */
delay(tempo);
/* Chama a função que gera a imagem do fantasma. */
mostra_fantasma();
/* Pausa */
delay(tempo);
}
/* Função para gerar o pacman. */
void mostra_pacman()
{
for (int i = 0; i < 8; i++)
{
lc.setRow(0, i, pacman[i]);
}
}
/* Função para gerar o fantasma. */
void mostra_fantasma()
{
for (int i = 0; i < 8; i++)
{
lc.setRow(0, i, fantasma[i]);
}
}