air pump motor does not work

Hi guys,

I was just working with some air pump motors.
I was trying to control them with a digital pin but that did not work. But when I connected the motor to the 5V pin it worked. Could anybody explain why this is happening.

Thank you so much.
Jeff

I also wrote the digital pin high
so that will not be the problem.

Digital pins on Arduino have a maximum current draw of 40mA which is not going to be enough to drive a pump. The 5V pin can provide more, but you really need to provide separate power for the motor and just control it from the arduino via relay or mosfet.

A MOSFET DC motor driver. Choose the MOSFET based on the motor stall current rating.

See how to control pump using Arduino

maxlanger:
Hi guys,

I was just working with some air pump motors.
I was trying to control them with a digital pin but that did not work. But when I connected the motor to the 5V pin it worked. Could anybody explain why this is happening.

Thank you so much.
Jeff

You need to understand the difference between a signal and conveying power. Signals convey
information and are deliberately designed to use little power (for instance a microcontroller or
microprocessor internally has hundreds of thousands to millions of signal connections internally,
so if they uses lots of power the chip would vaporize.

The outputs of a microcontroller are often designed to be able to drive a small load, like an LED
or two, and thus have a bit more power capability than a simple logic signal. However even small
motors take hundreds to thousands of times more power than logic signals convey - so you need
power electronics to convert a signal to something capable of running a motor.

So anything taking more power than a small LED, you'll need some sort of driver chip or module.
Drivers turn logic and analog signals into something powerful enough to do the work required,
and often require a suitable power voltage and supply to go with it.