Hola de nuevo
El pin de salida digital de Arduino suministra 40mA máx (no es conveniente llegar a esta intensidad)
Si quieres regular la velocidad del motor (aumentar o disminuir la vibración) necesitas conectarlo a una salida PWM, y en función del ancho del pulso de la señal PWM consigues variar la tensión de salida (
http://arduino.cc/es/Tutorial/PWM), y por lo tanto su velocidad y potencia. De esta forma puedes variar la tensión de salida entre 0v (analogWrite(0) y
5v 3,75 (analogWrite (191)) aunque tengas conectado el motor a 5v (Haciendo que la onda cuadrada PWM no llegue al 100% del ciclo) .
El circuito sería el mismo que tienes, cambiando la alimentación del motor de 3,3v a 5v, deberás utilizar la función Analogwrite (Arduino/File/ExamplesBasics/Fade)
Si no quieres regular la velocidad del motor, simplemente encenderlo y apagarlo puedes utilizar cualquier salida digital del Arduino (teniéndolo encendido poco tiempo para que no se caliente mucho).
En cualquiera de los dos casos necesitarás un transistor para permitir conducir hasta 80mA.
Puedes utilizar el BD139 (Ic=1500mA>>>80mA) o el BC237 (100mA>80mA) o el BC547 (100mA>80mA) cualquiera te vale, sólo que el BC237 o el BC547 son más baratos (~0,2€) (me había confundido: el BC236 es PNP).
NOTA:
Para evitar que los picos de corriente del motor afecten al micro es conveniente poner en paralelo con el motor un pequeño condensador (22pF).