While I'd like to use two MAX7219's, one to drive the rows and one to drive the columns.
Can this be done or will I need to use one MAX7219 and something else?
I've looked at other designs and so far they all deal mainly with the MAX7219 in an 8x8 configuration.
Would mean you'd need four MAX7219's to run a 16x16, one Max7219 for each 8x8 block?
How would you add a second 16x16 matrix to the first to give you 16x32?
You could use discrete transistors (mosfets) and serial-to-parallel driver ICs, like TPIC6C595 or MIC5821, but it's a little bit more work for the microcprocessor.
As I understand it, the MAX7219 drives both rows and columns for a single 8x8 matrix, using its own internal scan timing. You wouldn't use one for rows and another for columns - that's not what they're designed for and there's no way to synchronise them that I can see.
If you had a 16x16 matrix made up of four 8x8 units mounted together, you'd need four MAX7219 chips, one driving each physical 8x8 block. I'm not sure whether there would be any strange effects due to their autonomous scan rates, though I think probably not.
I also wondered about using two MAX7219 for an 8x8 bicolour matrix, but I've convinced myself that it can't work.
IC1 dig0-7 connected to columns 0-7
IC2 dig0-7 connected to columns 8-15
IC1 seg a-g connected to rows 0-7
IC2 seg a-g connected to rows 8-15
What would happen if you strobe IC1 to turn on column 5 and you strobe IC2 to turn on row 11, wouldn't that turn on the led in column 5 row 11?
I'm assuming a transistor would be needed to handle the forward voltage?
If not a MAX7219, would a pair or TLC5940's work instead?
Probably wont work, why bother to avoid using just two more MAX7219's?
Ahh yes I forgot bicolor LEDs, well you'll need eight total, do they even support bicolor LEDs?
IC1 dig0-7 connected to columns 0-7
IC2 dig0-7 connected to columns 8-15
IC1 seg a-g connected to rows 0-7
IC2 seg a-g connected to rows 8-15
What would happen if you strobe IC1 to turn on column 5 and you strobe IC2 to turn on row 11, wouldn't that turn on the led in column 5 row 11?
I'm assuming a transistor would be needed to handle the forward voltage?
I'm not following you. I'm certainly no expert and haven't used them (mine haven't even arrived yet!) so beware - I may be wrong. But recently I was thinking how I'd use a PIC to do the job, loading data serially into one to drive one 8x8 matrix. The same day I found the MAX7219 which does the job the exact same way with less fuss and no external oscillator or drivers needed. Cheap too! Brilliant!
[Assuming we're talking about an 8x8 matrix] They're basically eight row drivers and eight column drivers, plus eight bytes of RAM and an oscillator. You load serially 64 bits of data into the RAM and it uses this one byte at a time with completely autonomous internal timing to drive the 64 LEDs. You have no control of the speed it does this and you can't strobe any given row or column - it just gets on with it. That's why I'm saying you can't make them cooperate to drive bicolour matrices or use them to drive bigger than an 8x8 matrix. After each burst of 64 bits of data, the processor doesn't need to do anything until you want to display some different data. The timing is internal. The only way to join them is to let the serial data from one feed the next chip.
Please someone correct me if I've misunderstood them!
The method I was thinking of appears to be more along the method of using latch registers.
Reviewing the datasheet in more detail for the MAX7219, it would be much easier to use 4 of them to drive a 16x16 display.
I was hoping to cut that count in half.. running a bi-colored display would double the chips. From what I've read up so far, its not recommended to try to control a bi-color led with 2 separate chips but rather a single one.
Only problem I see with that is you would end up with a 4x8 bi-color matrix instead of an 8x8. That equals 8 MAX7219 chips for each 16x16.
I believe my idea posted today might work with SPI Shift registers with 16 outputs each. One drives the columns, one drives the rows, a 3rd would drive the second color.
I'm researching this path right now.. A pair of MAX6969's