GSM Based Arduino wireless name board with P10 Led Panel

Hi Guys. I’m working on a project, SMS-Based LED P10 Display. this would display messages sent from a mobile phone to an LED P10 Display

half of my project code can be found here: [SVSEMBEDDED , 9491535690, 7842358459: SMS Monitor || P10 LED Scrolling Text Display || Arduino || SIM800L

image

I think there may be a Pin conflict? Hope you guys could help me out. thanks! :slight_smile:
The code is not complete and has more errors. can you correct me?

< #include <SPI.h> //SPI.h must be included as DMD is written by SPI (the IDE complains otherwise)
#include <DMD.h> //
#include <TimerOne.h> //
#include "SystemFont5x7.h"
#include "Arial_Black_16_ISO_8859_1.h"
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
char msg;

//Fire up the DMD library as dmd
#define DISPLAYS_ACROSS 2
#define DISPLAYS_DOWN 1
DMD dmd(DISPLAYS_ACROSS, DISPLAYS_DOWN);

/--------------------------------------------------------------------------------------
Interrupt handler for Timer1 (TimerOne) driven DMD refresh scanning, this gets
called at the period set in Timer1.initialize();
--------------------------------------------------------------------------------------
/
void ScanDMD()
{
dmd.scanDisplayBySPI();
}

/--------------------------------------------------------------------------------------
setup
Called by the Arduino architecture before the main loop begins
--------------------------------------------------------------------------------------
/
void setup(void)
{

//initialize TimerOne's interrupt/CPU usage used to scan and refresh the display
Timer1.initialize( 3000 ); //period in microseconds to call ScanDMD. Anything longer than 5000 (5ms) and you can see flicker.
Timer1.attachInterrupt( ScanDMD ); //attach the Timer1 interrupt to ScanDMD which goes to dmd.scanDisplayBySPI()

//clear/init the DMD pixels held in RAM
dmd.clearScreen( true ); //true is normal (all pixels off), false is negative (all pixels on)
Serial.begin(115200);
}

/--------------------------------------------------------------------------------------
loop
Arduino architecture main loop
--------------------------------------------------------------------------------------
/
void loop(void)
{
if (Serial.available()>0)
switch(Serial.read())

if (mySerial.available()>0)
Serial.write(mySerial.read());

dmd.clearScreen( true );
dmd.selectFont(Arial_Black_16_ISO_8859_1);
// Français, Österreich, Magyarország
const char MSG = "Fran""\xe7""ais, ""\xd6""sterreich, Magyarorsz""\xe1""g";
dmd.drawMarquee(MSG,strlen(MSG),(32
DISPLAYS_ACROSS)-1,0);
long start=millis();
long timer=start;
while(1){
if ((timer+30) < millis()) {
dmd.stepMarquee(-1,0);
timer=millis();
}
}
}

void ReceiveMessage()
{
mySerial.println("AT+CNMI=2,2,0,0,0"); // AT Command to recieve a live SMS
delay(1000);
if (mySerial.available()>0)
{
msg=mySerial.read();
Serial.print(msg);
}
}/>

Please follow the advice given in the link below when posting code, in particular the section entitled 'Posting code and common code problems'

Use code tags (the </> icon above the compose window) to make it easier to read and copy for examination