Hi every one,
I am trying to make a simple program, in which i am trying to read a text file from sd card using MD_Parola.h. I successfully printed text on serial monitor, but when it comes to print it on DMD It shows nothing. Any suggestions in the codes please let me know.
#include<SPI.h>
#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SD.h>
#include "Fonts.h"
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
//************************************//
#define MAX_DEVICES_DISPLAY 8
#define MAX_ZONES_DISPLAY 2
#define DZ0 0
#define DZ1 1
#define CS_PIN_DISPLAY 29
#define CLK_PIN 52
#define DATA_PIN 51
#define CS_SD 53
MD_Parola Display = MD_Parola(HARDWARE_TYPE, CS_PIN_DISPLAY, MAX_DEVICES_DISPLAY);
int eng_msg=1; // int def of eng_msg set to 1
char Eng_Buf[20]="";
String Rand_FileName="";
String English_Msg="";
File fp_Rand_File;
void setup() {
Serial.begin(9600);
Display.begin(MAX_ZONES_DISPLAY);
Display.setIntensity(0);
Display.setZone(DZ0, 0, 3);
Display.setZone(DZ1, 4, 7);
Display.setFont(DZ0, BigFontLower);
Display.setFont(DZ1, BigFontUpper );
if (!SD.begin(CS_SD)) {
Serial.println("SD Initialization failed!");
return;
}
else
{
Serial.println("SD Initialization Success\n");
}
Display_Msg_From_SD();
}
void loop() {
Display_Custom_Msg_English();
}
void Display_Custom_Msg_English(char* Buf)
{
if (Display.getZoneStatus(DZ0) && Display.getZoneStatus(DZ1) )
{
if((eng_msg == 1))
{
Display.displayZoneText(DZ0,Buf, PA_CENTER, 50, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
Display.displayZoneText(DZ1,Buf, PA_CENTER, 50, 0, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
}
}
Display.displayAnimate();
Display.synchZoneStart();
}
void Display_Msg_From_SD()
{
Rand_FileName = "1.txt";
Serial.print(Rand_FileName);
fp_Rand_File = SD.open(Rand_FileName);
if(fp_Rand_File)
Serial.println("Success opening :"+ Rand_FileName);
else
{
Serial.println("error opening :"+ Rand_FileName);
while(1);
}
int Eng_Chars2Read = 0;
char char_read =0;
English_Msg="";
Serial.println(fp_Rand_File.available());
for(;fp_Rand_File.available();)
{
//Complete Reading English Message
for(;;)
{
char_read = fp_Rand_File.read();
if((char_read != ',') && ( char_read != '.'))
{
English_Msg += char_read;
Eng_Chars2Read++;
continue;
}
else if (char_read == ',')
continue;
else if (char_read == '.')
break;
else
break;
}
English_Msg.toCharArray(Eng_Buf,Eng_Chars2Read+1);
Display_Custom_Msg_English(Eng_Buf);
}
}