Puedes hacer una tabla de búsqueda de sinusores decente en el software (puede ser lo que ya estás haciendo pero un poco confuso), y hacer que el arduino lo atraviese a diferentes velocidades para obtener la frecuencia que deseas. Usted encontrará incluso algunos generadores para ello en línea. Un factor de escala puede cambiar la amplitud para usted (pero tenga en cuenta que los armónicos y la "pureza" empeoran a medida que la amplitud es menor). Un poco de filtrado antes de la fuente de corriente constante también limpiará los bordes un poco para usted. No será pura onda sinusoidal en el sentido matemático, tendrá armónicos, pero puede acercarse bastante. Lo bueno que es depende de qué tan grande sea la tabla, la cantidad de pasos.
Generador de ejemplos
enlace
En cuanto a hacer tanto la amplitud como la frecuencia a través del hardware puro, en realidad es un poco más complejo. Y necesitará dos mecanismos para controlar esto por separado desde el ardunio, el análogo o el tren de pulsos. Pero tanto la conversión de voltaje a frecuencia como la escala de amplitud al mismo tiempo no son triviales en el sentido de que requerirán un poco de esfuerzo de diseño. Es posible que alguien esté mintiendo sobre una buena plantilla para usted, pero aquí es donde puede ser necesaria una perspectiva de diseño personalizado.