#include <MD_MAX72xx.h>
#include <MD_Parola.h>
#include <SPI.h>
const byte clock_pin = 18;
const byte data_pin = 23;
const byte chip_select_pin = 15;
const byte max_devices = 4;
const byte pushb_pin = 26;
MD_Parola matrix = MD_Parola(MD_MAX72XX::PAROLA_HW, chip_select_pin, max_devices);
void setup() {
Serial.begin(115200);
matrix.begin();
matrix.displayClear();
pinMode(pushb_pin, INPUT_PULLUP);
}
void loop() {
static byte buttonState = HIGH;
static byte lastButtonState = HIGH;
static byte scrollMode = 0;
static int buttonPressCount = 0;
buttonState = digitalRead(pushb_pin);
if (buttonState != lastButtonState) {
if (buttonState == LOW) {
// Button is pressed, change scroll mode and perform additional actions
scrollMode = (scrollMode + 1) % 5;
switch (scrollMode) {
case 0:
matrix.displayText("Qasim", PA_CENTER, 50, 2000, PA_SCROLL_UP, PA_SCROLL_UP);
break;
case 1:
matrix.displayText("Qasim", PA_CENTER, 50, 2000, PA_SCROLL_DOWN, PA_SCROLL_DOWN);
break;
case 2:
matrix.displayText("Qasim", PA_CENTER, 50, 2000, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
break;
case 3:
matrix.displayText("Qasim", PA_CENTER, 50, 2000, PA_SCROLL_RIGHT, PA_SCROLL_RIGHT);
break;
case 4:
matrix.displayText("Qasim", PA_CENTER, 50, 2000, PA_RANDOM, PA_RANDOM);
break;
}
// Additional action: Increment button press count
buttonPressCount++;
Serial.print("Button Press Count: ");
Serial.println(buttonPressCount);
}
}
lastButtonState = buttonState;
matrix.displayAnimate();
}