#include <MD_Parola.h>  //deklarasi penggunaan library Parola
#include <MD_MAX72xx.h> //deklarasi penggunaan library MD_MAX72xx.h
#include <SPI.h>        //deklarasi penggunaan library SPI

#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW //pendefinisian tipe FC16_HW
#define MAX_DEVICES 12 //pendefinisian total modul yg dikaskade
#define CS_PIN     10 //pin CS terhubung ke pin 10 pd Arduino

// Koneksi SPI secara hardware dengan penamaan myDisplay
MD_Parola myDisplay = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
//#define PB 7  //deklarasi tombol PB ke pin 7 pada Arduino
//#define Buz 4 //deklarasi Buzzer ke pin 4 pada Arduino
int i = 0;    //variabel penghitung pengulangan dan diset 0

textEffect_t animasi[] = {
  PA_NO_EFFECT,
  PA_WIPE,          //animasi #1
  PA_WIPE_CURSOR,   //animasi #2
  PA_OPENING_CURSOR,//animasi #3
  PA_CLOSING_CURSOR,//animasi #4
  PA_BLINDS,        //animasi #5
  PA_MESH,          //animasi #6
  PA_OPENING,       //animasi #7
  PA_CLOSING,       //animasi #8
  PA_SCAN_VERT,     //animasi #9
  PA_SCAN_HORIZ,    //animasi #10
  PA_SLICE,         //animasi #11
  PA_DISSOLVE,      //animasi #12
  PA_RANDOM,        //animasi #13
  PA_PRINT,         //animasi #14
  PA_SCROLL_RIGHT,  //animasi #15
  PA_SCROLL_LEFT,   //animasi #16
  PA_GROW_UP,       //animasi #17
  PA_GROW_DOWN,     //animasi #18
  PA_SCROLL_UP,     //animasi #19
  PA_SCROLL_DOWN,   //animasi #20
  PA_SCROLL_UP_RIGHT,  //animasi #21
  PA_SCROLL_UP_LEFT,   //animasi #22
  PA_SCROLL_DOWN_RIGHT,//animasi #23
  PA_SCROLL_DOWN_LEFT, //animasi #24
};
//void nextCode() {
//  while(digitalRead(PB) == HIGH){ }
//  while(digitalRead(PB) == LOW) { tone(Buz, 440); delay(20); }
//  noTone(Buz); 
//}
void setup() {
  //pinMode(PB, INPUT);         //set pin PB sbg input
  //pinMode(PB, INPUT_PULLUP);  //aktifkan resistor pull-up internal
  myDisplay.begin();          //inisialisasi dot matrix
  myDisplay.setIntensity(0);  //set intensitas
  myDisplay.displayClear();   //matikan seluruh dot
  myDisplay.setTextAlignment(PA_CENTER); //set pada posisi tengah
  myDisplay.setSpeed(10);   //set kecepatan animasi
  myDisplay.setPause(1000);   //set jeda antar animasi
}

void loop() {
  if (myDisplay.displayAnimate()) {
    if (i < sizeof(animasi)) { //menghitung mulai dari i=0 hingga i=24
      //nextCode();
      i++;      //naikkan penghitung i
    }
    else { i = 0; //set kembali i=0
    } 
    //mydisplay.displayScroll("Hi dear", PA_CENTER, texteffect[i], 150);
    //myDisplay.displayText("Hi dear", myDisplay.getTextAlignment(), myDisplay.getSpeed(), myDisplay.getPause(), animasi[i], animasi[i]);
    //myDisplay.displayText("Helo apa kabar", myDisplay.getTextAlignment(), myDisplay.getSpeed(), myDisplay.getPause(), animasi[i], animasi[i]);
      myDisplay.displayText("Hello how're you today", myDisplay.getTextAlignment(), myDisplay.getSpeed(), myDisplay.getPause(), animasi[i], animasi[i]);
    }
  }
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno: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
bz1:1
bz1:2
gnd1:GND
gnd2:GND
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
gnd3:GND
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
matrix5:V+
matrix5:GND
matrix5:DIN
matrix5:CS
matrix5:CLK
matrix5:V+.2
matrix5:GND.2
matrix5:DOUT
matrix5:CS.2
matrix5:CLK.2
matrix6:V+
matrix6:GND
matrix6:DIN
matrix6:CS
matrix6:CLK
matrix6:V+.2
matrix6:GND.2
matrix6:DOUT
matrix6:CS.2
matrix6:CLK.2