//Incluir librería
#include "LedControl.h"
// Definir puertos
int DIN = 12;
int CS = 10;
int CLK = 11;
int nMATRICES = 2; //Se identificaran como 0 y 1
// Mapa de bit con el número 2
byte Mapa2[8]= {
0b00000000,
0b00111100,
0b00011000,
0b00011000,
0b00011000,
0b00011000,
0b00011000,
0b00111100
};
// Mapa de bit con el número 5
byte Mapa5[8]= {
0b00000000,
0b01100000,
0b01100000,
0b01100000,
0b01100000,
0b01100000,
0b01100000,
0b01111110
};
// Crear objeto lc
LedControl lc=LedControl(DIN, CLK, CS, nMATRICES);
// Valor del delay
unsigned long delaytime=1500;
void borrarMatrices(){
// Borrar todas las matrices
for(int index=0;index<lc.getDeviceCount();index++) {
lc.clearDisplay(index);
}
}
void setup() {
//Inicializar las matrices
for(int index=0;index<lc.getDeviceCount();index++) {
lc.shutdown(index,false);
}
// Establecer la intensidad del brillo */
for(int index=0;index<lc.getDeviceCount();index++) {
lc.setIntensity(index,8);
}
borrarMatrices();
}
// Procedimiento que enciende los LED
// que muestren el número 2 en la
// matriz especificada
void numero2(int dirMatriz){
// Mostrar el mapa en la matriz
lc.setRow(dirMatriz,0,Mapa2[0]);
lc.setRow(dirMatriz,1,Mapa2[1]);
lc.setRow(dirMatriz,2,Mapa2[2]);
lc.setRow(dirMatriz,3,Mapa2[3]);
lc.setRow(dirMatriz,4,Mapa2[4]);
lc.setRow(dirMatriz,5,Mapa2[5]);
lc.setRow(dirMatriz,6,Mapa2[6]);
lc.setRow(dirMatriz,7,Mapa2[7]);
}
void numero5(int dirMatriz){
// Mostrar el mapa en la matriz
lc.setRow(dirMatriz,0,Mapa5[0]);
lc.setRow(dirMatriz,1,Mapa5[1]);
lc.setRow(dirMatriz,2,Mapa5[2]);
lc.setRow(dirMatriz,3,Mapa5[3]);
lc.setRow(dirMatriz,4,Mapa5[4]);
lc.setRow(dirMatriz,5,Mapa5[5]);
lc.setRow(dirMatriz,6,Mapa5[6]);
lc.setRow(dirMatriz,7,Mapa5[7]);
}
void loop() {
// Desplegar el número 2 en la matriz 0
numero2(0);
// Desplegar el número 5 en la matriz 1
numero5(1);
delay(delaytime);
// Borrar las matrices
borrarMatrices();
delay(delaytime);
// Desplegar el número 2 en la matriz 1
numero2(1);
// Desplegar el número 5 en la matriz 0
numero5(0);
delay(delaytime);
}