led matrix, 5x7, only 14 pins?

hmmmmmm, i just got my 5 by 7 led matrix, and i'm happy and confused!!, it has 14 pins ( exactly the amount the arduino has! ) but it has 40 leds..... i dont get it, how do i make 1 led light up, doesent each individual led need atleast an anode?

can some 1 explain to me how to hook it up please, :) thanks

p.s i have the 5x7 Anode Column, Cathode Row one

this page may help you get started: http://www.arduino.cc/playground/Main/LEDMatrix

thanks mem, but is this saying that just the matrix and the arduino is not enough, do i need to by one of them max ic's?

Yep. The MAX IC takes the data from the Arduino with fewer pins and then expands the pins for you. Its a bit more complex than that but its the general idea.

oh... that sucks, i gotta order 1 max chip, ill prob pay more for shipping then for the chip lol...

can you link me up to the exact chip, so all i need to do is press buy, cuz octopart sends me to a page that does not have the word "max" in it, so i dont want to go off buying randome parts...

thanks in advance -bignindythree

You don't NEED a max chip to drive a multiplexed display; an arduino can do it all by itself. (it's more CONVENIENT to have the max do it if you want the arduino to do things other than deal with the display. With the max, you can send it info about which LEDs are on, and it'll stay that way. Driving it directly, you have to "refresh" the display sort of like a video screen...)

If you don't want to use the Max IC (they are a bit pricey at $12), you can just use shift registers, which work the same way anyway.

For a matrix, what you do is flash 1 row of the matrix at a time, and if you do it quickly enough, it'll look as if all the rows are on at the same time.

well i'm buying shift registers, but will they work exactly as well as max?

if they do, thats wounderfull, cuz i ordered 2 of em just now!

No, they won't -- you'll be force to do the column updating manually, and if all columns are allowed to be active all the time your current consumption will be considerably higher. For a 5x7 set of LEDs you'll need five shift registers (my preference is the 74HC595) -- this doesn't require a lot of I/O (just 3 pins), but does use some PCB real estate.

awwww! i just ordered 2...... god damnit

now when u say "updating", what do you mean? i know i gotta refresh it, but what command do i need to give it?

If your using 595’s, this might help


awwww! i just ordered 2...... god damnit

now when u say "updating", what do you mean? i know i gotta refresh it, but what command do i need to give it?

Well, with two '595s you could theoretically control a matrix up to 8x8. What you have to do is enable one column of LEDs (all others off) and then update the rows for that column. Wait a little bit of time (say, one millisecond). Now turn off the first column, update the row LEDs for the second column, and wait again. You have to do this eight times for the 8x8 matrix. You need to make sure that no more than about 15 millisecond elapses between the same column being updated else it will appear to pulsate.

All of this stuff, called multiplexing, is handled inside the MAX7219. That chip also has a brightness control register that lets you adjust the display via software. It is a pricey chip, but pretty useful when you need it.

i ordered shift registers, not max chips...

hopefully i can get it working, and i still dont really know what you mean about the "refreshing" and im not sure how to implement it into the code, but lets just wait untill i get the chips, and try to hook them up, ill hook up the matrix, and i will come back if i have problems, but thanks for the info and the help!

If your a hands on person like me, it'll make more sense once you've wired up one of the 595's, then tested some of the code from the tutorials, then tried a few hacks. The Arduino and 595's can accomplish what your wanting to do, with a reasonable degree of ease. When your familiar with the code from the tutorials, wiring an 8x8 via 2 595's, or piggy-backing 595's, will be quite easy for you.

Best of luck and happy new year, to all :)

There is a shift register variant that has 16 constant current sink drivers, it’s uses an STP16C596, the DIP is currently ‘obsolete’ but supplies are available. Current is set with just one resistor.

It’s used in this:

I’m using the HEF4794 which only has 8 ouputs. Since these daisy chain well and they latch it’s possible to turn on what you want and latch them then they’ll stay that way till power is removed or you change them. It’s drawback is it takes 8 chips for 64 LEDs. It is similar to the 595 but it has an LED driver. I’ve not yet tried to matrix the HEF chip yet. and dimming them is something I don’t know how to do yet though you can feed them a changing bit stream it’s not nearly as easy or as clean looking as just using a PWM pin.

i should be recieving the parts soon ( considering they arent backordered... ) so i will wire it up, and try some code, and hopefully it will work with ease.

also some q's bout the 595 shift registers 1.do they support input, or only output, or can they communicate back to the arduino 2. can i use an external power, instead of hooking up 5v and gnd from the arduino? like if i got a wall current down to a stable 5v, can i hook it up to that, and still communicate through serial with the arduino, even though they run seprate power? 3. any support of pwm?

thanks for all the help, and since i dont think i said it in this thread, HAPPY NEW YEARS EVERY ONE!!!

The 74x595 is a straight digital output device -- for PWM you'd have to manually update the outputs. There is a complimentary component called the 74x165 that can be used for inputs. Details about both chips can be found in their respective datasheets.

but i'm assuming the input ic you stated, only supports inputs, and no outputs, right? and would you need a decoder to tell the arduino through serial which input is being used?

Yes, the 74x165 is an input-only device, as I said, it's a compliment of the 74x595. It takes eight parallel input and converts it to a synchronous serial stream. I've not used it with the Arudino, but have lots of experience using the BASIC Stamp. You can find circuits for theh 74x595, 75x165, and a way to join the two using just four I/O pins in my book StampWorks -- you can download this as a PDF from Parallax (www.parallax.com).

i would use stamp, but it's expensive.

new chip shipped to you is 2 arduinos... and i dont got alot of money, so i need cheaper development, but the input registers seem like good ideas if i also run out of inputs!