Alimentar un motor de corriente continua de 5v

Estoy intentando hace un programa de ejemplo muy sencillo para controlar la velocidad de un motor de corriente continua utilizando las salidas pwm.
El motor que estoy utilizando puede ser alimentado perfectamente con 5v, así que para probar que funcionara correctamente, lo conecté a la salida de 5v y funciona perfectamente, a toda velocidad. También funciona bien con la salida de 3.3v.

En cambio conectando el motor a una salida digital con el siguiente codigo, parece que no tiene fuerza. Inicialmente no arranca, pero si lo ayudo un poco con el dedo al final empieza a funcionar a muy poca velocidad.

pinMode(9, OUTPUT);
digitalWrite(9, HIGH);

Hay alguna diferencia de tensión entre los pines digitales o el de 5v o el de 3.3v?

También estuve testeando con la salida analógica con los mismos resultados.

analogWrite(9, 255);

¿Es normal este comportamiento?

Gracias

En 5v, lo conectas al regulador de la placa (no recuerdo el valor máximo, pero es algo como 1A).

Los pines de un micro directamente, sólo pueden suministrar 40 mA.

Tienes que usar un transistor, como interfaz entre tu pin y el motor.
http://itp.nyu.edu/physcomp/Tutorials/HighCurrentLoads

Saludos :wink:

Igor R.

Vale, ahora me queda claro.

Gracias!