Depending on what you are driving, if you have an Arduino you already have three to six Analog outputs, as you can use the AnalogWrite function to set the duty cycle of the PWM pins. The frequency is approximately 490 Hz, more than sufficient for LEDs (again, it depends on your application). You can set the value from 0 to 255, giving you a resolution of (5v / 256 =) .020V.
You need to determine if 490 Hz is a sufficient rate, but PWM is used to simulate analog voltage for many applications, and it may fit yours without extra parts or programming.
You may also consider using a filter (capacitor-resistor network) to smooth out the square wave. It'll give you more leeway in the applications you can control, and passives are cheap, but depending on your application it may not even be necessary.