I am attempting interface a Marktech MTAN6385-AHRG 8x8 bi-color LED matrix to a Maxim MAX7219 and the Bare Bones Board (Rev. E).
I've wired everything up based on several diagrams and tutorials, but when I fire the thing up, it does not respond to any Arduino programs. All of the LEDs on the matrix light and stay lit. I've also noticed that the MAX7219 gets rather warm if I leave the power hooked up for a bit.
Any suggestions/advice on what I did wrong would be greatly appreciated. I'm rather lost on this.
Since I'm new here, the message board wouldn't let me include links to outside websites in the previous post. Data sheets for the components I'm using and my wiring diagram are below.
Hi,
the problem is you have wired the matrix the wrong way round.
The anodes of the leds have to be connected to the SegA, SegB, ... outputs of the Max7219, and the cathodes to the Dig0, Dig1, .... outputs.
Wow... I feel like an idiot. For some reason, I assumed that the pins on the IC labeled "dig" implied digital output. Live and learn. Thanks for your help!
I corrected my wiring and now I get very infrequent, quick flashes from various leds on the display. One tutorial on the Arduino website mentions something about needing two capacitors, but the majority of data sheets I've seen make no mention of this. Could the lack of those be causing this erratic behavior?
I corrected my wiring and now I get very infrequent, quick flashes from various leds on the display.
I'm not sure I understand this. Does the matrix basically work, but sometimes you get those flashes, or does it not work and all you see are these flashes?
One tutorial on the Arduino website mentions something about needing two capacitors, but the majority of data sheets I've seen make no mention of this. Could the lack of those be causing this erratic behavior?
The capacitors are there to supress noise signals introduced through the power-supply lines. By no means these 2 capacitors can be ommitted, as it might lead to sporadic or permanent malfunctions. These types of errors are really hard to track down. Both capacitors must be placed as near as possible to the V+ and the Gnd pins of the MAX72XX.
... so ... Yes, this can be the reason
Other things I can think of :
Software problems? Write a very basic Sketch this switches a singel Led on and off. Does this work? Are you using a library? Try some other libraries/code does this happen with all code.
Length of the wiring between the arduino and the MAX7219? The SPI bus used here is picky about noise (Capacitors again). I'd say 10-30cm is the maximum distance i would go for between the components.
I corrected my wiring and now I get very infrequent, quick flashes from various leds on the display.
Are you supplying the MAX7219 power from the arduino's 5V? Assuming that the matrix works and there is just some flickering, you could try feeding it directly with an external ~5V regulated instead. I had a similar issue and that solved the problem. I just assumed the arduino couldn't supply enough current.
The two capacitors are a 10uF and a 100nF capacitors. They are used to couple the voltage going into your max72xx and must be done on every chip. Pretty much they balance out the voltage and current going into your circuit.