#include <MD_MAX72xx.h>
#include <SPI.h>
// Uncomment according to your hardware type
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
//#define HARDWARE_TYPE MD_MAX72XX::GENERIC_HW
// Defining size, and output pins
// For Matrix 1
#define DIN1 23
#define CS1 5
#define CLK1 18
#define DEV 1 //No of Devices
MD_MAX72XX MATRIX1 = MD_MAX72XX(HARDWARE_TYPE, CS1, DEV);
// For Matrix 2
#define DIN2 13
#define CS2 15
#define CLK2 14
#define DEV 1 //No of Devices
MD_MAX72XX MATRIX2 = MD_MAX72XX(HARDWARE_TYPE, CS2, DEV);
// #define MAX_DEVICES 1
// #define CS_PIN 5
// #define delay_t 50
// MD_MAX72XX Display = MD_MAX72XX(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
byte rock[8] = {0x18, 0x3C, 0x7C, 0xFE, 0xFF, 0xFF, 0xFF, 0x7E};
byte paper[8] = {0xFF, 0x81, 0xBD, 0x81, 0xBD, 0x81, 0x81, 0x7E};
byte scissors[8] = {0x41, 0xA2, 0xAC, 0x70, 0x70, 0xAC, 0xA2, 0x41};
void setup() {
// Display.begin();
// Display.control(MD_MAX72XX::INTENSITY, 0);
// Display.clear();
MATRIX1.begin();
MATRIX1.control(MD_MAX72XX::INTENSITY, 0);
MATRIX1.clear();
MATRIX2.begin();
MATRIX2.control(MD_MAX72XX::INTENSITY, 0);
MATRIX2.clear();
}
void loop() {
matrix1();
matrix2();
}
void matrix1() {
for (int i = 0; i <= 7; i++) {
MATRIX1.setRow(0, 0, i, rock[i]);
}
delay(1000);
for (int i = 0; i <= 7; i++) {
MATRIX1.setRow(0, 0, i, paper[i]);
}
delay(1000);
for (int i = 0; i <= 7; i++) {
MATRIX1.setRow(0, 0, i, scissors[i]);
}
delay(1000);
}
void matrix2() {
for (int i = 0; i <= 7; i++) {
MATRIX2.setRow(0, 0, i, rock[i]);
}
delay(1000);
for (int i = 0; i <= 7; i++) {
MATRIX2.setRow(0, 0, i, paper[i]);
}
delay(1000);
for (int i = 0; i <= 7; i++) {
MATRIX2.setRow(0, 0, i, scissors[i]);
}
delay(1000);
}