Brushed DC motors. Current flowing in one direction makes the motor turn one direction, and current flowing in the opposite direction makes the motor turn the opposite direction.
Stepper motors - provide absolute position control but require a special controller IC
Servo motors - PWM signal controls the position of the motor
How do I connect a brushed DC motor to a microcontroller?
DC motors are inductive loads and therefore cannot be directly connected to a microcontroller without damaging the microcontroller. There are two protection mechanisms that go into a successful motor interface:
Back EMF / flyback diode - protects against current spikes that can damage a microcontroller. Use “rectifier” diodes (e.g., 1N400x series)
H-bridge - switches current on or off to the motor, and changes the direction of the motor
The LMD18200 is a common off-the-shelf H-Bridge IC.