#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 4 // Número de módulos da matriz de LEDs
#define CLK_PIN 18 //13
#define DATA_PIN 23 // 14
#define CS_PIN 5 // 12
MD_Parola myDisplay = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
char message[100]; // Buffer para armazenar a mensagem
String define_escrever;
void setup() {
myDisplay.begin();
myDisplay.setIntensity(3); // Defina a intensidade da luz (0-15)
myDisplay.displayClear();
}
void loop() {
//int x = 29;
//define_escrever = String(x) + " > " + String(x);
define_escrever = "Inicio";
exibe(PA_SCROLL_LEFT);
delay(3000);
myDisplay.displayClear();
for(int t = 15; t >= 0; t--){
define_escrever = String(t);
exibe(PA_SCROLL_LEFT);
delay(700);
myDisplay.displayClear();
}
//myDisplay.displayClear();
delay(200);
define_escrever = "FIM...";
exibe(PA_SCROLL_RIGHT);
delay(2000);
myDisplay.displayClear();
}
/*
void exibe() {
strcpy(message, define_escrever.c_str());
myDisplay.displayText(message, PA_CENTER, 0, 0, PA_NO_EFFECT);
myDisplay.displayAnimate();
}
*/
void exibe(textEffect_t effect) {
strcpy(message, define_escrever.c_str());
myDisplay.displayText(message, PA_CENTER, 20, 0, effect); // Scroll speed ajustável pelo segundo argumento
while (!myDisplay.displayAnimate()) {
// Aguarda o fim do efeito antes de continuar
}
}