#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
#include <RTClib.h>
#include <Wire.h>
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
#define MAX_DEVICES 4
#define CLK_PIN 13
#define DATA_PIN 11
#define CS_PIN 10
char daysOfTheWeek[7][3] = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
char boot[100] = "Please Wait";
//DECLARE HW TYPE AND SET DATE TIME
RTC_DS1307 rtc;
MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
DateTime now = rtc.now();
//SET ANIMATION
uint8_t scrollSpeed = 10000;
textEffect_t scrollEffect = PA_PRINT;
textPosition_t scrollAlign = PA_CENTER;
uint16_t scrollPause = 60000;
char display[100] = "";
char display2[100] = "";
//RTC AND PAROLA BEGINS
void setup () {
Serial.begin(57600);
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
Serial.flush();
abort();
}
P.begin();
P.displayText(display, scrollAlign, scrollSpeed, scrollPause, scrollEffect, scrollEffect);
display[100] = "";
}
//DISPLAY
void loop () {
DateTime now = rtc.now();
int mode = 0;
if (mode = 0){
P.displayAnimate();
sprintf(boot, "Please wait");
P.displayReset();
delay(5000);
mode = 1;
}
if (mode = 1){
P.displayAnimate();
sprintf(display, "%02d:%02d",now.hour(), now.minute(),daysOfTheWeek[now.dayOfTheWeek()]);
P.displayReset();
delay(5000);
mode = 2;
}
if (mode = 2){
P.displayAnimate();
sprintf(display, "%02d/%02d",now.day(), now.month());
P.displayReset();
delay(5000);
mode = 1;
}
}