However, I don't understand how to “send” only 5mA base current when I have no control over the intensity of the current sent out by the atmega chip.
That is the primary job of a resistor in a circuit and what the recommended resistor will do in the circuit we discuss.
Sometimes we forget that we were ALL new at something, sometime and advice of that nature about base current can be more defeating than a real lesson should be.
To me, that statement is just noise that gives an excuse for doing shoddy work. When working with transistors, there is no excuse for being loose and free with base current unless you have a supply of spare parts. Any good advice about base current can hardly be "more defeating than a real lesson should be".
You will note that I said "is not best practice". I did not say the words "won't work". However, I do intend to imply that ignoring advice (and ohms law) can mean that in some cases a device "lives fast and dies young".
Also, as grumpy mike has said in the past... just because something works... does not mean it's not doing damage. Getting a concept wrong on a small scale can be really costly if in a final project you have replicated a misunderstanding many many times.
As for OP's most recent drawing and results.... if we are to trust your drawing... it won't work with your LED's in backwards. As for your results... I still say... wiring error.
I used your code and the circuit you SHOULD be using... and I get the expected results...BUT only AFTER I make your MAP statement look like this:
[u][u]luminosite = map(analogRead(lightPin), 0, 1023, 0, 255);[/u][/u]
So, since you get a different result... your wiring must be incorrect.
IE; When Light level goes up, the LED gets brighter...