#include <MD_Parola.h> //deklarasi penggunaan library Parola
#include <SPI.h> //deklarasi penggunaan library SPI
/* Ketik atau hapus '//' sesuai dengan tipe Dot Matrix yg digunakan */
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
//#define HARDWARE_TYPE MD_MAX72XX::GENERIC_HW //pendefinisian tipe Generic
// Pendefinisian jumlah modul yg digunakan dan pin CS (Chip Select)
#define MAX_DEVICES 8 //pendefinisian total modul yg dikaskade
#define CLK_PIN 13 //pin CLK terhubung ke pin 13 pd Arduino
#define DATA_PIN 11 //pin DATA_PIN terhubung ke pin 11 pd Arduino
#define CS_PIN 10 //pin CS terhubung ke pin 10 pd Arduino
//Membuat nama Class 'layar' lalu dikaitkan dengan library MD_Parola
//MD_Parola layar = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
MD_Parola layar=MD_Parola(HARDWARE_TYPE,DATA_PIN,CLK_PIN,CS_PIN,MAX_DEVICES);
#define PB 7 //tombol PB terhubung ke pin 7 pada Arduino
#define Buz 4 //buzzer ke terhubung pin 4 pada Arduino
//membuat fungsi baru bernama 'nextCode' utk hentikan program
void nextCode() {
while(digitalRead(PB) == HIGH){ } //tunggu hingga PB ditekan
while(digitalRead(PB) == LOW) //tunggu hingga PB dilepas
{ tone(Buz, 440); delay(20); } //eksekusi selama PB ditekan
noTone(Buz); //matikan buzzer
}
void setup() {
pinMode(PB, INPUT); //set pin PB sbg input
pinMode(PB, INPUT_PULLUP); //aktifkan resistor pull-up internal
layar.begin(); //inisialisasi dot matrix
layar.setIntensity(0); //set intensitas
layar.displayClear(); //matikan seluruh dot
}
void loop() {
nextCode(); //tunggu tombol ditekan
layar.setTextAlignment(PA_LEFT);//set ke posisi kiri
layar.print("Hello"); //tampilkan 'Hello'
nextCode();
layar.setTextAlignment(PA_CENTER);//set ke posisi tengah
layar.print("Hello"); //tampilkan 'Hello'
nextCode();
layar.setTextAlignment(PA_RIGHT);//set ke posisi kanan
layar.print("Hello"); //tampilkan 'Hello'
nextCode();
layar.setTextAlignment(PA_CENTER);//set ke posisi tengah
layar.setInvert(true); //set mode invert
layar.print("Hello");
nextCode();
layar.setInvert(false); //matikan mode invert
layar.print("Hello"); //tampilkan 'Hello'
nextCode();
layar.displayClear(); //hapus penulisan pada Dot Matrix
nextCode();
layar.print("Hello"); //tampilkan 'Hello'
}