Lying in bed last night I realised I had made a mistake in my calculations
The CLD should be a 3mA (or thereabouts) one and the 50ohms resistor and pot should be 150 ohms and 500 ohms respectively to give 1.5 to 2.1 amps
I had made a false assumption about the gain of the darlington transistor.
At least it was a safe mistake, as no current would have flowed at all.
To test that part of the circuit, replace the LED and second BD681 with a beefy 1ohm resistor. put a voltmeter across it and apply 5 volts to the circuit. You should see the voltage go from 0.75 to 1.5 as you turn the pot, though I would be surprised if it was exact.
If the range is too low change the 150ohm fixed resistor (I really should have labelled them) for a higher
value and vice-versa.
If it is 5v or 0v, the circuit isn't working; disconnect immediately
Also check if the 5V on the input stays stable.
Once that works, replace the 1ohm test
resistor with the led and test again. Ideally it should be bright enough and vary and have about 3 volts across it whatever the pot is set at. Then you can insert the second BD681 and test that taking the input high and low switches the LED on and off, Finally attach the RPi. you might have to lower the value of the 1k resistor on the gpio pin to, say, 680 ohms to get the full range of brightness from the gpio 3volt output. You want to saturate the transistor when it is on.
PWM is the most efficient way of driving this LED as the second BD681 will either be saturated or off, so losing little power. The first one will get hotter as it will be working in the middle of its range. Both should be on a heat sink.
I can show you the calculations for any of the above figures if you are interested.
By the way, this should work better with 12V input , but the first transistor will get hotter. Test with 5V first.
Sorry for the mistake. yesterday.
1st Batch Model B (256M) running Raspbian, Pibrow case, with RaspiCam.
Model A (256M) running Raspbmc, caseless.