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

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.