Using electromagnets

Hello, I'm new to the forum and pretty new to the hardware side of robotics and the like. My question is; Would using an electromagnet be the same as using an electric motor, or would I need something else instead of a motor shield? The electromagnet will be quickly turning on and off repeatedly and I know how to programming for it, but I don't know if I need any other hardware. The electromagnet is 12v DC, .5A, 5.2W.

Thanks in advance for all your help!


If you don't need to reverse the polarity of the electromagnet then an NPN transistor or an N-Channel MOSFET will allow the Arduino to control it.

By "quickly turning on and off repeatedly" you may mean Pulse With Modulation. If so, be sure to connect it to one of the PWM pins.

Have a squiz at this

Put a flyback/snubbing diode across the electromagnet to protect your driver!

Yes, I do mean PWM, and I will not be reversing polarity- in fact I was using a MOSFET with a function generator, zener diode and an external power source, but it wasn't doing what I needed; I need a digital on/off signal rather than a constant analog one. The function generator was actually causing the electromagnet to reverse its poles and generate an AC current which has been a bit frustrating to overcome. That's why I decided to turn to using a programable microprocessor configuration to generate the on/off signal. So far the arduino's been awesome, I've had my eye on it for simple robotics applications for a while, but I think it'll work great for this as well.

Thanks everyone for your quick responses and useful information.