Description
This is a 5V, 16-channel relay module with a light coupling LM2596S power supply. You will be able to control various appliances and other equipment with a large current. It can be controlled directly by a microcontroller (Arduino 8051, AVR, PIC, DSP, ARM, MSP430, TTL logic).
This is a 5V 16-Channel Relay Interface Board, and each one of the individual relays needs 15-20 mA of driver current. The board features indication LED for Relay output status and a standard interface that can be controlled directly by many of widely used microcontrollers like Arduino, etc.
The 5V electromechanical relay module has an AC contact capacity of 250V and also includes light coupling protection (optocoupler) for isolation of control circuitry. The plate load power module doesn’t need an external power supply. It supports all SCM drives.
The LM2596S buck chip in this relay module shows a slight fever, which is a normal phenomenon as relays with long working hours have normal fever characteristics. 4 relays load power to leave some margin. They should avoid high power (about 2000 watts) and a long working environment, which will have some impact on the life of the product.
Noted: The relay module is SRD-5VDC-SL-C.
Specifications
- 5V relay with an AC contact capacity of 10A at 250V and optocoupler protection.
- The onboard power supply module does not need an external power supply. The I/OO port driver is active.
- The module can be used as a microcontroller development board module and also as appliance control and PLC extended output.
- It is using the industry’s top-quality isolation optocouplers, strong anti-jamming ability and stable performance.
- The 1-16 road can be any full-on/off or any road.
- Each relay's common terminal, "COM,” provides independent, user-friendly access to different signals, each relay is normally closed and normally open to the port.
- Each relay is equipped with a motion light.
- All interfaces can be directly connected through the terminal leads, which is very convenient.
Package Includes
- 1 x 5V 16 Channel Relay Module with Light Coupling LM2596S Power Supply
Pinout
Arduino Example
in this example, we will blink a 220 volt lamp for 1 second and shoot it down for 1 second. You need to connect the 16 load the same
Code
const int controlPin[16] = {2,3,4,5,6,7,8,9,10,11,12,A0,A1,A2,A3,A4}; // define pins
const int triggerType = LOW;// your relay type
int loopDelay = 1000;// delay in loop
int tmpStat =1;
void setup() {
for(int i=0; i<16; i++)
{
pinMode(controlPin[i], OUTPUT);// set pin as output
if(triggerType ==LOW){
digitalWrite(controlPin[i], HIGH); // set initial state OFF for low trigger relay
}else{
digitalWrite(controlPin[i], LOW); // set initial state OFF for high trigger relay
}
}
Serial.begin(9600);// initialize serial monitor with 9600 baud
}
void loop() {
for(int i=0; i<16; i++)
{
channelControl(i,tmpStat,200);// turn each relay ON for 200ms
}
if(tmpStat)
{
tmpStat=0;
}else{
tmpStat=1;
}
Serial.println("===============");
//channelControl(6,1, 2000); // turn relay 7 ON for 2 seconds
//channelControl(6,0, 5000); // turn relay 7 OFF for 5 seconds
//channelControl(9,1, 3000); // turn relay 10 OFF for ever
delay(loopDelay);// wait for loopDelay ms
}
/*
* funciton: channelControl
* turns ON or OFF specific relay channel
* @param relayChannel is integer value channel from 0 to 15
* @param action is 1 for ON or 0 for OFF
* @param t is time in melisecond
*/
void channelControl(int relayChannel, int action, int t)
{
int state =LOW;
String statTXT =" ON";
if(triggerType == LOW)
{
if (action ==0)// if OFF requested
{
state = HIGH;
statTXT = " OFF";
}
digitalWrite(controlPin[relayChannel], state);
if(t >0 )
{
delay(t);
}
Serial.print ("Channel: ");
Serial.print(relayChannel);
Serial.print(statTXT);
Serial.print(" - ");
Serial.println(t);
}else{
if (action ==1)// if ON requested
{
state = HIGH;
}else{
statTXT = " OFF";
}
digitalWrite(controlPin[relayChannel], state);
if(t >0 )
{
delay(t);
}
Serial.print ("Channel: ");
Serial.print(relayChannel);
Serial.print(statTXT);
Serial.print(" - ");
Serial.println(t);
}
}