Arduino Nano - 2-Channel Relay Module
This tutorial instructs you how to use Arduino Nano to control a 2-channel relay module. In detail, we will learn:
- The pinout of a 2-channel relay module
- How to connect Arduino Nano to a 2-channel relay module
- How to program Arduino Nano to control the 2-channel relay module
When we want to control two high-voltage devices such as pumps, fans, or actuators, we have two choices. We can either use multiple relay modules or opt for a simpler solution. The simpler way is to use a 2-channel relay module, which is a single board that already has two relays integrated into it. This approach makes the setup easier and more convenient for controlling both devices.
Hardware Preparation
1 | × | Arduino Nano | |
1 | × | USB A to Mini-B USB cable | |
1 | × | 2-channel Relay Module | |
1 | × | Jumper Wires | |
1 | × | (Optional) 9V Power Adapter for Arduino Nano | |
1 | × | (Recommended) Screw Terminal Expansion Board for Arduino Nano |
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Additionally, some of these links are for products from our own brand, DIYables.
Overview of 2-Channel Relay Module
Pinout
A 2-channel relay module has the following pins:
- Power pins for relay boards
- DC+: connect this pin to 5V pin of power supply
- DC-: connect this pin to the GND pin of the power supply and also to the GND pin of the Arduino Nano
- Signal pins:
- IN1: this pin receives the control signal from Arduino Nano to control relay 1 on the module
- IN2: this pin receives the control signal from Arduino Nano to control relay 2 on the module
- Output pins: NCx (normally closed pin), NOx (normally open pin), COMx (common pin),
- NC1, NO1, COM1: These pins connect to a high-voltage device that is controlled by relay 1
- NC2, NO2, COM2: These pins connect to a high-voltage device that is controlled by relay 2
- How to connect relay to high-voltage devices
- The terms normally closed and normally open
- The terms low-level trigger and high-level trigger
- How to control relay using Arduino Nano
Additionally, the 2-channel relay module includes 2 jumpers that allow you to choose between the low-level trigger and high-level trigger for each relay individually.
If you're interested in learning the fundamentals of relays, I recommend checking out the Arduino Nano - Relay tutorial. The tutorial provides detailed information on:
Wiring Diagram
This image is created using Fritzing. Click to enlarge image
If you plan to use the 5V pins to power additional components, there's a chance that the relay module won't receive enough power. Therefore, it's essential to use a separate 5V power source specifically for the module.
So, we need to use three types of power sources:
- A 5V power adapter for Arduino Nano
- A 5V power adapter for the 2-channel relay module
- One or several higher-voltage power adapters (12VDC, 24VDC, 48VDC, 220AC...) for things that are controlled by the 2-channel relay module
Below is the wiring diagram using three power sources. The power supply for the Arduino Nano (not shown in the image) can be connected either through a USB cable or a power jack.
This image is created using Fritzing. Click to enlarge image
To reduce the number of power adapters required, we can simplify things by using a single 5V power supply for both the Arduino Nano and the 2-channel relay module.
This image is created using Fritzing. Click to enlarge image
※ NOTE THAT:
If the two devices controlled by a 2-channel relay module operate at the same voltage, we can utilize a single high-voltage power adapter to supply power to both devices. However, if the devices require different voltages, we can independently use separate high-voltage power adapters for each device.
How To Program For 2-Channel Relay Module
- Initializes the Arduino Nano pin to the digital output mode by using pinMode() function.
- Control the relay's state by using digitalWrite() function.
Arduino Nano Code
Detailed Instructions
- Copy the above code and open with Arduino IDE
- Click Upload button on Arduino IDE to upload code to Arduino Nano
- Listen the click sound on relays.
- Check out the result on the Serial Monitor.