Help on 123d circuits

Hello,

I am fairly new here and for school I have to make a DC motor rotate at variable speed by using an arduino. The nominal voltage of the motor is 12V (external battery), so I want to control this battery voltage in order to steer the motorspeed. I also have to make a control loop in order to keep the motor running at the same rotational speed untill I decide to set a new speed. Is it possible to make only with an arduino such a controllable voltage program? Or do I need other electric components like transistors or such?
Any ideas how to make this? Is there perhaps someone who can show it on a scheme on 123d circuits?

Thanks,
Stan

You will need external components. You will need feedback to the Arduino to measure the motor speed and adjust things accordingly.

What motor are you using?

I do not use 123d

A DC motor with specs: Load speed: 310 rpm Load current: 0.7 A Idling speed: 340 rpm Idling current: 0.32 A Nominal voltage: 12 V

You’ll definitely need a transistor and a diode to drive the motor, for a start.

Then some means of telling the system what speed you want it to run at, perhaps an LCD shield with buttons where you can “dial in” the desired speed.

And of course some means of getting to know the actual speed; perhaps a magnet and a Hall sensor, or an opto-interrupter and a slotted wheel.