Go Down

Topic: Scrolling LED matrix display - Parola for Arduino (Read 85016 times) previous topic - next topic

louwin

#525
May 10, 2015, 03:08 am Last Edit: May 10, 2015, 03:23 am by louwin
Hi Marco, I have a question that I hope, with all your experience with LED modules, you may have come across.

At the moment I have three projects running with the MD_MAX7219 and Parola libraries. A 12 module clock(running the MAX library only), a 24 module scroller(running both libraries together) and a 16 module(4 by 4) display running only the MAX library.

They are all plugged into a hub connected to a 2A USB wall charger (no connection to my desktop).  Power is connected directly to the 5V pins (and GND to GND). All run on Nanos. All FC-16 modules. Total draw is 600mA (well within acceptable limits)  :)

On mains switch on the clock and scroller initialize and run perfectly. The 4 by 4 always has an artifact on the display   :(

For instance, at the moment, the bottom left 3 modules are FULL on. 96 LEDs on full intensity. Messages scroll, patterns are displayed, display cleared etc but those 96 LEDs remain lit.

Pressing the "Reset" button very occasionally does clear the display but usually doesn't. Re-uploading the sketch always clears the artifacts. This is my setup method....

Code: [Select]
void setup() {
  mx.begin();
  mx.control(MX::INTENSITY,0);//Zero works  :)
  mx.clear();//DOESN'T clear the "switch on" artifacts
}


Is there anything I can program to clear the artifacts?  A "Hard Reset" to the MAX chip(s)? As you can see, "begin & clear" don't clear them.  :(

I don't do anything different with the clock and the scroller and they don't have "set" artifacts  :)  Well! nothing that the "mx.clear" doesn't clear.

What does re-uploading the sketch do that the "Reset" button doesn't?

I think I asked a similar question earlier.  ;)
Newbie, bought a Uno because I had a $10 Paypal voucher  :)

marco_c

#526
May 10, 2015, 03:20 am Last Edit: May 10, 2015, 03:21 am by marco_c
Aside from the bug in the initialisation code (which was fixed some time ago), errors like this are usually power problems that I have seen happen when there is insufficient capacitance on the boards to provide smooth power to the displays (eg, someone wires a breadboard and takes shortcuts by leaving out caps).

Do the 4x4 modules have capacitors on the boards? Can't tell from the eBay pictures.

Things to try -
- Are the 7219 chips socketed? If so, remove and push the chips back in.
- Do the the same problems persist when you disconnect 1, 2, 3 of the displays in the 4x4? looks like they are standard FC16 with jumpers between that can be removed.
- If you just run the matrix off the hub, does the problem persist?
Arduino Libraries http://arduinocode.codeplex.com
Parola for Arduino http://parola.codeplex.com

louwin

Just quickly as on my way to the panelbeaters. :(

The 7219 appears surface mounted and there are SMD R1 and C1 on the board. Basically the display is 4 lots of 1X4 on one still connected PCB. They are arranged so

3 2 1 0
7 6 5 4
1110 9 8
15141312

3 connected to 4, 7 to 8 and 11 to 12 from factory.  The main IN pins were not supplied nor connected.  I had to solder them myself. Also there are NO intermediate micro jumpers as the connection lines span each module.

I think the 4 by 4 displays are an after thought not a design?  I think someone on the production line said "let's leave 16 of them connected and see if they will sell!?"

I like the 4 by 4, pity the artefact problem. :(    Connecting 16 modules into a 4 by 4 display would have been a nightmare.

I'm reading up on "setBuffer" to see if I can clear the display by setting all the buffers to zeroes????  I suspect not though....

Thanks for your response. :)

I haven't tried breaking the connections etc
Newbie, bought a Uno because I had a $10 Paypal voucher  :)

marco_c

In other words they do not look like the link you supplied earlier :(
http://www.ebay.com.au/itm/291318806032?_trksid=p2060353.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT
because with that setup you could at least isolate the rows.
Arduino Libraries http://arduinocode.codeplex.com
Parola for Arduino http://parola.codeplex.com

louwin

Sorry, I misled you.  EXACTLY like the link just NO micro connectors between the internal modules. You know, the 12 banks of 5 connectors between modules.

I have 12 groups of 4 modules, 2 groups have micro connectors and 10 groups don't....  And the 4 by 4 doesn't.

After my message yesterday I actually got artifacts from uploading the sketch a couple of times. :(

I modified your demo and added LOTS of patterns.  My sketch now uses about 27Kb so only have about 3Kb left.  Might have to replace the Nano with a Mega to add more patterns.  The sketch runs for about 6 minutes now.

The artifacts on the clock and scroller are generally a few (to all) consecutive modules being fully lit at full intensity and they get cleared okay. I worry because, the clock for instance, uses about 200mA normally but could use 6 times that (1200mA) on switch on.   :(   Enough to burn out a Nano....   :(

But on the 4 by 4, the artifacts are set various patterns like squares of fully lit LEDs that survive 'clears' and the LEDs in the artifacts do NOT turn on or off....   :(

I'll try the "arrow" transformations to clear the display when I get home, using "setBuffer"????
Newbie, bought a Uno because I had a $10 Paypal voucher  :)

li_fai

#530
May 11, 2015, 06:59 am Last Edit: May 11, 2015, 07:03 am by li_fai
What should I input to show Full Block to the display if I use your system font?
5, 255, 255, 255, 255, 255, // 255 - 'Full Block'
Do you have a program which is display the font only? This means I don't want any effect to the font, just display the font steadily.

marco_c

#531
May 11, 2015, 08:33 am Last Edit: May 11, 2015, 08:35 am by marco_c
@li_fai - the MD_MAX72xx test example shows all the characters in the font as the last item of the test cycle.

Full block is ASCII character 0xff or 255.
Arduino Libraries http://arduinocode.codeplex.com
Parola for Arduino http://parola.codeplex.com

louwin

JFYI, I just plugged the 4 by 4 into a USB port on my desktop and the bottom 4 modules and the 2 left ones on the third row came full on. While the desktop was loading Windows 8.1 etc a dozen patterns with as many "mx.clears's" were actioned by the sketch with the artifacts remaining on the screen.

Windows MUST do something on loading as the display froze and reset....   ALL artifacts cleared  :)

I wonder what Windows does?       :o   to clear the artifacts?

With the artifacts on the screen, 370mA was used.  Normal running peaks at 150mA with ALL (1024) LEDs lit at intensity zero.
Newbie, bought a Uno because I had a $10 Paypal voucher  :)

li_fai

Marco, do you have a program that display scrolling text in first line and display the temperature and time in second line program?


marco_c

No. Someone else may have one or you could adapt one of the other examples.
Arduino Libraries http://arduinocode.codeplex.com
Parola for Arduino http://parola.codeplex.com

li_fai

Marco, Why I set the Date to 17 May 2015 and Sunday. The Matrix display will scrolling 17 May 2015 and Saturday ? What's wrong with it?

marco_c

As you have not provided software I really can't comment except to say that the Parola display is clearly working so this problem may be better shared in the programming forum.
Arduino Libraries http://arduinocode.codeplex.com
Parola for Arduino http://parola.codeplex.com

carlosdefreitas

Parola_Zone_Mesg.ino:7:23: warning: MD_Parola.h: No such file or directory
In file included from Parola_Zone_Mesg.ino:8:
C:\Program Files (x86)\Arduino\libraries\MD_MAX72xx/MD_MAX72xx.h: In member function 'bool MD_MAX72XX::update(MD_MAX72XX::controlValue_t)':
C:\Program Files (x86)\Arduino\libraries\MD_MAX72xx/MD_MAX72xx.h:630: warning: no return statement in function returning non-void
C:\Program Files (x86)\Arduino\libraries\MD_MAX72xx/MD_MAX72xx.h: In member function 'bool MD_MAX72XX::wraparound(MD_MAX72XX::controlValue_t)':
C:\Program Files (x86)\Arduino\libraries\MD_MAX72xx/MD_MAX72xx.h:655: warning: no return statement in function returning non-void
C:\Program Files (x86)\Arduino\libraries\MD_MAX72xx/MD_MAX72xx.h: In member function 'bool MD_MAX72XX::update(uint8_t)':
C:\Program Files (x86)\Arduino\libraries\MD_MAX72xx/MD_MAX72xx.h:748: warning: no return statement in function returning non-void
Parola_Zone_Mesg.ino: At global scope:
Parola_Zone_Mesg:22: error: 'MD_Parola' does not name a type
Parola_Zone_Mesg.ino:51: warning: deprecated conversion from string constant to 'char*'
Parola_Zone_Mesg.ino:51: warning: deprecated conversion from string constant to 'char*'
Parola_Zone_Mesg.ino:51: warning: deprecated conversion from string constant to 'char*'
Parola_Zone_Mesg.ino:51: warning: deprecated conversion from string constant to 'char*'
Parola_Zone_Mesg.ino:51: warning: deprecated conversion from string constant to 'char*'
Parola_Zone_Mesg:55: error: 'textEffect_t' does not name a type
Parola_Zone_Mesg.ino: In function 'void setup()':
Parola_Zone_Mesg:88: error: 'P' was not declared in this scope
Parola_Zone_Mesg.ino: In function 'void loop()':
Parola_Zone_Mesg:103: error: 'effect' was not declared in this scope
Parola_Zone_Mesg:103: error: 'ARRAY_SIZE' was not declared in this scope
Parola_Zone_Mesg:109: error: 'P' was not declared in this scope
Parola_Zone_Mesg:109: error: 'LEFT' was not declared in this scope
Parola_Zone_Mesg.ino:119: warning: operation on 'curZone' may be undefined

marco_c

@ carlosdefreitas - There is no question in your post but I assume that you have problems getting the library to compile.

Instructions for installing the library are where you got the libraries.
 
Make sure that your IDE is the latest (1.6.x) and for the Arduino IDE to be able to find and use them, these libraries should be uncompressed and placed in a libraries subfolder of your sketchbook folder.

To manually install the libraries:
  • Download the compressed (zip) file from the Downloads section (above).
  • In your Arduino sketchbook folder, find or create the libraries subfolder.
  • Uncompress the zip file in this sketchbook libraries[\i] location, keeping each library in its own unique folder.
  • Restart the Arduino IDE if it was already opened.
Arduino Libraries http://arduinocode.codeplex.com
Parola for Arduino http://parola.codeplex.com

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy