LED matrix display - MD_Parola, MD_MAX72xx and MD_MAXPanel

Marco, is the problem with Arduino IDE 1.6 solved or not yet?

Marco, is the problem with Arduino IDE 1.6 solved or not yet?

What problem?

The problem you refer to in post #425.
I didn't try it, but I was wondering if I should wait a bit before upgrading or not.
Thanks

That was an error of a header file missing in the example. Not related to the IDE version.

Ok, perfect, then. Thanks.

Where is the Line*.P.displayScroll* function in library?
I can't find it

Just uploaded the latest version of the library (v2.2), consolidating recent changes:

  • Added Scrolling_ML example
  • Added Zone_Mesg example
  • Overloaded displayClear() for single zone clear
  • Fixed bug in SLICE effect when text was too long for display
  • Support for IDE 1.6.2 library manager

marco_c:
Please post link to where you bought the modules so I can see what they are.

Hi , i am making a countdown timer with your library in 4pcs max7219 modules, i have a question how to duplicate the same display to another 4pcs max7219 modules ?

sausiang89:
Hi , i am making a countdown timer with your library in 4pcs max7219 modules, i have a question how to duplicate the same display to another 4pcs max7219 modules ?

Hi,
Did you try wiring it in parallel?

how to duplicate the same display to another 4pcs max7219 modules

You will need to explain this as clearly duplicating means that you just repeat everything for the second display, which does not need a question.

marco_c:
You will need to explain this as clearly duplicating means that you just repeat everything for the second display, which does not need a question.

Yes , just repeat everything for second display, what to do ? i am new in arduino , seems cant connect 2 set of display in the same pin right ? sorry for noob question

Clement04:
Hi,
Did you try wiring it in parallel?

i googled it last night, parallel mean connect the second display to the last module of first display ?

Parallel would be connecting the clock pins of both groups together, and the serial data, and the chip select, and power, and gnd. Then both groups receive the same data at the same time and both outputs update at the same time.

You could also do it serially, connecting the second display to the last module of first display, and then send out the same data twice. Overall update speed is then slower as twice as much data goes out. Whether that matters or not depends on the application.
Updating a display once a second? Not a problem.
Updating a moving display? The refresh rate would drop in half, which would likely be noticeable.

CrossRoads:
Parallel would be connecting the clock pins of both groups together, and the serial data, and the chip select, and power, and gnd. Then both groups receive the same data at the same time and both outputs update at the same time.

You could also do it serially, connecting the second display to the last module of first display, and then send out the same data twice. Overall update speed is then slower as twice as much data goes out. Whether that matters or not depends on the application.
Updating a display once a second? Not a problem.
Updating a moving display? The refresh rate would drop in half, which would likely be noticeable.

i will try this later, thanks in advance

marco_c:
You will need to explain this as clearly duplicating means that you just repeat everything for the second display, which does not need a question.

i solved it by using parellel two display in same pin from begin , the issue is jumper cable problem, i change new one and it work, thanks for helping

Hi Marco JFYI :slight_smile:

I bought a 4 modules by 4 modules display (i.e. 32 LEDs by 32 LEDs) off eBay (just as a programming exercise). The 16 displays are wired sequentially, 128 columns and 8 rows. I suppose they couldn't be wired otherwise. :wink:

I wrote a "wrapper" to setPoint to work in 32X32 mode okay. I needed a drawLine routine for my configuration so I copied your routine out of the MD_MAX72xx library.

The following code (in the routine) is unnecessary

  if (r1 >= ROW_SIZE || r2 >= ROW_SIZE || c1 >= (COL_SIZE*_maxDevices) || c2 >= (COL_SIZE*_maxDevices))
    return(false);

  if (c1 > c2)
  {
	  uint16_t	t;
	  t = c1;	  c1 = c2;	  c2 = t;	// swap c1/c2
	  t = r1;	  r1 = r2;	  r2 = t;	// swap r1/r2
  }

In fact it makes the point with the higher column co-ordinate the "starting" of the line.

Bresentham's line algorithm (correctly) allows for any positions of the "starting" and "ending" points so there is no need to swap the points. :smiley:

Anyway, like I said, JFYI :slight_smile:

As always, thank you for your library.

Can you post a link to the 32x32 display on eBay? Could be an interesting application of the library for others as well.

I don't expect that the Parola library works too well with the text as it would scroll in a strange order, though.

Here you are Marco. :smiley:

http://www.ebay.com.au/itm/291318806032?_trksid=p2060353.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT

The MAX72xx library works well with the display, once you amend the addressing mechanism. I haven't tried Parola as, like you say, the scrolling would be a bit hectic....

As I said, I wrote a wrapper that addresses (0,0) to (31,31), has an optional argument which an optional delay and another that is true or false so the wrapper can switch ON or OFF the LED at (row,col).

I have some of those modules from G&C but I use them in a single line (8 x 128) with the Parola library.

I also have 20 modules (5 groups of 4) setup where I use both libraries together - Parola AND MD_MAX72xx. I know, not recommended! but works fine for me.

Then I have 3 clocks with 12 modules (3 groups of 4) each running just the MD_MAX72xx library. I expect to build 6 clocks as each grandchild's birthday approaches :slight_smile:

I also have 4 single FC16's and 4 single NEW modules with yellow connectors ready to play with. I am thinking of building a 40X40 display :frowning:

Finally I have 20 old generic modules. These seem to use MUCH more current so I tend not to play with them. They burnt out one of my Nano MCs by drawing too much current. :frowning:

And in case anyone is interested, the burnt Nano works fine with external power :smiley: