#include <MD_Parola.h> //deklarasi penggunaan library MD_Parola
#include <MD_MAX72xx.h> //deklarasi penggunaan library MD_MAX72xx
#include <SPI.h> //deklarasi penggunaan library SPI
/* Ketik atau hapus '//' sesuai dengan tipe Dot Matrix yg digunakan */
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW //pendefinisian tipe FC16_HW
//#define HARDWARE_TYPE MD_MAX72XX::FC16_HW //pendefinisian tipe FC16_HW
//#define HARDWARE_TYPE MD_MAX72XX::GENERIC_HW //pendefinisian tipe Generic
#define MAX_ZONE 3 //deklarasi konstanta total zone
#define MAX_DEVICES 8 //pendefinisian total modul yg dikaskade
#define CS_PIN 10 //pin CS terhubung ke pin 10 pd Arduino
MD_Parola display = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
void setup() {
display.begin(3); //inisialisasi dot matrix dengan 3 zone
display.setZone(0,0,2); //zone 0 dari modul 0 s/d modul 2
display.setZone(1,3,5); //zone 1 dari modul 3 s/d modul 5
display.setZone(2,6,7); //zone 2 dari modul 6 s/d modul 7
display.setIntensity(0);//set intensitas
display.setSpeed(300); //set kecepatan animasi untuk zone 2
display.setPause(3000); //set jeda antar animasi untuk zone 2
display.displayZoneText(0,"Z-1",PA_CENTER, 50, 0, PA_SCROLL_RIGHT, PA_SCROLL_RIGHT);
display.displayZoneText(1,"Z-2", PA_CENTER, 100, 3000, PA_SCROLL_UP, PA_SCROLL_UP);
//display.displayZoneText(2,"Z-3", PA_CENTER, display.getSpeed(), display.getPause(), PA_SCROLL_RIGHT, PA_SCROLL_LEFT);
display.displayZoneText(2,"Z-3", PA_CENTER, display.getSpeed(), 3000, PA_SCROLL_RIGHT, PA_SCROLL_LEFT);
}
void loop() {
if (display.displayAnimate()) { //jalankan animasi
for(int i=0; i<MAX_ZONE; i++) { //penghitungan zone ke-n
if(display.getZoneStatus(i)) { //ambil status zone ke-n
display.displayReset(i); //reset zone ke-n
}
}
}
}