Hooking up 2 7 Segments with 595

Hello!

I have been trying to set up a display using two of these 7 segment displays : http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=105591&langId=-1&storeId=10001&productId=105591&search_type=jameco&catalogId=10001&ddkey=http:StoreCatalogDrillDownView

and some 595 shift registers to be display the output of an analog read fro the arduino. I built the circuit pretty much exactly like the one shown on Paul's Electronics tutorial, except I only used 2 displays and 2 595s: http://www.sqlskills.com/blogs/paulselec/post/Arduino-cascading-shift-registers-to-drive-7-segment-displays.aspx

but when I plug my arduino into the computer it says it is drawing too much power. I do not think I need an external power source since the displays are comparable to smaller ones used in the tutorial. I have all of the common cathode pins going to ground.

Any idea what I could be doing wrong? I've never used 7 segments or shift registers before so I'm a bit lost on where to start...

Thanks!

I can put up a schematic of what I have if that would be better

Are you using the 220 ohm resistors between the common cathode and ground as shown in the schematic? If not, that could significantly increase the current draw.

I didn't have any 220s around so I used a 330 ohm resistor. Do you think the problem could be in the way I hooked up the 7 segments?

thanks for the response!

My best guess is that +5 has gotten shorted to ground somehow. :frowning:

I can put up a schematic of what I have if that would be better

Yes please do.

My best guess is that +5 has gotten shorted to ground somehow.

I would put money on it.

I rebuilt the circuit and am not getting that message anymore, so I think that was the problem. I don't have it working yet, I'm afraid I might have burned something out in the process, is there a good way to test 7 segments? I'm going to get some more parts now, I'll put up a revised schematic later

Thanks!

Yes - connect the cathode to ground.
Put a piece of wire on one end of a 330 ohm resistor, connect the wire to +5V.
Touch the other resistor lead to each segment pin, each pin should light up a segment (except the other common cathode pin, and maybe the 2nd decimal point if the part has 2).

I do the same to figure out displays that I can't find a data sheet on.

ok, so i guess the other issue is that the segments need 12 volts (the data sheet was a bit confusing and i couldn't figure out what the actual forward voltage was). i found this tutorial http://deleteaso.com/2-sparkfun’s-7-segment-red-65″-display-and-arduino/ which seems pretty straightforward, except for how the 7 segment is connected to the external supply- does anyone have a clearer diagram of this?

thanks!

Ah, that's a Big display with 5 LEDs in series.
Do you have the Common Cathode (top picture of data sheet) or the Common Anode (bottom picture)?
One is much easier (in my opinion) to work with than the other.

it's the common cathode

Oooh, that's too bad.
Okay, you can still pull this off - you'll need a ULN2003 (or 2803 if you want the DP allso).
For each segment: +12V to current limit resistor to LED segment pin.
From LED segment pin connect to ULN2003 output pin.
Drive the ULN2003 input high will bring the ULN2003 output low, turning off the segment.
Drive the input low to let the segment turn on.
Create a lookup array of data to send to the shift register:

display[0] = B01000000; // turn on segments a,b,c,d,e,f
display[1] = B01111001; turn on segments b,c
etc.

shiftout(datapin, clockpin, MSBFIRST, display[x]);

where x is the number, letter, character, etc. you want displayed.
0,1,2,3,4,5,6,7,8,9,A,b,C,c,d,E,F,H,J,L,P,U,u should all be recognizable

alright i have a couple of 2803s on hand, i will give this a try, thanks!!