Pages: [1]   Go Down
Author Topic: driving 8x8 LED using 2 74HC595  (Read 11165 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 8
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.  smiley
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 604
Posts: 33448
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
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 Offline
God Member
*****
Karma: 0
Posts: 508
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The hard way http://www.arduino.cc/playground/Main/DirectDriveLEDMatrix

ping pong http://blog.bsoares.com.br/arduino/ping-pong-with-8x8-led-matrix-on-arduino

The 'easy' way and what you want
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1265668103/2
« 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 Offline
Brattain Member
*****
Karma: 604
Posts: 33448
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote

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 Offline
God Member
*****
Karma: 0
Posts: 508
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 Offline
Brattain Member
*****
Karma: 361
Posts: 17263
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
OMD No resistors! I'll burn in HELL!

Probably not, but your Arduino's processor chip indeed might.  smiley-wink

Lefty
« Last Edit: July 12, 2010, 06:10:56 pm by retrolefty » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 8
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset



(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 Offline
God Member
*****
Karma: 0
Posts: 508
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 Offline
Brattain Member
*****
Karma: 604
Posts: 33448
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
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 Offline
Newbie
*
Karma: 0
Posts: 39
Fezes are cool
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
... 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 Offline
God Member
*****
Karma: 0
Posts: 508
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Earlier I meant I'd had 32 LEDs working which is four 595 ICs not 32 ICs. smiley
Logged

If it was designed by man it can be repaired by man.

0
Offline Offline
Newbie
*
Karma: 0
Posts: 39
Fezes are cool
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 Offline
Newbie
*
Karma: 0
Posts: 8
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Pages: [1]   Go Up
Jump to: