// Header file includes
#include <Wire.h>
#include <MD_MAX72xx.h>
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
#define MAX_DEVICES 2
#define CLK_PIN 13 // CLK or SCK
#define DATA_PIN 11 // DATA or MOSI
#define CS_PIN 10 // CS or SS
#define SPEED_TIME 75 // Speed of the transition
#define PAUSE_TIME 0
MD_MAX72XX matice = MD_MAX72XX(MD_MAX72XX::PAROLA_HW, CS_PIN, MAX_DEVICES);
int x = 0, x_max = 7, x_min = 0;
int y = 0, y_max = 7, y_min = 0;
int sestka[24][2] = {{0, 7}, {0, 6}, {0, 1}, {0, 0},
{1, 7}, {1, 6}, {1, 1}, {1, 0},
{3, 7}, {3, 6}, {3, 1}, {3, 0},
{4, 7}, {4, 6}, {4, 1}, {4, 0},
{6, 7}, {6, 6}, {6, 1}, {6, 0},
{7, 7}, {7, 6}, {7, 1}, {7, 0}
};
void setup() {
// put your setup code here, to run once:
matice.begin(); // Inicializuje knihovnu a nastaví piny pro komunikaci s displejem.
//matice.setIntensity(8); // Nastaví jas displeje. Hodnota intensity může být od 0 (nejnižší jas) do 15 (nejvyšší jas).
matice.clear(); //Vymaže obsah displeje.
}
void loop() {
// put your main code here, to run repeatedly:
int size = sizeof(sestka) / sizeof(sestka[0]);
for (int i = 0; i < size; i++) {
matice.setPoint(sestka[i][0], sestka[i][1], true);
}
// Zobrazí bod na zadaní pozici
// matice.setRow(3, 0b11100111);
// matice.setColumn(3, 0b11100111);
// matice.setChar(i, 'A'); // Zobrazí písmeno "A" na různé pozici vertikálně
matice.update(); // Aktualizuje displej s novými hodnotami
delay(100);
matice.clear();
}