How much higher does the driving voltage have to be in order to control 4V? How about 3V? Where's the cutoff point where an NPN will work?
The NPN bipolar transistor is current driven device. Talking voltage is a simplification.
Long time back I showed you the equation for nchannel mosfet (ie IRF530) - that is a a device which is voltage driven.
Vdriving = Vthreshold_nfet + Vfd1 + Vfd2 + Idiodes*R3
For example (for above schematics):
Vdriving = 4V + 2.1V + 2.1V + 0.05A*10ohm = 8.2 + 0.5 = 8.7 Volt (similar to the above simulation result, btw)..
For NPN transistor in above schematics:
1. hfe = 100, Ic=100mA, Ib=1mA
2. Rbase = (5V - (0.7 + Vfd1 + Vfd2 + Idiodes*R3)) / Ib = (5-0.7-2.1-2.1-0.5)/1mA=-0.4V/1mA = -400ohm
The above gives a nonsense for 5V, you have to use 6V for example. That is a big simplification of course, but it works.
So in order to use the high side NPN in such schematics the (0.7 + Vfd1 + Vfd2 + Idiodes*R3) should be, let say, 0.5V (or better 1V) LOWER than the max driving voltage (aprox 5V with arduino), for example (mind this is not the proper engineering design practice, however
Example: the above schematics with 1 diode with Vfd=3V and 30mA Idiode current:
Rbase=(5V-(0.7+3+0.03*10))/Ib=(5-0.7-3-0.3)/1mA=1V/1mA=1000ohm. So this will work, provided the arduino output can source 1mA at 5V output voltage (It means with 4V arduino's output it will not work probably)
But again, we do not talk cutt-offs or threshold voltages when dealing with bipolar transistor or other such devices (diodes, etc).
PS: the proper way of driving your LEDs with high-side switch is with PNP switch and an NPN driver - see for example:http://forum.arduino.cc/index.php?topic=165994.0