#include "LedControl.h"
const byte DIR_PIN = 12; // D12 connected to MAX7219 DIN (pin 1)
const byte CLK_PIN = 11; // D11 connected to MAX7219 CLK (pin 13)
const byte LOAD_PIN = 10; // D10 connected to MAX7219 LOAD (pin 12)
const byte MATRIX_SIZE = 8; // 8 MAX7219's
const byte MATRIX_BRT = 2; // Brightness
LedControl lc = LedControl(DIR_PIN, CLK_PIN, LOAD_PIN, MATRIX_SIZE);
void setup() {
for (int devNum = 0; devNum < MATRIX_SIZE; devNum++) {
lc.shutdown(devNum, false); // turn off power saving, enables matrices
lc.setIntensity(devNum, MATRIX_BRT); // sets brightness (0~15 possible values)
lc.clearDisplay(devNum); // clear matrices
}
}
void loop() {
for (int row = 0; row < MATRIX_SIZE; row++) {
for (int devNum = MATRIX_SIZE - 1; devNum >= 0; devNum--) {
for (int col = MATRIX_SIZE - 1; col >= 0; col--) {
lc.setLed(devNum, row, col, true); // turns off LED at col, row
delay(25);
}
}
}
for (int row = MATRIX_SIZE - 1; row >= 0; row--) {
for (int devNum = 0; devNum < MATRIX_SIZE; devNum++) {
for (int col = 0; col < MATRIX_SIZE; col++) {
lc.setLed(devNum, row, col, false); // turns on LED at col, row
delay(25);
}
}
}
}