#include "LedControl.h"
// Pin connections
#define DIN_PIN 11 // Data In
#define CS_PIN 10 // Chip Select
#define CLK_PIN 13 // Clock
// Create a LedControl object
LedControl lc = LedControl(DIN_PIN, CLK_PIN, CS_PIN, 1);
void setup() {
// Initialize the MAX7219 with number of devices
lc.shutdown(0, false); // The MAX7219 is in power-saving mode on startup, we have to do a wakeup call
lc.setIntensity(0, 8); // Set the brightness (0-15)
lc.clearDisplay(0); // Clear the display
}
void loop() {
// Display numbers from 0 to 9 on the 8x8 LED dot matrix
for (int i = 0; i <= 9; ++i) {
displayNumber(2);
delay(1000); // Display for 1 second
}
}
// Function to display a number on the 8x8 LED dot matrix
void displayNumber(int number) {
// Define patterns for each digit (0-9)
byte digitPatterns[10][8] = {
{B00111100, B01000010, B01000010, B01000010, B01000010, B01000010, B01000010, B00111100}, // 0
{B00011000, B00111000, B00011000, B00011000, B00011000, B00011000, B00011000, B00111100}, // 1
{B00111100, B01100110, B01100110, B00000110, B00001100, B00010000, B00111110, B01111110}, // 2
{B0111110, B1000001, B0000001, B0111110, B0000001, B0000001, B1000001, B0111110}, // 3
{B1001001, B1001001, B1001001, B1111111, B0001001, B0001001, B0001001, B0001001}, // 4
{B1111111, B1000000, B1000000, B1111110, B0000001, B0000001, B1000001, B0111110}, // 5
{B0111110, B1000001, B1000000, B1111110, B1000001, B1000001, B1000001, B0111110}, // 6
{B1111111, B1000001, B0000001, B0000010, B0000010, B0000100, B0000100, B0000100}, // 7
{B0111110, B1000001, B1000001, B0111110, B1000001, B1000001, B1000001, B0111110}, // 8
{B0111110, B1000001, B1000001, B0111111, B0000001, B0000001, B1000001, B0111110} // 9
};
// Display the digit pattern on the matrix
for (int row = 0; row < 8; ++row) {
lc.setRow(0, row, digitPatterns[number][row]);
}
}