What size 7 segment LED (Single Digit) is ok for the Arduino?

I am trying to use a single digit 7 segment LED display in my project. The one I have has digits of 1" height, and I have an arduino uno. If I light up one segment, its nice and bright. But if I light up a second one, its quite dull. Is this because the current provided by the output pins is not sufficient? I was also not sure if the one I had was a common anode or common cathode type. So I fiddled with it a bit after googling around and figured that if I keep one particular LED pin positive and ground the other, a particular segment lights up. Does this mean it is a common anode?

So what I did was this, trying to light up just one segment:

  1. Through a 220 register, I connected +5V from the Arduino to the common pin.
  2. I connected the pin corresponding to the segment to the output pin through a resistor.

Here, I saw that the segment was not lighting up on all pins, that is, if I took the segment on output pin 8, it would work, but if I took it to any other pin, it won't light up at all. Is this because the pin was 'floating' even if I had made it LOW? I connected a pull down resistor (10k) between the pin and ground then, and all pins seemed to work, though not satisfactorily. Is this again because the 1 inch LED is too large for the Arduino? I dont have any documentation about the display. What is the ideal size of a 7 segment display for the arduino uno?

Thanks.

Any size is okay as long as the voltage to turn on a segment is less than 4.2 or 4.3V.
Digits with 2-3-4-5 LEDs/segment will need higher voltage to turn them all on.

Unless you are multiplexing (only lighting 1 segment at a time, and cyclying thru each segment with each on for 1-2mS), you need a current limit resistor per segment so that each segment can be turned on individually without affecting the others.

uberjoker: Here, I saw that the segment was not lighting up on all pins, that is, if I took the segment on output pin 8, it would work, but if I took it to any other pin, it won't light up at all. Is this because the pin was 'floating' even if I had made it LOW?

It sounds like you forgot to do the "pinMode(pin, OUTPUT)" call for those pins.

CrossRoads: Any size is okay as long as the voltage to turn on a segment is less than 4.2 or 4.3V. Digits with 2-3-4-5 LEDs/segment will need higher voltage to turn them all on.

Unless you are multiplexing (only lighting 1 segment at a time, and cyclying thru each segment with each on for 1-2mS), you need a current limit resistor per segment so that each segment can be turned on individually without affecting the others.

I will try this multiplexing then. How can I be sure what is the voltage drawn by each segment on my display?

dc42:

uberjoker: Here, I saw that the segment was not lighting up on all pins, that is, if I took the segment on output pin 8, it would work, but if I took it to any other pin, it won't light up at all. Is this because the pin was 'floating' even if I had made it LOW?

It sounds like you forgot to do the "pinMode(pin, OUTPUT)" call for those pins.

Err...as much as I hate to admit it, you are right! I did not set the pinmode for the other pins. Sheesh.

what is the voltage drawn by each segment on my display?

It will only be 5V, that is what is connected. The better question is how much current is being drawn? Use Ohm's Law for that: (5V - Vf)/resistor = current Vf is for the LED you are using, ~2.2 for red, maybe ~3.3 for green/blue So: (5V -2.2V)/220 = 12.7mA (5V - 3.3V)/220 = 7.7mA 5V might be as low as 4.2V per the datasheet depending on temperature and actual current flow.