I have a vibration motor which is run with 2.5-3.5V, max current is 120 mA and motor resistor is 29 ± 6 ?.
So I have a project which contains LCD, phototransistor, IR LED, some buttons, potantiometer and vibration motor. I dont have a idea about that arduino uno's electric current is enough for this project. I know that digital pin max. current is 40 mA, is it also valid for 3.3V pin and 5V pin ?
Thanks.
According to the specs the Uno only puts out 50 mA max on the 3.3 volt line. You can't draw more than that from the 3.3 volt line, period.
Apparently the 5V regulated supply can put out like 880 mA, so you COULD use a voltage divider or an external regulator to step down the 5V to 3.3 and use that to power your motor.
I'm not an EE, but I have a decent understanding of how this stuff works. Here's one way you could do it. (I'm not an expert, verify this for yourself).
Based on my calculations, for a voltage divider you'd want 39 ohms for the "top" (R1) resistor, and 75 ohms for R2. You'd feed that into the collector of an NPN transistor and then connect your digital output pin to the base of the transistor through a current limiting resistor of around 270 ohms. You'd connect the emitter of the transistor to the positive lead of your vibration motor, connect the negative lead to ground, and then attach a flyback diode in parallel to the motor with the anode on the ground side and the cathode on the same side as the transistor emitter.
Here's what the circuit would look like (ugly drawing alert!)
