#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
#include <Wire.h>

//#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define HW_TYPE_1 MD_MAX72XX::PAROLA_HW
#define HW_TYPE_2 MD_MAX72XX::PAROLA_HW

// Defining size, and output pins
#define MAX_DEVICES 8
#define CLK_PIN    13 // CLK or SCK
#define DATA_PIN   11 // DATA or MOSI
#define CS1_PIN 10

#define CLK_PIN    5 //pin CLK terhubung ke pin 13 pd Arduino      | grup bawah
#define DATA_PIN   7 //pin DATA_PIN terhubung ke pin 11 pd Arduino | grup bawah
#define CS2_PIN    6 //pin CS terhubung ke pin 10 pd Arduino       | grup bawah


// Create a new instance of the MD_Parola class with hardware SPI connection
MD_Parola layar1 = MD_Parola(HW_TYPE_1, CS1_PIN, MAX_DEVICES);
MD_Parola layar2= MD_Parola(HW_TYPE_2,DATA_PIN,CLK_PIN,CS2_PIN,MAX_DEVICES);// | grup bawah

textEffect_t animasi[] = { //blok var array berisi mode animasi
  PA_SCROLL_RIGHT, PA_WIPE,            //animasi #0 dan #1
  PA_SCROLL_UP, PA_SCROLL_DOWN,            //animasi #2 dan #3
  PA_OPENING_CURSOR, PA_BLINDS,            //animasi #4 dan #5
  PA_SCROLL_UP_RIGHT, PA_SCROLL_DOWN_RIGHT,//animasi #6 dan #7
  PA_MESH, PA_WIPE_CURSOR                  //animasi #8 dan #9
};
int i=0, j=0; //deklarasi dua penghitung utk display data dan animasi


void setup() {
  Serial.begin(9600);
  layar1.begin();          //inisialisasi dot matrix
  layar1.setIntensity(0);  //set intensitas 
  layar1.displayClear();   //matikan seluruh dot 
  layar1.setPause(500);    //set jeda antar animasi
  layar1.setSpeed(30);     //set kecepatan animasi
  //layar1.displayScroll("Hallo .....", PA_LEFT, PA_SCROLL_LEFT, 100);

  layar2.begin();          //inisialisasi dot matrix
  layar2.setIntensity(0);  //set intensitas 
  layar2.displayClear();   //matikan seluruh dot 
  layar2.setPause(500);    //set jeda antar animasi
  layar2.setSpeed(30);     //set kecepatan animasi
  //layar2.displayScroll("Hallo baris-2", PA_LEFT, PA_SCROLL_LEFT, 100);
}

void loop() {
  if (layar1.displayAnimate()) {
    //layar1.setTextAlignment(PA_CENTER);
    layar1.displayText("- Jam Digital -", PA_CENTER, layar1.getSpeed(), 2000, animasi[0], animasi[0]);
  }
  if (layar2.displayAnimate()) {
    layar2.displayText("RTC-Dot_Matrix", PA_CENTER, layar2.getSpeed(), 2000, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
    //layar2.setTextAlignment();
  }
}
uno1:A5.2
uno1:A4.2
uno1:AREF
uno1:GND.1
uno1:13
uno1:12
uno1:11
uno1:10
uno1:9
uno1:8
uno1:7
uno1:6
uno1:5
uno1:4
uno1:3
uno1:2
uno1:1
uno1:0
uno1:IOREF
uno1:RESET
uno1:3.3V
uno1:5V
uno1:GND.2
uno1:GND.3
uno1:VIN
uno1:A0
uno1:A1
uno1:A2
uno1:A3
uno1:A4
uno1:A5
matrix1:V+
matrix1:GND
matrix1:DIN
matrix1:CS
matrix1:CLK
matrix1:V+.2
matrix1:GND.2
matrix1:DOUT
matrix1:CS.2
matrix1:CLK.2
matrix2:V+
matrix2:GND
matrix2:DIN
matrix2:CS
matrix2:CLK
matrix2:V+.2
matrix2:GND.2
matrix2:DOUT
matrix2:CS.2
matrix2:CLK.2
matrix3:V+
matrix3:GND
matrix3:DIN
matrix3:CS
matrix3:CLK
matrix3:V+.2
matrix3:GND.2
matrix3:DOUT
matrix3:CS.2
matrix3:CLK.2
matrix4:V+
matrix4:GND
matrix4:DIN
matrix4:CS
matrix4:CLK
matrix4:V+.2
matrix4:GND.2
matrix4:DOUT
matrix4:CS.2
matrix4:CLK.2
gnd1:GND