loading

This instructable is for connecting your Arduino to a 2 Channel relay module and using your sketch to control the switches.

I bought the 2 Relay Module on eBay (for $9.50) to drive a couple of 240V parts (a vacuum cleaner and a rotary engraving tool) that I'm using with my CNC Etching mill (still under construction). The idea was that the controller of the CNC etching mill would turn both of these devices on when the machine was etching, one to do the etch, while the other sucked up all of the detritus from the etch.

In this instructable, I'm using:

  • Arduino UNO
  • 2 Relay Module
  • 2 LED
  • 2 220 ohm resistors
  • some jumper wires (7 actually)
    • 4 of the jumpers are Male to Female
    • 3 of the jumpers are Male to Male

This instructable does not connect anything to the relays, it just runs them.

Step 1: Wire the Circuit Up

I'm connecting the relay to Analog pins on the Arduino because in my circuit, I'm running low on Digital pins. Analog pins on the Arduino can be used as Digital simply by setting the pinMode appropriately and using digitalWrite to ... digitally write to the pin :p
  • Relay GND > Arduino GND
  • Relay IN1 > Arduino A0
  • Relay IN2 > Arduini A1
  • Relay Vcc > Arduino 5V

I've connected some LED to the circuit to use as indicators, which is a little redundant as the Relay Module also has indicator LED on the board. You can leave these out of the circuit if you want ... although I plan to mount the LED on the project box and I'm not going to use light pipes on the SMD LED.

The LED are connecting to digital 12 and 13. These are connected to ground via 220 ohm resistors.

And there you have it, the Relay module is connected to the Arduino and you are good to go.

Step 2: Sketch It Up

The sketch is downloadable on this page.

The two relays are dimensioned in the top of the sketch:

int RELAY1 = A0;
int RELAY2 = A1;

Note that I am passing A0, A1 as integers ... neat, huh?

In setup() the relays are prepared using pinMode:

pinMode(RELAY1, OUTPUT);

and then set to HIGH using digitalWrite:

digitalWrite(LED1, HIGH);

Depending on how you are connecting your load to the relay NO = Normally Open or NC = Normally Closed, it's a pretty safe idea to ensure that the relay is initially OFF (in my case, that's HIGH).

Test your relay and don't just believe that it's either ON or OFF ... prove it to yourself.

In the loop() we are just switching the state from HIGH to LOW for both of the relays. The relays can be operated independently, so you can use the 2 Relay Module to control two devices independently, maybe in response to 2 different sensors?

In this configuration, the relays are not supplying a load, but they are working. When the relay toggles OPEN and CLOSED, there will be an audible *CLICK* for each transition.

When you have connected the module to the Arduino, uploaded the sketch and powered it up, you'll get a click a second ... unless you change the value of "delayValue" of course.

As mentioned earlier, this is a very simple instructable without many parts and with a fairly terse description.

I'm going to make a garden watering system for my vegetable patch using this circuit with a 120L/hour pump and a simple hygrometer ... I'll show the relay in action in that later instructable.

Good luck and happy/safe play!

Step 3: Relay With Load

After a little bit of effort, I cut up an old 5V DC wall wart to make a simple power supply on the relay side of the circuit. To do that, I simply cut the connection from the end of the wall wart, soldered an extension onto the negative lead (to make it longer and with a heat shrink shield). Then I tinned the positive lead and put it into the normally open (NO) screw terminal on the relay (channel 1).

I cut another piece of wire and tinned both ends and put it into the common (C) screw terminal on the relay (channel 1).

The Common lead and the Negative lead were then connected to an 8V lamp (something that I use for circuit testing as it is a good indication of load). Finally, I provided power to the Arduino and, yay, an 8V lamp blinky was born ... "Hello World!"

You may (or may not) notice that I disconnected the redundant LED from the circuit. This circuit has so many applications in home automation and for internet of things jiggery-pokery. Because the relay can handle up to 250V it will be able to control power to any 240V device in the house from lights to audio equipment.

On the other side of the circuit, the Arduino is a 5V device and can interact with 5V (and 3.3V) sensors and digital equipment.

This combination gives rise to a many possibilities from turning the kettle on when the front door opens (who doesn't want a cup of tea or coffee when they get home), sending an email message (with an attached photograph) to you when someone goes into your workshop, watering your precious vegetable patch when the soil moisture level gets too low, how about an automatic alert to a carer when your blood sugar gets too low? You are only limited by your imagination, budget and (to some degree) the availability of sensors.

All Hail The Rise of the Mad Home Scientist!

<p>I have a query. The output of the relay is not connected to LED's . The output lines NO and COM should be connected to LED's on breadboard right?. Please clarify.</p>
<p>for anyone searching for answer check link in instructables</p><p>http://www.geeetech.com/wiki/index.php/2-Channel_Relay_module</p>
<p>Do you want a follow?</p><p>@VasantJ1</p><p>excited,</p><p>prism_miner</p>
<p>The LED are connected to the Arduino and are merely indicators, they are not connected to the relay at all. The sketch turns the RELAY1 on and off at the same time that it turns the LED on and off.</p><p>I hope this helps!</p><p>Kind Regards</p><p>Baelzabubba</p>
<p>kk</p>
<p>dunno</p>
<p>To <a href="https://www.instructables.com/member/baelza.bubba/" rel="nofollow">baelza.bubba</a>, </p><p>Why doesn't mine work??? </p><p>Regards,</p><p>prism_miner</p>
<p>well ... that's a good question, why doesn't it? </p>
<p>Hi,</p><p>nice guide, but maybe you want to add that the jumper must be set to JD-VCC to VCC, or nothing will happen with the relay.</p>
<p>(no offense) </p><p>why are you called 123d4?</p><p>Regards,</p><p>prism_miner</p>
there is no real reason, it is as good as John5777155 but shorter :)
<p>G'day 123d4,</p><p>Sure, you're right ... the jumper is indeed set to VCC as it needs to be.</p>
<p>Thanks for your instructable. I am planning to automate my room and this was very helpful. Cheers!</p>
Hey SiddarthN,<br><br>Excellent, good luck with the automation ;)<br><br>Cheers
<p>Great instructable. I just received a 2 relay module and needed to test it out before I put it to use. It works great, and this was a big help since I'm fairly new to Arduino. Buy the way I ran the code on a Arduino Nano V3 without a hitch.</p>
<p>Hi imalan54, thanks :) I'm glad to hear it worked out of the box for you! Starting out with Arduino is lots of fun.</p><p>Cheers</p>

About This Instructable

37,950views

43favorites

Bio: I have been working in IT since the mid 1980's. Most of that has been database and application development. I've been working on ... More »
More by baelza.bubba:Simple Breadboard Switchable Power Supply L293D Motor Direction Control for under $2.20 12V NE555 PWM Controller Under $3 
Add instructable to: