Thanks for the links. There are no problems hardware-wise (of course :-) ). The sample sketch seems good to me too.
How do we control the current to the output PIN? Is the value that we provide in the software voltage or current?
Via software you don't specify neither voltage nor current. Non-pwm pins can just provide 0 or 5V. Output current depends on the circuit. Pwm-enabled pins (3, 5, 6, 9, 10, 11 - cfr http://arduino.cc/en/Main/ArduinoBoardUno
) can emit a square wave with a software-controlled duty cycle. That's what you control via analogWrite(). Comments in the sketch are quite clear, IMHO.