Un motor de contínua es una carga inductiva que hace girar un eje cuando circula por él una corriente.
Para conectar un motor de este tipo directamente a un pin de a una placa arduino, es necesario un diodo de libre circulación y un driver que aporte la corriente necesaria.
Puede usarse un transistor, o un circuito ULN2003.
El sentido del giro del eje puede controlarse cambiando la polaridad de la tensión que se aplica en sus bornas. Existen drivers que aparte de aportar la potencia necesaria para su funcionamiento tienen integrado una configuración de transistores llamada puente en H que permiten invertir la polaridad y con ello cambiar el sentido de giro,
Un circuito típico de puene en H es es el L293D (o su equivalente SN754410) que tiene dos puentes y por lo tanto puede controlar dos motores.

Los pines 12 y 13 controlan el motor A, mientras que los pines 11 y 10 controlan el motor B. Las combinaciones 00 y 11 hacen que el motor se detenga. Las combinaciones 10 y 01 hacen que el motor gire a derecha y a izquierda.
El chip funciona a 5 V, y puede configurarse para alimentar los motores a una tensión máxima de 36 V y una corriente máxima de 600 mA
Más info
http://panamahitek.com/el-puente-h-invirtiendo-el-sentido-de-giro-de-un-motor-con-arduino/http://www.rakeshmondal.info/L293D-Motor-Driver