#include <MD_MAX72xx.h> //deklarasi penggunaan library MD_MAX72xx
#include <SPI.h> //deklarasi penggunaan library SPI
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW //pendefinisian tipe FC16_HW
#define MAX_DEVICES 4 //pendefinisian total modul yg dikaskade
#define CS_PIN 10 //pin CS terhubung ke pin 10 pd Arduino
// Koneksi hardware SPI
MD_MAX72XX mx = MD_MAX72XX(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
//pengaturan penyalaan titik pada Dot Matrix
byte heart[8] = {0x00, 0x66, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C, 0x18};
byte face[8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C};
byte face2[8] = {0x00, 0x24, 0x24, 0x24, 0x00, 0x42, 0x3C, 0x00};
byte arrow[8] = {0x18, 0x0C, 0x06, 0xFF, 0xFF, 0x06, 0x0C, 0x18};
void setup() {
mx.begin(); //Inisialisasi dot matrix
mx.control(MD_MAX72XX::INTENSITY, 0); //setting intensitas 0-15
mx.clear(); //hapus layar
}
void loop() {
for (int i = 0; i <= 7; i++) {
mx.setRow(0, 0, i, heart[i]); //menyalakan baris ke-n utk heart[]
}
delay(300);
for (int i = 0; i <= 7; i++) {
mx.setRow(1, 1, i, face[i]); //menyalakan baris ke-n utk face[]
}
delay(300);
for (int i = 0; i <= 7; i++) {
mx.setRow(2, 2, i, face2[i]); //menyalakan baris ke-n utk face2[]
}
delay(300);
for (int i = 0; i <= 7; i++) {
mx.setRow(3, 3, i, arrow[i]); //menyalakan baris ke-n utk arrow[]
}
delay(300);
mx.clear(); //hapus layar
delay(300);
}