Esta es una tarea factible y bastante simple, muy adecuada para un principiante. Debe elaborar los detalles y escribir el código usted mismo, o no aprenderá nada.
Adafruit tiene un buen tutorial sobre cómo "atenuar" los colores individuales. Use un MOSFET de canal n en lugar de un BJT. La técnica utilizada se llama PWM. El software Arduino hace el trabajo duro por usted, todo lo que tiene que hacer es llamar a la función AnalogWrite desde su código. La página de Adafruit también tiene un código de ejemplo.
Luego necesitas "leer" los valores de los potenciómetros. Puede usar los pines analógicos del Arduino y la función AnalogRead para eso. De nuevo, Adafruit tiene un bonito tutorial , que muestra cómo conéctalo.
Ahora solo tienes que descubrir cómo combinar esto en un script. No es muy difícil si entiendes las partes individuales.
En breve descubrirás que controlar R, G y B individualmente no es muy interesante. En general, el color resultante será difícil de predecir (para un ser humano) y las transiciones atractivas serán difíciles de realizar. Le sugiero que trate los potenciómetros como entrada de HSV (una representación de color diferente a RGB), es mucho más natural en muchos aspectos. La conversión de HSV a RGB es una cuestión de algunos pasos de cálculo , pero encontrará muchas implementaciones en el Internet (por ejemplo, this ).