Author Options:

8x8 red and greed matrix - Can I get some help?? Answered

I have an 8x8 LED Matrix with red and green. I also have 74HC595, 4017 chips. This site seems to be a great place to get help and I'm in need. I don't have any electronic know how or anything like that. My daughter asked me to do this project and I don't want to let her down. I have an Arduino Atmega328 to control the matrix but I need some sort of code as well. I have figured out what pins control what on the Matrix and red and green share the power and have separate grounds.  The only stuff I have access to before Friday (that's when she leaves) is resistors and capacitors.  Can someone help me with the right resistors and capacitors as well as some code to drive the matrix?? Any and all help is greatly appreciated.  1588ASRG is the Matrix model number by the way. Thanks again.?


This is the spec page for the Matrix.



8 years ago

www.arduino.cc is the place to learn everything arduino.

If you don't have a background in programming, this 'learning' will explain all the concepts as you progress.
When it comes to programming, 'reference' is where it's at - as once you know how to program its just learning the syntax of the language. In this case, they already have a wonderful writeup on how to:
http://arduino.cc/en/Tutorial/RowColumnScanning run an 8x8 matrix.

The mega328 doesn't have enough IO to run both the red and green at the same time without somehow expanding the ports with the 595 shift register or the 4017 decade counter -- but that will make the project a lot more complex. As a starting project, this is pretty complex already, so stick with one colour driven directly from the io pins as described in the linked article.

Once you understand how to run the code and wire the example, then you can try messing with the http://www.arduino.cc/en/Tutorial/ShiftOut shiftout function to turn 3 io pins (data, clock, enable) into 8+ pins by cascading as many shift registers as you want.  Each register is then used to hold the row and/or column data.

  A common example, is shift out one column of your matrix into the 595 shift register, then pulse the row pin to turn those leds on--then shift out the next row, and repeat. 
Alternately, you could run the rows with 1 register, and the columns with a second register cascaded from the first -- shift out 16 bits (2 bytes) of column then row data, hit the enable line, and bam, that column lights up the stuff you shifted out.  That way you control 8x8 with only 3 pins.  To control both colours, you just add another shift register, and shift out 3 bytes...column in the first byte, red row in the second, and green row in the third (for example).  You can display the red and green at the same time, so long as you only drive 1 row or column at any given time.


Answer 8 years ago

Thanks for the quick reply, I will do as you have directed and put the 595's and 4017 off to the side for the time being.


Answer 8 years ago

something I just noticed: beware! The arduino pins are designed to happily source or sink 50mA max of current. All the leds on in a row at a time can draw more than that -- so you'll want to use 8 transistors to drive either rows or columns, and then each pin only has to directly drive 1 led at a time - if that makes sense.


8 years ago

... I really wish folks would ask this sort of question while there was still time to help them, especially when thy have this little experience... Frankly, I don't think you're going to get there by Friday unless you can find a local friend with more experience to hold your hand and sanity-check your work.


Answer 8 years ago

If the arduino is good enough to show some letters, maybe in a phrase, then I'll get by with that till Friday. But I'm the sort of person who wants to expand what I know, and at this point, it isn't much. This is only the beginning and I will be taking this project further. I'm always open to any idea's or comments helpful to me. If I make a mistake, feel free to let me know.