Description
16-Channel 12V Relay Module
The 12V sixteen-channel relay module switches AC and DC loads. It is compatible with microcontrollers such as Arduino and Raspberry Pi, allowing several electrical devices to be controlled remotely.
Detailed Specifications
- Relay type: Electromechanical relay
- Number of channels: 16
- Control voltage: 12V DC
- Rated current: 10A
- Contact configuration: SPDT (Single Pole Double Throw)
- Load rating: AC250V 10A, DC30V 10A
- LED indicators: Indicate relay status
- Dimensions: 135 x 55 x 20 mm
- Trigger: Active LOW
- Isolation: Optocoupler isolation
How It Works
A 12V control voltage activates the electromagnetic coil to open or close the relay contacts. This allows high-power electrical loads to be controlled with a lower-voltage signal while providing effective isolation and reliable switching.
Applications
- Industrial automation: Switching motors, heaters, and other industrial equipment.
- Security systems: Activating sirens or signaling devices in alarm systems.
- Home automation: Controlling lighting and electrical appliances in smart homes.
- Electronics projects: Prototyping and development with Arduino and other microcontrollers.
How to Use It with an Arduino Uno
Required components:
- 1 x 12V 16-channel relay module
- 1 x Arduino Uno
- Connecting wires
- Breadboard
Wiring instructions:
- Power the module: Connect the module’s VCC pin to the Arduino 12V pin and its GND pin to Arduino GND.
- Control inputs: Connect IN1 through IN16 to Arduino digital outputs (for example, pins 2 through 17).
- Load connections: Connect the relay output terminals (NO and COM) to the load. NO is normally open and closes when the relay is activated.
Arduino Uno code example:
const int relaisPins[16] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17}; // Pins de commande des relais
void setup() {
for(int i = 0; i < 16; i++) {
pinMode(relaisPins[i], OUTPUT); // Définit chaque pin de commande comme une sortie
}
}
void loop() {
for(int i = 0; i < 16; i++) {
digitalWrite(relaisPins[i], LOW); // Active chaque relais
}
delay(5000); // Attend 5 secondes
for(int i = 0; i < 16; i++) {
digitalWrite(relaisPins[i], HIGH); // Désactive chaque relais
}
delay(5000); // Attend 5 secondes
}
Code Explanation
- Control pin declaration: Arduino Uno pins 2 through 17 are configured as outputs to control the relays.
- Relay setup: In
setup(), the control pins are initialized as outputs. - Main loop: Each relay is activated by a LOW signal on its control pin, closing the connected circuit. The program waits 5 seconds, deactivates the relays with a HIGH signal to open the circuits, then waits another 5 seconds before repeating.
Pinout
- VCC: Connected to the 12V power supply
- GND: Ground (GND)
- IN1 to IN16: Relay control inputs connected to Arduino digital outputs
- NO1 to NO16: Normally open terminals, connected to each load
- COM1 to COM16: Common terminals, connected to the load’s power supply
Keywords: solid-state relay, 16-channel module, industrial automation, automatic lighting, home automation, relay, channel.









