How to make LED’s light up equally

ledresistorsvoltage

I have built a Binary to Unary (kind of) circuit on my breadboard.
It looks like this:

schematic

simulate this circuit – Schematic created using CircuitLab

There are three switches that represent "binary number", and according to that switches' combination, number of lit LEDs change to represent that binary number.

So for example:

A B C     LEDs
0 1 0     _____OO
0 1 1     ____OOO
1 0 0     ___OOOO
etc..

But with different ABC combination my LED's are lit with different luminous intensity…

I am wondering how do provide equal current and voltage for LEDs and make them light up with equal luminous intensity independent of switches' combination.
Probably I'm not understanding some major law in electronics.

Best Answer

There are several things you need to do to have the LEDs be equal brightness.

The best way to make the LEDs look the same is to drive them with a constant current. This is easier than it sounds, because many companies make chips specifically for driving lots of LEDs with constant current. Here is one from TI. Of course, this is a little more difficult because you have chosen to use discrete transistors instead of gates/cplds/mcu's-- but those are the breaks.

The second, and hardest, is to get LEDs that are matched. I say this is hardest because when you buy in hobby volumes, you are often at the mercy of the people you buy it from. Getting things from DigiKey might be easier, but you have to research the different LEDs and see which ones do better color and intensity matching. However, for most uses this step is not required as LED that have the same manufacturer part number are usually "good enough".