#include <MD_Parola.h>
#include <MD MAX72xx.h>
#include <SPI.h>
#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//#include <LedControl.h>
// set to 1 if we are implementing the user interface pot, switch, etc
#define USE_UI_CONTROL 0
#if USE_UI_CONTROL
#include <MD UISwitch.h>
#endif
// Turn on debug statements to the serial output
#define DEBUG 0
#if DEBUG
#define PRINT(s,x){ Serial.print(F(s)); Serial.print(x); }
#define PRINTS(x) Serial.print(F(x))
#define PRINTX(x) Serial.println(x, HEX)
#else
#define PRINT (s, x)
#define PRINTS(x)
#define PRINTX(x)
#endif
// Define the number of devices we have in the chain and the hardware interface
// NOTE: These pin numbers will probably not work with your hardware and may
// need to be adapted
#define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW
#define MAX_DEVICES 11
#define CLK_PIN 13
#define DATA_PIN 11
#define CS PIN 10
// HARDWARE SPI
MD Parola P MD_Parola (HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
// SOFTWARE SPI
//MD_Parola PMD_Parola (HARDWARE_TYPE, DATA PIN, CLK_PIN, CS_PIN, MAX_DEVICES);
// Scrolling parameters
#if USE UI_CONTROL
const uint8_t SPEED_IN = A5;
const uint8_t DIRECTION_SET 8; // change the effect// change the invert
const uint8_t INVERT_SET = 9;
const uint8_t SPEED_DEADBAND = 5;
#endif // USE UI CONTROL
// default frame delay v
uint8_t scrollSpeed = 25;
textEffect_t scrollEffect PA_SCROLL_LEFT;
textPosition_t scrollAlign = PA_LEFT;
uint16_t scrollPause 100; // in milliseconds
// Global message buffers shared by Serial and Scrolling functions
#define BUF SIZE 100
char curMessage [BUF_SIZE] = { "" };
char newMessage [BUF_SIZE] = { "RANGKAIAN ELEKTRONIKA SEDERHANA & TEGANGAN RENDAH-SISTEM KOMPUTER KAMPUS KOTA SERANG "}
[09.37, 23/4/2024] komalawiyah: bool newMessageAvailable true;
#if USE UI_CONTROL
MD_UISwitch_Digital uiDirection (DIRECTION_SET);
MD_UISwitch_Digital uiInvert (INVERT_SET);
void doUI(void)
{
// set the speed if it has changed
{
int16_t speed map(analogRead(SPEED_IN), 0, 1023, 10, 150);
if ((speed >= ((int16_t)P.getSpeed() + SPEED_DEADBAND)) ||
(speed <= ((int16_t)P.getSpeed() SPEED_DEADBAND)))
{
P.setSpeed(speed);
scrollSpeed = speed;
PRINT("\nChanged speed to ", P.getSpeed());
}
}