Super Big 6.5' 12V Segment Display

I'm super new to this, I was able to drive a 4 digit seven segment display and a single digit seven segment display with arduino uno. But how would I go about it with a huge 6.5 inch single digit segment display? Its common anode and I was able to individually light up each segment with 12.7 Volts across each segment. But if I tried lighting more than one segment, like b and c to draw the number 1, the brightness significantly decreases, which makes sense. I'm using a 750 Ohm resistor to get around 16.9 mA drawn across the led strips in each segment. Can anyone guide me to connecting this to arduino and drawing numbers? I just want it to do some counting or something. Do I need transistors? A schematic would help so much too I just have no idea how to power it with arduino since arduino maxes out at 5V I believe.

But how would I go about it with a huge 6.5 inch single digit segment display?

Exactly the same way. The only difference is that you will be driving transistors, not displays. The transistors will drive the display.

But if I tried lighting more than one segment, like b and c to draw the number 1, the brightness significantly decreases, which makes sense.

It only makes sense if your power supply can not provide the necessary current.

A schematic would help so much too

A schematic is not a programming tool. This IS the programming forum, you know.

PaulS:
Exactly the same way. The only difference is that you will be driving transistors, not displays. The transistors will drive the display.
It only makes sense if your power supply can not provide the necessary current.
A schematic is not a programming tool. This IS the programming forum, you know.

Sorry I wonder if I should move my thread or ask a moderator to move it lol. But good news I got the brightness issue apparently each segment can be driven by 12 Volts alone so I was able to get the brightness fine, it just got a little bit dim when every segment was on but was expected.

So I have one final question.

How do I hook this up to arduino lol. There are 8 wires. the 7 segments and the one decimal point. They're common cathode so every time I ground one of the wires it turns on. Is a transistor a good idea for a switch? Like I would have the arduino set a pin to output, then set the pin to high, which would activate the transistor which is connected to the ground line and that would ground the segment that the transistor is connected to. I made a really rough draft here:

I made a really rough draft here:

The only thing missing is identifying the legs of the transistor. The gate pin goes to the Arduino. Assuming you connect the transistor correctly (and size it correctly, too), setting a pin as output and turning it on or off will let current flow, or not.

stevenplanet:
Its common anode

stevenplanet:
They're common cathode so every time I ground one of the wires it turns on

Hi, so which is it? Grounding wires to turn segs on sounds like common anode.

If it is common anode, you could use either NPN bipolar transistors or N-channel field-effect transistors. Don't worry about the technical differences between those 2 kinds just yet, either will do the job. You would put the transistors between the segment strip's cathode and ground. The segment's anode would connect to your 12V supply.

How much current does each segment draw? You will need an ammeter or multimeter to measure that. Only then will we be able to recommend a transistor to use.

However, my guess would be that BC337 transistors would be suitable, or a ULN2003 or ULN2803 chip, which is 6 or 7 transistors in one package, saving you some components to wire up. TPIC6C595 is also a possible suggestion. That would involve code changes, but would also allow you to chain several displays together to make a clock for example, without using any more Arduino pins.

Paul

PaulRB:
Hi, so which is it? Grounding wires to turn segs on sounds like common anode.

If it is common anode, you could use either NPN bipolar transistors or N-channel field-effect transistors. Don't worry about the technical differences between those 2 kinds just yet, either will do the job. You would put the transistors between the segment strip's cathode and ground. The segment's anode would connect to your 12V supply.

How much current does each segment draw? You will need an ammeter or multimeter to measure that. Only then will we be able to recommend a transistor to use.

However, my guess would be that BC337 transistors would be suitable, or a ULN2003 or ULN2803 chip, which is 6 or 7 transistors in one package, saving you some components to wire up. TPIC6C595 is also a possible suggestion. That would involve code changes, but would also allow you to chain several displays together to make a clock for example, without using any more Arduino pins.

Paul

Oh my gosh sorry for the late reply I just had finals week! Anyways yes my mistake I confused anode with cathode. I think it had something to do with my chemistry class lol. Nevermind, anyways. So I totally burned out one of my transistors today figuring this stuff out. I've drawn a rudimentary schematic here:

Am I doing something wrong here? if I add a resistor to the segment branch the light will be really dim :confused: I'm really confused on what to do here concerning the resistors, transistors, and arduino. Like what exactly happens when I turn a pin from LOW to HIGH on the arduino? Does it output a current? change a voltage? I'm guessing the pin outputs would drive the transistors's base input. Where do I start with this? Should I study shift registers? Display drivers? I'm shooting in the dark here. Thanks!

How about answering my question before asking more questions of your own?

Sorry about that! I'll try my best!

Hi, so which is it? Grounding wires to turn segs on sounds like common anode.

Common Anode!

How much current does each segment draw? You will need an ammeter or multimeter to measure that. Only then will we be able to recommend a transistor to use.

Alright so I hope I did this right, but I attached the common anode to 12 V and the wire for the first segment to ground. I put the ammeter to the anode on the breadboard and the other probe on the ground side, so the probes "surround" the segment. I got around 3.30 mA. Which means the impedance of the segment is around 12/(3.30*10^-3) which is around 4K Ohms right? (a little less but I don't have a calculator at hand)

No, all you did there was short the segment and the power supply out with the meter. I don't know why you only got 3.3mA reading, you should have seen the max current the power supply could deliver and blown the fuse in your meter! As that did not happen, i don't think you described accurately what you did. Was the meter on current or voltage range?

To measure the current drawn by the segment, you need to put the meter in series with the segment. So 12V to the segment anode, the red meter probe to the segment cathode and black meter probe to ground. When measuring an unknown current, always start with the meter on highest range, then work your way down.

What are these segments? Did you make or buy them? Do they have resistors built in? A picture would be useful.

PaulRB:
No, all you did there was short the segment and the power supply out with the meter. I don't know why you only got 3.3mA reading, you should have seen the max current the power supply could deliver and blown the fuse in your meter! As that did not happen, i don't think you described accurately what you did. Was the meter on current or voltage range?

To measure the current drawn by the segment, you need to put the meter in series with the segment. So 12V to the segment anode, the red meter probe to the segment cathode and black meter probe to ground. When measuring an unknown current, always start with the meter on highest range, then work your way down.

Oh my I hope I didn't blow my meter :frowning: Alright the PSU says it outputs 1A so I'm gonna start at 10A. Lets see....

Alright after a long time I figured it out. Is it normal for the segment not to light up when I put the ammeter in series? Because it lit up when I short circuited the ammeter but not when the ammeter was measuring current. And even in that aspect things were weird. When I set the multimeter setting to 10A, I got 1.46 Amps, which seems like a lot right? But when I set it to mA it said it was 1.46 mA also! And when I set it to microAmps I get 14.6 microAmps. Why am I getting different numbers? Hmmmmm :confused:

I can't make any sense of this. When measuring the segment current with your meter, the segment should light up as soon as you connect the meter.

If you put the meter in parallel with the segment on a current setting, the segment should go off when you connect the meter because you are short circuiting the segment.

The reading you are seeing in those different ranges make no sense. Can you post pictures of the circuit when you put the meter in series and parrallel?

Okay I did it again, I got 0.08 Amps. For some reason it only lit up when I selected the option "10 A" on the multimeter. I have an Extech 330.

For the 10A I switched over the Red probe onto the left socket and left the black prove in the middle socket (COM). And that worked I was able to measure 0.08 Amps and the segment lit up! But when I selected the lower amps, like the mA and microAmp, I kept getting 1.46 and 14.6 for mA and microAmps which make absolutely no sense. I even tried switching the red probe back to the other side. Do you think I burned out my ammeter? Heres how I set it up:

:frowning:

Agreed, those mA and uA readings make no sense. Perhaps you blew the internal fuse. You should replace it to find out. My meter reads zero when I have blown the internal fuse in the past, but my meter is not autoranging.

The reading of 0.08A on the 10A range could be right. You may have blown the internal fuse when you shorted the power supply, its maximum is 400mA and the power supply is 1000mA.

Your meter is like mine and most others. There is a 10A range with its own separate socket. There is no fuse on that range. The other ranges all use the other socket and there will be a quick-blow fuse to protect the meter from damage. You will have to unscrew the back of the meter to replace it with a similar fuse.

Anyway, if I'm going to continue to help you, i would appreciate it if you answer all my questions, even if your answer is "i dont know". I asked a question a couple of posts back, for example.

I realise i may not have answered all your questions yet, i will go back and check.

PaulRB:
Agreed, those mA and uA readings make no sense. Perhaps you blew the internal fuse. You should replace it to find out. My meter reads zero when I have blown the internal fuse in the past, but my meter is not autoranging.

The reading of 0.08A on the 10A range could be right. You may have blown the internal fuse when you shorted the power supply, its maximum is 400mA and the power supply is 1000mA.

Your meter is like mine and most others. There is a 10A range with its own separate socket. There is no fuse on that range. The other ranges all use the other socket and there will be a quick-blow fuse to protect the meter from damage. You will have to unscrew the back of the meter to replace it with a similar fuse.

Anyway, if I'm going to continue to help you, i would appreciate it if you answer all my questions, even if your answer is "i dont know". I asked a question a couple of posts back, for example.

I realise i may not have answered all your questions yet, i will go back and check.

my apologies I'm on my phone so its pretty easy to miss some of your questions. I'm on my laptop now so I will be able to respond a lot faster.

What are these segments? Did you make or buy them? Do they have resistors built in? A picture would be useful.

I bought this display from Sparkfun! Only the decimal point has a built in resistor since it only has 5 LEDs in it. But the others run on 12 V PER segment which I guess is fine because they're in parallel with eachother. Here is a direct link to the

datasheet: http://www.sparkfun.com/datasheets/Components/YSD-1600AR6F-89.pdf

And the display itself: 7-Segment Display - 6.5" (Red) - COM-08530 - SparkFun Electronics

OK, you're going to need a higher voltage power supply, perhaps around 15V. This is because any transistors or other chips you use to drive the segments will drop some voltage. You also need to limit the current, because the segments have no current limiting built in. If you use current limiting resistors, these will also drop some voltage.

You really should have given these links in your first post...

To drive them you can use a ULN2803 chip. This has 8 outputs that can handle the higher voltage needed. It has 8 inputs that you can connect to Arduino pins.

Alternatively you can use a TPIC6C595 chip. This also has 8 outputs but only 3 inputs to connect to the Arduino, and can be chained to more tpic chips to drive more displays.

Another alternative would be 8 npn transistors like BC337. You will need resistors to connect between the transistor's bases and Arduino pins, e.g. 4K7.

If you intend to drive more displays, another option would be an saa1064 chip, which could drive up to 4 of these displays.

stevenplanet:
I'm using a 750 Ohm resistor to get around 16.9 mA drawn across the led strips in each segment.

Sorry, I missed that in your first post.

A 750R resistor with 16.9mA flowing will drop 12.7V, leaving nothing to light your led segments! So what did you mean by that?

Wow I have a lot to learn! There's so many options to choose from haha. I was planning on driving 6 displays, like HH:MM:SS. I would probably need a bigger power supply right?

About the 750Ohm.... in the beginning I wasn't sure what the max current was so I used a random resistor in fear of burning out my display. But the segments seem to run fine with no resistor at 12 volts.

EDIT: so I actually was digging around my arduino kit and I found an NXP SAA1064 DIP! I'm going to read up on this a little bit. 12V should be able to handle one display right? I'll just lose a little brightness

stevenplanet:
I was planning on driving 6 displays, like HH:MM:SS. I would probably need a bigger power supply right?

Those displays require 20mA per segment, or 30mA if multiplexing.

If not multiplexing, that's 20 x 8 x 6 = 960mA.

If multiplexing, you would need 30 x 8 x 6 x n where n is your multiplexing ratio. So with a multiplex ratio of 1 in 2 (=0.5) that would be 720mA, or with a multiplex ratio of 1 in 6 (=0.167) it would be only 240mA. But the higher the multiplex ratio (lower value of n), the lower the brightness of the displays.

My main concern is not the current output of your supply (although 960mA is a little too close for comfort), but the voltage. As I said before, you always need more than the forward voltage of the display, for switching/current limiting etc.

stevenplanet:
About the 750Ohm.... in the beginning I wasn't sure what the max current was so I used a random resistor in fear of burning out my display. But the segments seem to run fine with no resistor at 12 volts.

You should never connect leds to power without some kind of current limiting. Even if the led forward voltage matches the power supply. if you want to know why, I think Grumpy_Mike gives an explanation on his web site.

There are two ways to limit the current. One is to use resistors, the other is to use a chip who's outputs have "constant current circuits". Most chips (e.g. Arduinos, shift registers) don't have those. But some chips like max7219 and saa1064 do, so you don't need current limiting resistors.

stevenplanet:
EDIT: so I actually was digging around my arduino kit and I found an NXP SAA1064 DIP! I'm going to read up on this a little bit. 12V should be able to handle one display right? I'll just lose a little brightness

Definitely worth a go. I've used this chip before to drive 1.5" blue 4-digit 7-seg displays with a forward voltage of 6.5V from a 9V supply, so I had an extra 2.5V than I needed. You have virtually no extra voltage, so I don't know, try it. I will draw you up a diagram. What kind of Arduino are you using?

SAA1064 Data Sheet

Arduino Wire Library

Test sketch:

#include <Wire.h>
#define SAA1064ADDRESS 0x70

void setup() {
  Wire.begin();
  Wire.beginTransmission(SAA1064ADDRESS);
  Wire.write(0); //Update control register
  Wire.write(0b01110110); // No multiplexing, max segment current
  Wire.endTransmission();
}

void loop() {
  for (int i=0; i<=255; i++) {
    Wire.beginTransmission(SAA1064ADDRESS);
    Wire.write(1); //Update digit 1
    Wire.write(i);
    Wire.endTransmission();
    delay(100);
    }
}

PaulRB:
Those displays require 20mA per segment, or 30mA if multiplexing.

If not multiplexing, that's 20 x 8 x 6 = 960mA.

If multiplexing, you would need 30 x 8 x 6 x n where n is your multiplexing ratio. So with a multiplex ratio of 1 in 2 (=0.5) that would be 720mA, or with a multiplex ratio of 1 in 6 (=0.167) it would be only 240mA. But the higher the multiplex ratio (lower value of n), the lower the brightness of the displays.

My main concern is not the current output of your supply (although 960mA is a little too close for comfort), but the voltage. As I said before, you always need more than the forward voltage of the display, for switching/current limiting etc.
You should never connect leds to power without some kind of current limiting. Even if the led forward voltage matches the power supply. if you want to know why, I think Grumpy_Mike gives an explanation on his web site.

There are two ways to limit the current. One is to use resistors, the other is to use a chip who's outputs have "constant current circuits". Most chips (e.g. Arduinos, shift registers) don't have those. But some chips like max7219 and saa1064 do, so you don't need current limiting resistors.

Definitely worth a go. I've used this chip before to drive 1.5" blue 4-digit 7-seg displays with a forward voltage of 6.5V from a 9V supply, so I had an extra 2.5V than I needed. You have virtually no extra voltage, so I don't know, try it. I will draw you up a diagram. What kind of Arduino are you using?

SAA1064 Data Sheet

Arduino Wire Library

Test sketch:

#include <Wire.h>

#define SAA1064ADDRESS 0x70

void setup() {
  Wire.begin();
  Wire.beginTransmission(SAA1064ADDRESS);
  Wire.write(0); //Update control register
  Wire.write(0b01110110); // No multiplexing, max segment current
  Wire.endTransmission();
}

void loop() {
  for (int i=0; i<=255; i++) {
    Wire.beginTransmission(SAA1064ADDRESS);
    Wire.write(1); //Update digit 1
    Wire.write(i);
    Wire.endTransmission();
    delay(100);
    }
}

Thank you SO MUCH! You are a scholar and a gentleman! I'll try my best to pick up a power supply later at a store. I might have to read up a little more on multiplexing later again. I believe I've done multiplexing before but I kind of did it my own way with 4 digit segment displays. Heres what I did if you're interested.

Every time I switch numbers, I added a delay of around 100ms. The program was just a timer that incremented in seconds. So every 1000ms, I updated the numbers. I just summed up the delays in the loop and every time it reached 1000ms I updated each value.

I will read up more on multiplexing and multiplexing ratios. My current power supply has 1A and 12V but like you said perhaps it would be best if I had some more voltage. I think I have a 15V charger lying around somewhere if I'm too lazy to run to Frys Electronics.

I'm using an Arduino UNO R3. Is that enough information? I'm still new to this and arduino so I'm not sure if theres any other specifications you need. Thank you again so much for the code and the sketch and all the help. I'll give it a go with the 12V Power supply I have if not I'll try something a little bit higher. What would you recommend if I wanted to power six of these? a 60V power supply?

Can I ask what program you used to draw the circuit connections? I really really appreciate it also its really pretty.

So I was looking at your schematic....shouldnt there be current limiting resistors anywhere? Or is this case fine since I'm using the SAA1064 chip like you said?

P.S - OH And you were right back a few posts, I did blow the fuses on my multimeter. But I have had them replaced so the mA and microA ammeters work good now :slight_smile:

stevenplanet:
I'm using an Arduino UNO R3. Is that enough information? I'm still new to this and arduino so I'm not sure if theres any other specifications you need.

No, that's OK. The SDA and SCL pins are marked on the circuit board on Unos, I think. If not, they are analog pins A4 & A5.

stevenplanet:
I'll give it a go with the 12V Power supply I have if not I'll try something a little bit higher. What would you recommend if I wanted to power six of these? a 60V power supply?

60V? No! You're getting your volts & amps mixed up. You still only need 12V (if that works) or 15V, but for 6 digits, perhaps 1.5A current.

stevenplanet:
Can I ask what program you used to draw the circuit connections? I really really appreciate it also its really pretty.

Cadsoft Eagle, v7.3. It can be a little awkward to use until you get the hang of it, but its free for designing smaller circuits.

Here's how you would connect up to 8 digits using 2 chips:


That circuit uses the multiplexing functions of the chips, so the brightness will be less. You need to decide how bright you need them to be. For outdoor use you need as much brightness as you can get, in which case multiplexing is not great. With these chips, you could drive 6 digits with 3 chips and no multiplexing.