How would I go about if wanted to drive a 10V DC motor with 5V logic, suuch as the one found by an Arduino, at different rotation speeds? Is there such thing as a motor driver that accepts an analog/digital value specifying motor speed?
The simplest way that I know is for you to use an H-bridge. It will take PWM to control the speeds, which is easily output by the Arduino. The only downside is that you will need two supply lines: One for the Arduino and one for the bridge. They can run off the same supply, you would just have to use a LM316 or similar to get the voltages you need.