12V Lamp on Arduino with a reed relay


Arduino has a limited current sinking/sourcing capability (less than 40 mili Amps) on its pins. Whenever you intend to switch a device which needs high current or high voltage (like a lamp or a motor) an intermediate circuit is needed. In the simplest case this intermediate circuit is a relay.


Relay acts as a normal switch, but is triggered with a magnet rather than a handle. Here we use a special kind of relay called reed relay. Such relays come in vacuum enclosures and have excellent performance in terms of being an ideal switch. Whenever driving coils there should be a diode connected across the coil in reverse bias, so it will damp the back EMF produced. However, the relay we are using has this diode across its coils internally, so we don’t need to worry about it.


Make the circuit below:

Select the Blink sketch (File>Examples>Digital>Blink) from your Arduino software and upload it to your board. The Lamp on the bread and the LED on your Arduino board should light up at the same time.

More info

Note that similar to any other load, relays draw current. This current can be more than what an Arduino can provide. In such cases you cannot connect the relay directly to an Arduino output. Use a transistor for the relay and a diode to protect against back EMF. Here is an example how to drive such a relay with a transistor.

An easier approach for driving high current/voltage relays is to use a relay driver such as ULN2003 or ULN2803. Here is a sample schematic how to do so (taken from this rocket project).


Comments are closed.