Go Down

Topic: driving 8x8 LED using 2 74HC595 (Read 13105 times) previous topic - next topic

fatalkeyv

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.  :)

Grumpy_Mike

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?

mrmeval

#2
Jul 13, 2010, 12:30 am Last Edit: Jul 13, 2010, 12:30 am by mrmeval Reason: 1
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
If it was designed by man it can be repaired by man.

Grumpy_Mike

Quote
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


Both those pages use no current limiting resistors and so will damage your arduino:-
http://www.thebox.myzen.co.uk/Tutorial/LEDs.html

mrmeval

OMD No resistors! I'll burn in HELL!

Ok, thanks for that.
;D
If it was designed by man it can be repaired by man.

retrolefty

#5
Jul 13, 2010, 01:10 am Last Edit: Jul 13, 2010, 01:10 am by retrolefty Reason: 1
Quote
OMD No resistors! I'll burn in HELL!


Probably not, but your Arduino's processor chip indeed might.  ;)

Lefty

fatalkeyv

#6
Jul 13, 2010, 05:37 am Last Edit: Jul 13, 2010, 05:39 am by fatalkeyv Reason: 1


(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?

mrmeval

#7
Jul 13, 2010, 07:54 am Last Edit: Jul 13, 2010, 07:54 am by mrmeval Reason: 1
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.

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

Grumpy_Mike

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.

s3n4te

#9
Aug 01, 2010, 08:05 pm Last Edit: Aug 01, 2010, 08:51 pm by s3n4te Reason: 1
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?

mrmeval

Earlier I meant I'd had 32 LEDs working which is four 595 ICs not 32 ICs. :)
If it was designed by man it can be repaired by man.

s3n4te

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?

RobertoC

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)

Go Up