Turn a motor at a certain speed (panorama)

Completely new to Arduino. Need to make something to turn a motor at a certain speed (very slow) by the push of a switch. If somebody could list me what parts I would need for this, it would be greatly appreciated! I will be buying my first Arduino and the components tomorrow!

Welcome to the world of Arduino gregwm.

Before you rush out and buy stuff we need to know some more details like...
What voltage/current is the motor your trying to drive.
What type of motor is it (AC, DC, Stepper, etc)
Does it only turn in one direction or will you want it to turn either way.
Define very slowly. x revolution per (second, minute, hour, day, other)
What load (weight) has this motor to turn/move.
How accurate/smooth does the rotation need to be.
I'm sure I have missed something else to ask but this is a start.

Riva:
Welcome to the world of Arduino gregwm.

Before you rush out and buy stuff we need to know some more details like...
What voltage/current is the motor your trying to drive.
What type of motor is it (AC, DC, Stepper, etc)
Does it only turn in one direction or will you want it to turn either way.
Define very slowly. x revolution per (second, minute, hour, day, other)
What load (weight) has this motor to turn/move.
How accurate/smooth does the rotation need to be.
I'm sure I have missed something else to ask but this is a start.

What voltage/current is the motor your trying to drive.
6V or 9V. I haven't bought the motor yet.
What type of motor is it (AC, DC, Stepper, etc)
Whichever is most suitable. I've been suggested stepper, however the rotation has to be pretty smooth.
Does it only turn in one direction or will you want it to turn either way.
Turns in one direction.
Define very slowly. x revolution per (second, minute, hour, day, other)
1 Revolution per minute is ideal
What load (weight) has this motor to turn/move.
Approx 100g (iPhone)
How accurate/smooth does the rotation need to be.
As smooth/accurate as can be. This isn't vital though.

Thanks for the help Riva :slight_smile:

This is probably quite simple so all help appreciated!

How accurately do you need to control the speed? If the load is consistent and you don't care about achieving a specific precise speed, you could just use a geared motor and choose a supply voltage a PWM setting that gives you the right sort of speed. THat's crude but easy to do.

Alternatively if you want to be certain that the speed is exactly what you specified then a stepper motor would be the most sensible way to do it. As you'd guess, this moves in steps (typically around 200 steps per revolution) so you can get an idea of how smooth this movement would be. If smoothness is an issue you could reduce the effect of the steps by driving through a reduction gearbox.

gregwm:
What voltage/current is the motor your trying to drive.
6V or 9V. I haven't bought the motor yet.
What type of motor is it (AC, DC, Stepper, etc)
Whichever is most suitable. I've been suggested stepper, however the rotation has to be pretty smooth.
Does it only turn in one direction or will you want it to turn either way.
Turns in one direction.
Define very slowly. x revolution per (second, minute, hour, day, other)
1 Revolution per minute is ideal
What load (weight) has this motor to turn/move.
Approx 100g (iPhone)
How accurate/smooth does the rotation need to be.
As smooth/accurate as can be. This isn't vital though.

You could maybe do it really simple with something like this. The 3000:1 motor will do 1.5 RPM at 4.5 volts. You would not need an arduino even as it's a simple DC motor.

Other ways would be to use a stepper motor with worm drive and large(ish) gear. A standard stepper motor and a 30 tooth gear will allow you to turn in 0.03 degree steps.

Third option is this off the shelf stepper/gearbox that would allow 0.09 degree turn per step.

So many options.