Dependiendo de lo que esté conduciendo, si tiene un Arduino ya tiene de tres a seis salidas analógicas, ya que puede usar la función AnalogWrite para establecer el ciclo de trabajo de los pines PWM. La frecuencia es de aproximadamente 490 Hz, más que suficiente para los LED (nuevamente, depende de su aplicación). Puede establecer el valor de 0 a 255, lo que le da una resolución de (5v / 256 =) .020V.
Debe determinar si 490 Hz es una velocidad suficiente, pero PWM se usa para simular una tensión analógica para muchas aplicaciones, y puede ajustarse a la suya sin partes ni programación adicionales.
También puede considerar el uso de un filtro (red de condensador-resistencia) para suavizar la onda cuadrada. Le dará más margen de maniobra en las aplicaciones que puede controlar, y los pasivos son baratos, pero dependiendo de su aplicación puede que ni siquiera sea necesario.
enlace