I have been working on automating my house and i was looking to dim and brighten the lights (not only led) using ballasts which require input voltage of range 0 to 10v DC depending on which the light output is given 0V-off, 10V-on and anything in between changes brightness levels.
Now, i am getting a 0V and 3.3V supply from PI's GPIO pins and i can control the duty cycle of the output (PWM) but how can i use this output to get a voltage range anywhere from 0V to 10V DC? Any reference is appreciated.
Here is the flow: User input->PI->PWM Output->Amplifier and filter->0 to 10V Output voltage->Electronic Ballasts
What i assume is using a non-inverting amplifier of gain 3 to amplify the output signal but i am not sure if it will work or am i missing something. Or should i use DAC or something?
I went through this: http://www.raspberrypi.org/forums/viewtopic.php?f=37&t=85549 and http://forum.arduino.cc/index.php?topic=60785.0 but i am not able to understand it since some people mention that i have to use filters, some say dac and some say pwm.
The user will give the brightness level he wants in his phone which is received by the PI and then it should generate appropriate voltage as input to ballast with the help of some amplification circuit. eg: if duty cycle is 50%, i want to generate 5V, if 100%, 10V if 0% 0V and so on..
Please help me out. I would like to have the simplest solution possible. Thanks in advance.