Pages: [1]   Go Down
Author Topic: Hooking up 2 7 Segments with 595  (Read 1294 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Massachusetts, USA
Offline Offline
Tesla Member
***
Karma: 201
Posts: 8690
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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!
Logged

Massachusetts, USA
Offline Offline
Tesla Member
***
Karma: 201
Posts: 8690
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

My best guess is that +5 has gotten shorted to ground somehow.  smiley-sad
Logged

Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

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

Quote
I can put up a schematic of what I have if that would be better
Yes please do.

Quote
My best guess is that +5 has gotten shorted to ground somehow.
I would put money on it.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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!
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 524
Posts: 26426
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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%E2%80%99s-7-segment-red-65%E2%80%B3-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!
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 524
Posts: 26426
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

it's the common cathode
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 524
Posts: 26426
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
  • );

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
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Pages: [1]   Go Up
Jump to: