Closed maxmurugan closed 1 year ago
Sorry, I don't understand. Please explain more clearly, what is a problem
this is p6 module using PICO board
working fine after few hour display showing garbage please check video.
https://github.com/board707/DMD_STM32/assets/4962604/797d4938-7323-412a-8c12-5b2e466a39c0
At the garbage time Restart the controller going to normal working
same issue I will face p10 red color module.
Good afternoon Too little information to give advice This behavior can be caused by many reasons - errors in the code, power problems, some kind of electromagnetic interference. For example, one of the options is memory problems in the library code or in the main program. Could you please provide a example code, where the problem is observed.
please check
/*-------------------------------------------------------------------------------------- Demo for RGB panels
DMD_STM32a example code for STM32F103xxx board ------------------------------------------------------------------------------------- */
//###########################################################################################
template
}; //################################################################################ byte second1, minute1, hour1, dayOfWeek1, dayOfMonth1, month1,year1; char a[15]; char b[15]; // Fonts includes
//Number of panels in x and y axis
// ==== DMD_RGB pins ==== // mux pins - A, B, C... all mux pins must be selected from same port!
// put all mux pins at list uint8_t mux_list[] = { DMD_PIN_A , DMD_PIN_B , DMD_PIN_C , DMD_PIN_D , DMD_PIN_E };
// pin OE must be one of PB0 PB1 PA6 PA7
// Pins for R0, G0, B0, R1, G1, B1 channels and for clock. // By default the library uses RGB color order.2 // If you need to change this - reorder the R0, G0, B0, R1, G1, B1 pins. // All this pins also must be selected from same port! uint8_t custom_rgbpins[] = { 11, 16,17,18,19,20,21 }; // CLK, R0, G0, B0, R1, G1, B1 // Fire up the DMD object as dmd<MATRIX_TYPE, COLOR_DEPTH> // We use 64x32 matrix with 16 scans and 4bit color: DMD_RGB <RGB32x32plainS8 , COLOR_4BITS> dmd(mux_list, DMD_PIN_nOE, DMD_PIN_SCLK, custom_rgbpins, DISPLAYS_ACROSS, DISPLAYS_DOWN, ENABLE_DUAL_BUFFER);
// --- Define fonts ---- // DMD.h old style font DMD_Standard_Font UkrRusArial_F(SystemFont5x7); DMD_Standard_Font basket_32(max32); DMD_Standard_Font font6x16(Font6x16); DMD_Standard_Font font7x16(Font7x16); DMD_Standard_Font basket_16(Basket_16); // GFX font with sepatate parts for Latin and Cyrillic chars DMD_GFX_Font GlametrixL((uint8_t)&GlametrixLight12pt7b, (uint8_t)&GlametrixLight12pt8b_rus, 0x80, 13);
//############################################################### uint16_t col[] = { dmd.Color888(255,0, 0), // red dmd.Color888(0, 255, 0), // green dmd.Color888(0, 0, 255), // blue dmd.Color888(0, 255, 255), // blue dmd.Color888(255, 255, 0), // blue dmd.Color888(255, 255, 255), // blue }; //############################################################## int utf8_rus(char dest, const unsigned char src) {
uint16_t i, j; for ( i =0, j =0; src[i]; i++) { if ((src[i] == 0xD0 )&& src[i+1]) { dest[j++] = src[++i] - 0x10;} else if ((src[i] == 0xD1 )&& src[i+1]) {dest[j++] = src[++i] + 0x30; } else dest[j++] = src[i]; } dest[j] ='\0'; return j; }
const int dimmerValues[11] = {10, 25 , 50, 64 , 100 , 160, 210, 500, 750, 1000,1024}; byte Select_RTC = 0; // 1 - MCP7940 0 - Ds1307 byte ON = 0; int16_t brightness=6; int8_t switchhour=12; int8_t Timer_start = 0; int8_t Timer_counter =0; int8_t prestate = 0; void setup(void) {
// initialize DMD objects
dmd.init(); Wire.begin(); delay(100); EEPROM.begin(512); delay(100); brightness = EEPROM.read(1); Timer_counter = EEPROM.read(2);; delay(10); dmd.setBrightness(dimmerValues[brightness]); Serial.begin(9600); Serial.println("PICO P10 RTC"); pinMode(Start_Timer, INPUT_PULLUP); pinMode(Stop_Timer, INPUT_PULLUP); pinMode(Reset_Timer, INPUT_PULLUP); digitalWrite(Start_Timer,HIGH); digitalWrite(Stop_Timer,HIGH); digitalWrite(Reset_Timer,HIGH); delay(1000);
}
/-------------------------------------------------------------------------------------- loop Arduino architecture main loop --------------------------------------------------------------------------------------/
void loop(void) {
dmd.selectFont(&basket_16);
dmd.setTextColor(0, 0);
Serial.print("WELCOME PICO P4 RGB");
// Cycle for tests:
// -- running texts moving at x and y axis with single and double speed
// -- vertical scrolling message
while (1)
{
if(ON == 0)
{
int start_timer = digitalRead(Start_Timer);
int stop_timer = digitalRead(Stop_Timer);
int reset_timer = digitalRead(Reset_Timer);
//#########################read ball count
if(start_timer == LOW && prestate == 0)
{
hour1 =0;minute1=0;second1=0;
setDate_DS1307();
Timer_start = 1;
prestate = 1;
}
else if(stop_timer == LOW && prestate == 0 && Timer_start == 1)
{
Timer_start = 2;
Timer_counter++;
EEPROM.write(2, Timer_counter);
EEPROM.commit();
delay(100);
prestate = 1;
}
else if(reset_timer == LOW && prestate == 0)
{
Timer_start = 2;
Timer_counter =0;
hour1 =0;minute1=0;second1=0;
setDate_DS1307();
EEPROM.write(2, Timer_counter);
EEPROM.commit();
delay(100);
dmd.clearScreen(true);
prestate = 1;
}
else if (start_timer == HIGH && stop_timer == HIGH && reset_timer == HIGH)
{
prestate = 0;
}
if(Timer_start == 1)
{
if(Select_RTC == 0)getDate_DS1307();
if(Select_RTC == 1)getDate_MCP7940();
}
//sprintf(a,"%02d:%02d:%02d",hour1,minute1,second1);
//sprintf(b,"%02d:%02d:%02d",dayOfMonth1,month1,year1);
dmd.selectFont(&basket_16);
sprintf(a,"%02d:%02d",minute1,second1);
sprintf(b,"%4d",Timer_counter);
dmd.drawString(17,0,a,sizeof(a),col[1]);
dmd.selectFont(&basket_16);
dmd.drawString(24,17,b,sizeof(b),col[2]);
dmd.selectFont(&UkrRusArial_F);
dmd.drawString(1,5,"CT",3,col[4]);
dmd.drawString(1,22,"QTY",4,col[4]);
dmd.swapBuffers(true);
}
}
}
//###################################### DS3232 clock code ########################
byte decToBcd(byte val)
{
return ( (val/1016) + (val%10) );
}
byte bcdToDec(byte val)
{
return ( (val/1610) + (val%16) );
}
void setDate_DS1307()
{
Wire.beginTransmission(104);
Wire.write(0);
Wire.write(decToBcd(second1));
Wire.write(decToBcd(minute1));
Wire.write(decToBcd(hour1));
Wire.write(decToBcd(dayOfWeek1));
Wire.write(decToBcd(dayOfMonth1));
Wire.write(decToBcd(month1));
Wire.write(decToBcd(year1));
Wire.endTransmission();
}
void getDate_DS1307()
{
Wire.beginTransmission(104);
Wire.write(0);
Wire.endTransmission();
Wire.requestFrom(104,7);
second1 = bcdToDec(Wire.read() & 0x7f);
minute1 = bcdToDec(Wire.read());
hour1 = bcdToDec(Wire.read() & 0x3f);
dayOfWeek1 = bcdToDec(Wire.read());
dayOfMonth1 = bcdToDec(Wire.read());
month1 = bcdToDec(Wire.read());
year1 = bcdToDec(Wire.read());
}
//##################################### end of code ####################
void setDate_MCP7940()
{
Wire.beginTransmission(111);
Wire.write(0);
Wire.write(decToBcd(second1) | 0x80);
Wire.write(decToBcd(minute1));
Wire.write(decToBcd(hour1));
Wire.write(decToBcd(dayOfWeek1) | 0x08);
Wire.write(decToBcd(dayOfMonth1));
Wire.write(decToBcd(month1));
Wire.write(decToBcd(year1));
Wire.endTransmission();
}
void getDate_MCP7940()
{
Wire.beginTransmission(111);
Wire.write(0);
Wire.endTransmission();
Wire.requestFrom(111,7);
second1 = bcdToDec(Wire.read() & 0x7f);
minute1 = bcdToDec(Wire.read());
hour1 = bcdToDec(Wire.read() & 0x3f);
dayOfWeek1 = bcdToDec(Wire.read() & 0x07);
dayOfMonth1 = bcdToDec(Wire.read());
month1 = bcdToDec(Wire.read());
year1 = bcdToDec(Wire.read());
}
I am not sure is this a cause of the problem or not, but there are errors in the code. At the end of the loop()
dmd.drawString(17,0,a,sizeof(a),col[1]);
The using of sizeof()
is incorrect in this case, it returns the size of array rather than a length of string. Use the strlen()
instead:
dmd.drawString(17,0,a,strlen(a),col[1]);
There are a several lines with the same error.
Next, these two methods are wrong:
byte decToBcd(byte val)
{
return ( (val/1016) + (val%10) );
}
byte bcdToDec(byte val)
{
return ( (val/1610) + (val%16) );
}
Since the calculation is carried out in integers, the first expression, (val/1610)
, is always zero and whole result will be val % 10
in first function and val %16
in second.
thanks sir i will change this code and check
this is copy past issue
byte decToBcd(byte val) { return ( (val/1016) + (val%10) ); } byte bcdToDec(byte val) { return ( (val/1610) + (val%16) ); }
(val/10x16)
i get new error in p10 red module
https://github.com/board707/DMD_STM32/assets/4962604/64da251a-9b4d-4ea9-bb7d-ce3d5c0d753e
please check and give the solution sir
please check txt file code sir
Showing junk display at this time PICO Serial data received
Sorry but your code seems to have a some errors:
What are you try to achieve in this line?
if((Adjust_Temp/1000)== '+') {
your Adjust_Temp is integer, comparing it with char not making sense for me
This line is not the one with errors...
If you find a bug in a library, please prepare a short code example where the bug appears. I don't have the ability to run your entire project with modbus, serial and sensors.
i am trying to find this bug ,every 2 to 3 hour create this issue
please need help
every 1 hour, how to restart your library or Software restart for raspberry pi pico
how to restart your library or Software restart for raspberry pi pico
Hi To soft restart a Pico board you can use a watchdog feature: https://github.com/raspberrypi/pico-examples/blob/master/watchdog/hello_watchdog/hello_watchdog.c
I completely remove DHT library code ,Now no error on the led display thanks for your support
I have another one question
i have custom led board 74 hc595 and uln2803 driver ic
1/2 scan method it is possible drive your library
16x48 pixel
have custom led board 74 hc595 and uln2803 driver ic
Uln2803 driver? Are you sure? It is not common for LED panels using this driver. Is the panel has a HUB75 connector ? Please show the pictures
it is old board design using railway application
1 and 9 column connected 16x48 total 6 74hc595 ic 8 and 16 connected
tomorrow will send picture
Right side is first input for 74hc595
this code working only move 6 char One shiftRegiter load One char please help
int latchPin = 12; // pis connected to shift registors int clockPin = 9; int dataPin = 8; const int mrpin = 11; // Connects to the DS pin of 74HC595 int pins [8] = {16 ,17,18, 19, 20,21, 10, 6}; // common cathode pinsint pins [8] = {20, 19,18, 17, 16, 6, 10, 21}; // common cathode pins byte Railway_8x16[][16] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 32 0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x18,0x18, // Code for char num 33 0x00,0x1B,0x1B,0x1B,0x1B,0x1B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 34 0x00,0xB0,0xB0,0xD8,0xFE,0xFE,0xD8,0xD8,0x6C,0x6C,0x6C,0xFF,0xFF,0x6C,0x36,0x36, // Code for char num 35 0x0C,0x1E,0x3F,0x33,0x33,0x33,0x07,0x0E,0x1C,0x38,0x38,0x33,0x33,0x33,0x3F,0x1E, // Code for char num 36 0x00,0x1E,0x33,0x33,0x33,0x33,0x33,0x33,0x9E,0x40,0x40,0x20,0x10,0x10,0x08,0x04, // Code for char num 37 0x00,0x3E,0x7F,0x63,0x63,0x63,0x03,0xFE,0xFE,0x63,0x63,0x63,0x63,0x63,0x7F,0x7E, // Code for char num 38 0x00,0x06,0x06,0x06,0x06,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 39 0x00,0x18,0x0C,0x0C,0x0C,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0x0C, // Code for char num 40 0x00,0x03,0x06,0x0C,0x0C,0x0C,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x0C,0x0C,0x0C, // Code for char num 41 0x00,0x18,0x5A,0xFE,0x18,0xFE,0x5A,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 42 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0xFE,0xFE,0x30,0x30,0x30,0x00,0x00, // Code for char num 43 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x02,0x03, // Code for char num 44 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 45 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18, // Code for char num 46 0x00,0xC0,0x60,0x60,0x60,0x30,0x30,0x18,0x18,0x18,0x0C,0x0C,0x06,0x06,0x06,0x03, // Code for char num 47 0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0x7C, // Code for char num 48 0x00,0x0C,0x1C,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C, // Code for char num 49 0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0x06,0x0C,0x0C,0x18,0x38,0x30,0x60,0xC0,0xFE,0xFE, // Code for char num 50 0x00,0x7C,0xFE,0xC6,0xC6,0x06,0x0E,0x1C,0x30,0x1C,0x0E,0x06,0xC6,0xC6,0xFE,0x7C, // Code for char num 51 0x00,0x0C,0x0C,0x1C,0x3C,0x3C,0x3C,0x6C,0x6C,0x6C,0xCC,0xFE,0xFE,0x0C,0x0C,0x0C, // Code for char num 52 0x00,0xFE,0xFE,0xC0,0xC0,0xC0,0xFC,0xFE,0x06,0x06,0x06,0x06,0xC6,0xC6,0xFE,0x7C, // Code for char num 53 0x00,0x7C,0xFE,0xC6,0xC6,0xC0,0xC0,0xFC,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0x7C, // Code for char num 54 0x00,0xFE,0xFE,0xC6,0x06,0x06,0x06,0x0C,0x0C,0x18,0x18,0x30,0x30,0x60,0x60,0x60, // Code for char num 55 0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xC6,0x7C,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0x7C, // Code for char num 56 0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0x7E,0x06,0x06,0xC6,0xC6,0xFE,0x7C, // Code for char num 57 0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00, // Code for char num 58 0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00, // Code for char num 59 0x00,0x00,0x00,0x00,0x00,0x40,0x60,0x38,0x1C,0x06,0x1C,0x38,0x60,0x40,0x00,0x00, // Code for char num 60 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFE,0x00,0x00,0xFE,0xFE,0x00,0x00,0x00, // Code for char num 61 0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x0E,0x1C,0x30,0x1C,0x0E,0x03,0x01,0x00,0x00, // Code for char num 62 0x00,0x1E,0x3F,0x33,0x33,0x30,0x30,0x18,0x0C,0x06,0x06,0x06,0x06,0x00,0x06,0x06, // Code for char num 63 0x00,0xFE,0x01,0x01,0x71,0xD9,0xD9,0xC1,0xF1,0xD9,0xD9,0xD9,0xF1,0x01,0x01,0xFE, // Code for char num 64 0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6, // Code for char num 65 0x00,0xFC,0xFE,0xC6,0xC6,0xC6,0xC6,0xFC,0xFC,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0xFC, // Code for char num 66 0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC6,0xC6,0xFE,0x7C, // Code for char num 67 0x00,0xFC,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0xFC, // Code for char num 68 0x00,0xFE,0xFE,0xC0,0xC0,0xC0,0xC0,0xF8,0xF8,0xC0,0xC0,0xC0,0xC0,0xC0,0xFE,0xFE, // Code for char num 69 0x00,0xFE,0xFE,0xC0,0xC0,0xC0,0xC0,0xF8,0xF8,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0, // Code for char num 70 0x00,0x7C,0xFE,0xC6,0xC6,0xC0,0xC0,0xDE,0xDE,0xD6,0xC6,0xC6,0xC6,0xC6,0xFE,0x7C, // Code for char num 71 0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6, // Code for char num 72 0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, // Code for char num 73 0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0xC6,0xC6,0xC6,0xFE,0x7C, // Code for char num 74 0x00,0xC6,0xCC,0xCC,0xD8,0xD8,0xD0,0xF0,0xE0,0xF0,0xF0,0xD8,0xD8,0xCC,0xCC,0xC6, // Code for char num 75 0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFE,0xFE, // Code for char num 76 0x00,0x82,0xC6,0xEE,0xFE,0xD6,0xD6,0xD6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6, // Code for char num 77 0x00,0xC6,0xC6,0xC6,0xC6,0xE6,0xF6,0xF6,0xDE,0xDE,0xCE,0xCE,0xC6,0xC6,0xC6,0xC6, // Code for char num 78 0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0x7C, // Code for char num 79 0x00,0xFC,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0xFC,0xC0,0xC0,0xC0,0xC0,0xC0, // Code for char num 80 0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xCE,0xCE,0xC6,0xFF,0x7F, // Code for char num 81 0x00,0xFC,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0xF8,0xD8,0xCC,0xCC,0xCE,0xC6,0xC6, // Code for char num 82 0x00,0x7C,0xFE,0xC6,0xC6,0xC6,0xE0,0x70,0x38,0x1E,0x0E,0x06,0xC6,0xC6,0xFE,0x7C, // Code for char num 83 0x00,0xFE,0xFE,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38, // Code for char num 84 0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xFE,0x7C, // Code for char num 85 0x00,0xC3,0xC3,0xC3,0x66,0x66,0x66,0x66,0x66,0x24,0x3C,0x3C,0x3C,0x3C,0x18,0x18, // Code for char num 86 0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xD6,0xD6,0xD6,0xD6,0xFE,0xEE,0xC6,0xC6,0x82, // Code for char num 87 0x00,0xC6,0xC6,0x6C,0x6C,0x6C,0x38,0x38,0x38,0x38,0x38,0x6C,0x6C,0x6C,0xC6,0xC6, // Code for char num 88 0x00,0xC3,0xC3,0x66,0x66,0x66,0x3C,0x3C,0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x18, // Code for char num 89 0x00,0xFE,0xFE,0x06,0x0C,0x0C,0x08,0x18,0x10,0x30,0x20,0x60,0x60,0xC0,0xFE,0xFE, // Code for char num 90 0x00,0x1C,0x1E,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, // Code for char num 91 0x00,0x06,0x06,0x0C,0x0C,0x0C,0x0C,0x18,0x18,0x18,0x30,0x30,0x30,0x30,0x60,0x60, // Code for char num 92 0x00,0x0E,0x1E,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, // Code for char num 93 0x00,0x08,0x1C,0x36,0x36,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 94 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 95 0x00,0x00,0x38,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 96 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x3F,0x33,0x30,0x3E,0x33,0x33,0x3F,0x36, // Code for char num 97 0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x3F,0x1F, // Code for char num 98 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x3F,0x33,0x03,0x03,0x03,0x33,0x3F,0x1E, // Code for char num 99 0x00,0x30,0x30,0x30,0x30,0x30,0x30,0x3E,0x3F,0x33,0x33,0x33,0x33,0x33,0x3F,0x36, // Code for char num 100 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x3F,0x33,0x33,0x3F,0x03,0x33,0x3F,0x1E, // Code for char num 101 0x00,0x06,0x07,0x03,0x03,0x03,0x03,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x03,0x03, // Code for char num 102 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3F,0x33,0x33,0x33,0x33,0x33,0x3F,0x3E, // Code for char num 103 0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x1B,0x3F,0x37,0x33,0x33,0x33,0x33,0x33,0x33, // Code for char num 104 0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, // Code for char num 105 0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, // Code for char num 106 0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x33,0x1B,0x1B,0x0F,0x0F,0x0F,0x1B,0x1B,0x33, // Code for char num 107 0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03, // Code for char num 108 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9B,0xFF,0x77,0x33,0x33,0x33,0x33,0x33,0x33, // Code for char num 109 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x3F,0x37,0x33,0x33,0x33,0x33,0x33,0x33, // Code for char num 110 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x3F,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E, // Code for char num 111 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x3F,0x1F, // Code for char num 112 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3F,0x33,0x33,0x33,0x33,0x33,0x3F,0x3E, // Code for char num 113 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x3F,0x37,0x33,0x03,0x03,0x03,0x03,0x03, // Code for char num 114 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x3F,0x33,0x07,0x1C,0x30,0x33,0x3F,0x1E, // Code for char num 115 0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x07,0x06, // Code for char num 116 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3E, // Code for char num 117 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x12,0x1E,0x1E,0x1E,0x0C,0x0C,0x0C, // Code for char num 118 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x32,0xFE,0xFE,0xFE,0xCC,0xCC,0xCC, // Code for char num 119 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x36,0x36,0x1C,0x1C,0x1C,0x36,0x36,0x63, // Code for char num 120 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x12,0x1E,0x1E,0x1E,0x1E,0x0C,0x0C, // Code for char num 121 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x18,0x18,0x0C,0x06,0x06,0x3F,0x3F, // Code for char num 122 0x00,0x38,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x06,0x03,0x06,0x0C,0x0C,0x0C,0x0C, // Code for char num 123 0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06, // Code for char num 124 0x00,0x0E,0x1E,0x18,0x18,0x18,0x18,0x18,0x18,0x30,0x60,0x30,0x18,0x18,0x18,0x18, // Code for char num 125 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCE,0xFE,0xE6,0x00,0x00,0x00,0x00, // Code for char num 126 0x00,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x00 // Code for char num 127 };
char a[20]="ABCD12"; static char Message[20] = "0";
void setup() { Serial.begin(9600); // Serial begin pinMode(latchPin, OUTPUT); // Pin configuration pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); pinMode(mrpin, OUTPUT); for (int i = 0; i < 8; i++) { // for loop is used to configure common cathodes pinMode(pins[i], OUTPUT); digitalWrite(pins[i], HIGH); }
}
void loop() {
digitalWrite(mrpin, HIGH); for (int j = 0; j < 8; j++) { digitalWrite(latchPin, LOW); digitalWrite(pins[j], LOW); shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[5]-32][j+8]); shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[5]-32][j]); shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[4]-32][j+8]); shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[4]-32][j]); shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[3]-32][j+8]); shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[3]-32][j]); shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[2]-32][j+8]); shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[2]-32][j]); shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[1]-32][j+8]); shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[1]-32][j]); shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[0]-32][j+8]); shiftOut(dataPin, clockPin, LSBFIRST, Railway_8x16[a[0]-32][j]); digitalWrite(latchPin, HIGH); delayMicroseconds(1000); digitalWrite(latchPin, LOW); for (int i = 0; i < 12; i++) { shiftOut(dataPin, clockPin, LSBFIRST, B00000000); } digitalWrite(latchPin, HIGH); digitalWrite(pins[j], HIGH);
} }
total 6 74hc595 ic
It seems to me that for 16x48 panel it should be 12 74hc595 ic in total.
What for do you plan to use this panels? Without major code modification, they will not work with this library. I could add support for these panels to the code if I had them available. Without panels for tests, this is hardly possible.
Why would you like to use exact this panels? Do you have dozens or hundreds? Apparently, this is a very old design and it is unlikely that anyone will actively use them. If you have only a few panels, it is hardly worth spending so much effort on them, it is more profitable to buy modern ones.
ok thanks
hi sir,
P6 RGB or P10 Red color module display issue showing at the same time serial port data send receiving working
please check picture.
after poweroff and on going to normal mode ,how to solve this issue