#include <LedControl.h>
LedControl lc = LedControl(10, 8, 9, 1);
// Binary representation of letters M, A, R, Y, G, O, L, and D
const uint8_t LETTER_IMAGES[][8] = {
// M
{0b10000001, 0b11000011, 0b10100101, 0b10011001, 0b10000001, 0b10000001, 0b10000001, 0b10000001},
// A
{0b00111100, 0b01000010, 0b01000010, 0b01111110, 0b01000010, 0b01000010, 0b01000010, 0b00000000},
// R
{0b01111100, 0b01000010, 0b01000010, 0b01111100, 0b01001000, 0b01000100, 0b01000010, 0b00000000},
// Y
{0b01000010, 0b01000010, 0b01000010, 0b00111100, 0b00001000, 0b00001000, 0b00001000, 0b00000000},
// G
{0b00111100, 0b01000010, 0b01000000, 0b01001110, 0b01000010, 0b01000010, 0b00111100, 0b00000000},
// O
{0b00111100, 0b01000010, 0b01000010, 0b01000010, 0b01000010, 0b01000010, 0b00111100, 0b00000000},
// L
{0b01000000, 0b01000000, 0b01000000, 0b01000000, 0b01000000, 0b01000000, 0b01111110, 0b00000000},
// D
{0b01111100, 0b01000010, 0b01000010, 0b01000010, 0b01000010, 0b01000010, 0b01111100, 0b00000000}
};
const int LETTER_IMAGES_LEN = sizeof(LETTER_IMAGES) / 8;
void displayLetter(const uint8_t letter[]) {
for (int i = 0; i < 8; i++) {
lc.setRow(0, i, letter[i]);
}
}
void setup() {
lc.shutdown(0, false);
lc.setIntensity(0, 15);
lc.clearDisplay(0);
}
void loop() {
// Display letters M, A, R, Y, G, O, L, and D
for (int letterIndex = 0; letterIndex < LETTER_IMAGES_LEN; letterIndex++) {
displayLetter(LETTER_IMAGES[letterIndex]);
delay(1000);
}
}