- Tue Nov 02, 2010 2:21 pm
Is "complete rotation" a 360 degree swing, or do you mean continuous rotation (ability to turn an arbitrary number of rotations in one direction without any in the opposite direction)?
For a single 360 degree range and low power, a servo may be your best bet, as you get to send a position, rather than a speed.
For multiple rotations, I suggest you consider a stepper motor or use closed loop control (such as incorporating an encoder or detecting the endpoints of the intended motion). Using a conventional motor and open loop control of speed and duration is likely to get you increasing error with time. Error will also depend on consistency of the mechanical load on the motor and of the power supply.
Lastly, I discourage using power from the Arduino for moving anything. That way lie a host of electrical noise and voltage sag problems. Feeding the Arduino and the motor from a common power source is probably a better move. If you're using a 5 V Arduino, you should feed it at least 7 V.