0
Offline
Newbie
Karma: 0
Posts: 8
Arduino rocks
|
 |
« on: July 12, 2010, 11:01:23 am » |
hi! im 15 and im new to the Arduino scene. im trying to drive an 8x8 LED matrix using 2 74HC595 Shift registers. so far ive hooked up a 74HC595 + 330ohms for each the columns of LEDs , and 74HC595 + ULN2803A for the LED rows. i would like to learn to drive 8x8 LEDs 1st and then expand it from here.,perhaps to 16x16 and beyond any idea on how should i program this?i would appreciate it if you link me to some examples. 
|
|
|
|
|
Logged
|
|
|
|
|
Manchester (England England)
Offline
Brattain Member
Karma: 269
Posts: 25381
Solder is electric glue
|
 |
« Reply #1 on: July 12, 2010, 04:38:14 pm » |
so far ive hooked up a 74HC595 + 330ohms for each the columns of LEDs , and 74HC595 + ULN2803A for the LED rows. That sounds wrong. The 2803 will only sink current and the 595 doesn't supply enough current to light more than one or two LEDs. Can you post a schematic?
|
|
|
|
|
Logged
|
|
|
|
|
Greenwood, Indiana
Offline
God Member
Karma: 0
Posts: 508
Arduino rocks
|
 |
« Reply #2 on: July 12, 2010, 05:30:14 pm » |
|
|
|
|
« Last Edit: July 12, 2010, 05:30:40 pm by mrmeval »
|
Logged
|
If it was designed by man it can be repaired by man.
|
|
|
|
Manchester (England England)
Offline
Brattain Member
Karma: 269
Posts: 25381
Solder is electric glue
|
 |
« Reply #3 on: July 12, 2010, 05:47:34 pm » |
Both those pages use no current limiting resistors and so will damage your arduino:- http://www.thebox.myzen.co.uk/Tutorial/LEDs.html
|
|
|
|
|
Logged
|
|
|
|
|
Greenwood, Indiana
Offline
God Member
Karma: 0
Posts: 508
Arduino rocks
|
 |
« Reply #4 on: July 12, 2010, 05:57:32 pm » |
OMD No resistors! I'll burn in HELL!
Ok, thanks for that. ;D
|
|
|
|
|
Logged
|
If it was designed by man it can be repaired by man.
|
|
|
|
Left Coast, CA (USA)
Offline
Brattain Member
Karma: 279
Posts: 15293
Measurement changes behavior
|
 |
« Reply #5 on: July 12, 2010, 06:10:34 pm » |
OMD No resistors! I'll burn in HELL! Probably not, but your Arduino's processor chip indeed might.  Lefty
|
|
|
|
« Last Edit: July 12, 2010, 06:10:56 pm by retrolefty »
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 8
Arduino rocks
|
 |
« Reply #6 on: July 12, 2010, 10:37:35 pm » |
 (DS is connecting to Pin 12 sorry) ive posted my schematics as you requested. i dont have any software so i made it using MSpaint =P is there anything wrong with my circuit?
|
|
|
|
« Last Edit: July 12, 2010, 10:39:18 pm by fatalkeyv »
|
Logged
|
|
|
|
|
Greenwood, Indiana
Offline
God Member
Karma: 0
Posts: 508
Arduino rocks
|
 |
« Reply #7 on: July 13, 2010, 12:54:05 am » |
I won't comment further in the matrix, have only worked with shift registers.
You can save some digital pins chaining the serial on the 595's together. You would unlatch them so there is no output, serial out the data to them then latch them. Using that you can daisy chain them to run more 8x8 displays and you'd not run out of digital pins on the Arduino. Once you've written a function the code is easy to read and maintain.
So far I've strung together 32 of 595 chips. I switched to HEF4794 due to it's higher current.
|
|
|
|
« Last Edit: July 13, 2010, 12:54:59 am by mrmeval »
|
Logged
|
If it was designed by man it can be repaired by man.
|
|
|
|
Manchester (England England)
Offline
Brattain Member
Karma: 269
Posts: 25381
Solder is electric glue
|
 |
« Reply #8 on: July 13, 2010, 02:30:27 am » |
is there anything wrong with my circuit? Not so far but it will depend on your software. When you write the multiplexing make sure that 2803 is the one that you put only one zero on at a time and put the data for that row on the top 595. This is the inverse of normal multiplexing. It is needed because the 2803 can sink enough current for 8 LEDs but the 595 can only source enough current for one LED.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 38
Fezes are cool
|
 |
« Reply #9 on: August 01, 2010, 01:05:46 pm » |
... make sure that 2803 is the one that you put only one zero on at a time and put the data for that row on the top 595. What do mean by that? Do mean that 1 led can only be turned on at a time? Or do you mean that each pin on the 595 can only handle 20mA on each pin, and that I can only turn on 1 darlington pair at a time?
|
|
|
|
« Last Edit: August 01, 2010, 01:51:58 pm by s3n4te »
|
Logged
|
|
|
|
|
Greenwood, Indiana
Offline
God Member
Karma: 0
Posts: 508
Arduino rocks
|
 |
« Reply #10 on: August 01, 2010, 01:24:09 pm » |
Earlier I meant I'd had 32 LEDs working which is four 595 ICs not 32 ICs. 
|
|
|
|
|
Logged
|
If it was designed by man it can be repaired by man.
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 38
Fezes are cool
|
 |
« Reply #11 on: August 01, 2010, 02:16:37 pm » |
If you want to turn on one row, do you turn on a darlington pair, and switch all the top 595 output to high?
Would that cause the uln2803 to sink 20 * 8 = 160 mA? Wouldn't that current have to flow through the 595 which can only take 35 mA and damage it?
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 8
Arduino rocks
|
 |
« Reply #12 on: August 10, 2010, 03:16:34 pm » |
Hello! I'm trying to do something with the same configuration of two 74HC595 integrated for a 8x8 matrix. Could you please pass me the software to guide me in performance. (Sorry I'm using an automatic translator, do not speak English)
|
|
|
|
|
Logged
|
|
|
|
|
|