Ya que estás usando interruptores de todos modos, ya una velocidad establecida, realmente no necesitas un arduino o un circuito muy elegante si un motor de CC hace tu trabajo.
Como se señaló en la otra respuesta, necesita 0.33A por motor. Un suministro de 12 V con capacidad superior a 1 A es suficiente si está seguro de que no utiliza más de 3 motores a la vez. Para estar seguro y tener en cuenta el error del usuario, probablemente sea mejor dejar un margen por encima de eso.
Si todos los motores simplemente necesitan funcionar a toda velocidad, todo lo que necesita es un interruptor en serie con cada motor, y luego conecte todas las combinaciones interruptor-motor a través de la batería en paralelo. La buena práctica también requiere que tenga un diodo en serie con cada motor y un antiparalelo a éste para evitar que vuelva a alimentar la energía cuando lo apague.
Controlar la velocidad es más complicado. La velocidad de los motores de corriente continua es aproximadamente proporcional a la corriente que fluye a través de ella. En general, esto es directamente proporcional al voltaje aplicado. Si las velocidades que necesita están cercanas a la velocidad máxima de los motores, o al menos no demasiado bajas (demasiado baja depende de la construcción del motor y otros detalles), puede eliminar la tensión adicional utilizando una resistencia en serie con cada motor. Asegúrate de usar una resistencia capaz de disipar la potencia suficiente como lo indica V / R, donde V es el exceso de voltaje que estás cayendo y R es la resistencia. El motor en sí es una bobina, y para los fines de esta aplicación se puede tratar como una resistencia. Para reducir a la mitad la tensión del motor, use una resistencia con el mismo valor que la resistencia de la bobina. En general, esto reducirá la velocidad del motor a un poco menos de la mitad. Esto también puede producirse usando un circuito avr / arduino, PWM y un controlador de motor. La falta de disipación resistiva hace que sea más eficiente energéticamente usar PWM, pero esa es la única ventaja real que obtiene.
Si desea una reducción significativa de la velocidad, es mejor hacerlo mecánicamente. Los motores con reductores también están disponibles. Generalmente, la clasificación del motor incluirá un RPM a la tensión especificada. Debería elegir motores que estén al menos en el orden correcto de magnitud para lo que pretende utilizarlos.
Por otro lado, un motor paso a paso es una bestia más complicada. El circuito de accionamiento paso a paso puede ser un poco difícil de construir y controlar. Sin embargo, si está interesado, le sugiero que eche un vistazo a la hoja de datos del L293. Eso junto con un L297 con dos controladores en paralelo o un L298 debería ser suficiente para estos motores. El L293 toma como entrada una onda cuadrada, esencialmente, de frecuencia que decide la velocidad. Para una velocidad fija, simplemente necesita una fuente de frecuencia fija. Un 555 como multivibrador astable (ver hoja de datos) es suficiente para producir esto, y sus interruptores se pueden usar como antes para alimentar cada circuito. La frecuencia también se puede generar desde un AVR o un arduino usando un temporizador en modo CTC, pero de esa manera solo puede establecer tres velocidades ya que solo tiene tres temporizadores. Necesitará circuitos adicionales para encaminarlos a los motores apropiados. El AVR puede, en principio, reemplazar el L293, pero tendrá un poco de tarea para manejar múltiples motores simultáneamente. Incluso para un solo motor, en mi experiencia, la complejidad que introduce supera el costo.