Código de búsqueda

Código y vídeo de Arduino para un relé de 5V de doble canal

Código y vídeo de Arduino para un relé de 5V de doble canal

En este tutorial aprenderemos a controlar cargas de CA y CC utilizando un relé de doble canal de 5V con un Arduino. El relé te permite conmutar entre dos cargas diferentes, como una bombilla de CA y un motor de CC, proporcionando flexibilidad para diversas aplicaciones. Al final de esta guía, podrás configurar tu propio sistema con relé y controlarlo mediante un sencillo código de Arduino.

2 chanel relay module

A lo largo del proceso, cubriremos los componentes necesarios, las instrucciones de cableado y un recorrido por el código de Arduino utilizado para controlar el relé. Este proyecto es perfecto para principiantes que quieran explorar el mundo de la electrónica y la automatización. Para una guía visual, asegúrate de ver el video asociado (a las 00:00).

Hardware explicado

El componente principal de este proyecto es el relé de doble canal de 5V. Este relé consta de dos interruptores independientes que pueden controlar cargas separadas. Cada relé tiene tres contactos: Normalmente Cerrado (NC), Normalmente Abierto (NO) y Común (COM). Cuando el relé se activa, el contacto NO se conecta, permitiendo que la corriente fluya a través de la carga.

Otros componentes esenciales incluyen la placa Arduino, que controlará el relé a través de sus pines digitales. El módulo de relé también cuenta con LEDs indicadores que se encienden cuando el relé está activado. Además, el relé está ópticamente aislado, proporcionando seguridad al separar el circuito de control del circuito de carga.

Detalles de la ficha técnica

FabricanteSongle
Número de piezaSRD-05VDC-SL-C
Tensión lógica/E/S5 V
Tensión de alimentación5 V
Corriente de salida (por canal)10 A
Corriente de pico (por canal)10 A
Guía sobre la frecuencia PWMNo aplica
Umbrales lógicos de entrada2.5 V mín.
Caída de tensión / RDS(en conducción) / saturación80 mΩ
Límites térmicos70 °C
PaqueteMódulo
Notas / variantesÓpticamente aislado

  • Asegure un aislamiento adecuado al conectar cargas de CA.
  • Use fusibles adecuados para garantizar la seguridad con cargas elevadas.
  • Mantenga el módulo de relés alejado de la humedad.
  • Considere el uso de disipadores de calor en aplicaciones de alta potencia.
  • Verifique el cableado antes de encender para evitar daños.
  • Utilice fuentes de alimentación separadas para dispositivos de alta corriente si es necesario.

Instrucciones de cableado

Arduino wiring for 2 channel relay module AC load
Arduino wiring for 2 channel relay module AC load

Para cablear el relé de doble canal al Arduino, comience conectando el pin VCC del módulo de relé al pin 5V del Arduino. Conecte el pin GND del relé al pin GND del Arduino. Esto proporciona alimentación al módulo de relé.

A continuación, conecta los pines de control: conecta elIN1pin del relé al pin digital 7 del Arduino y elIN2Conecte el pin al pin digital 8. Esta configuración le permitirá controlar ambos relés de forma independiente. Finalmente, conecte sus cargas de CA o CC a los contactos del relé según sus necesidades, asegurándose de seguir las precauciones de seguridad adecuadas al tratar con voltaje de CA.

Ejemplos de código y guía paso a paso

En el código de Arduino, comenzamos inicializando la comunicación serie y configurando los modos de los pines de control del relé. Las variablesrelay1Pinyrelay2Pinse definen para representar los pines conectados a cada relé. A continuación, los estados de salida de estos pines se alternan en el bucle.

const int relay1Pin = 7; // define pin for relay 1
const int relay2Pin = 8; // define pin for relay 2

void setup() {
  Serial.begin(9600); // setup Serial Monitor to display information
  pinMode(relay1Pin, OUTPUT); // connected to Relay 1
  pinMode(relay2Pin, OUTPUT); // connected to Relay 2
}

Este fragmento inicializa el monitor serial para emitir información de depuración y configura los pines de control de los relés como salidas. Esto es crucial para asegurar que los relés puedan encenderse y apagarse según sea necesario.

void loop() {
  digitalWrite(relay2Pin, LOW); // turn relay 2 OFF 
  Serial.print("Pin 8 LOW");
  digitalWrite(relay1Pin, HIGH); // turn relay 1 ON
  Serial.println(" Pin 7 HIGH");
  delay(3000); // keep in relay 2 OFF and relay 1 On for 3 seconds
  digitalWrite(relay1Pin, LOW); // turn relay 1 OFF
  digitalWrite(relay2Pin, HIGH); // turn relay 2 ON
  Serial.print("Pin 7 LOW");
  Serial.println(" Pin 8 HIGH");
  delay(3000); // keep in relay 1 OFF and relay 2 On for 3 seconds
}

Este código alterna los relés cada tres segundos, encendiendo uno mientras apaga el otro. El monitor serie muestra el estado de los pines, lo que ayuda a depurar y a comprender el funcionamiento de los relés.

Demostración / Qué esperar

Cuando la configuración esté completa, deberías ver el relé cambiando entre las cargas conectadas cada tres segundos. El relé activará alternativamente la bombilla de CA o el motor de CC conectados. Ten precaución al trabajar con cargas de CA, ya que un manejo inadecuado puede provocar situaciones peligrosas (en el video a las 12:34).

Marcas de tiempo del vídeo

  • 00:00- Introducción al relé de doble canal
  • 04:15- Instrucciones de cableado
  • 08:30- Explicación del código
  • 10:45- Demostración del relé

Imágenes

Arduino wiring for 2 channel relay module AC load
Arduino wiring for 2 channel relay module AC load
2 chanel relay module
2 chanel relay module
2 chanel relay module
2 chanel relay module
2 chanel relay module
2 chanel relay module
2 chanel relay module
2 chanel relay module
46-This is the Arduino code for a dual-channel 5V relay.
Idioma: C++
/*
 * This is the Arduino code for Dual Channel 5V Relay
 * to control turning ON or OFF AC or DC loads. You can control 2 different loads such as bulbs, or a heater, or other machines.
  Watch the video instruction for this code: https://youtu.be/EclIomn_3dI
 
 *  * 
 * Written by Ahmad Shamshiri for Robojax Video
 * Date: December 26, 2017, in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: this code is "AS IS" and for educational purposes only.
 


Get this code and other Arduino codes from Robojax.com
Learn Arduino step by step in a structured course with all materials, wiring diagrams and libraries
all in one place. Purchase my course on Udemy.com: http://robojax.com/L/?id=62

If you found this tutorial helpful, please support me so I can continue creating 
content like this. You can support me on Patreon: http://robojax.com/L/?id=63

or make a donation using PayPal: http://robojax.com/L/?id=64


 * 
  * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.* 
 * This code has been downloaded from Robojax.com
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

 


void setup() {
  
  Serial.begin(9600);// setup Serial Monitor to display information
  pinMode(7, OUTPUT);// connected to Relay 1
  pinMode(8, OUTPUT);// connected to Relay 2

}

void loop() {
  digitalWrite(8, LOW); // turn relay 2 OFF 
      Serial.print("Pin 8 LOW");
  digitalWrite(7,HIGH);// turn relay 1 ON
      Serial.println(" Pin 7 HIGH");
  delay(3000);// keep in relay 2 OFF and relay 1 On for 3 seconds
  digitalWrite(7, LOW);// turn relay 1 OFF
  digitalWrite(8,HIGH);// turn relay 2 ON
      Serial.print("Pin 7 LOW");
      Serial.println(" Pin 8 HIGH");
  delay(3000);// keep in relay 1 OFF and relay 2 On for 3 seconds


}
47-Control AC loads using a 2-channel relay and an Arduino
Idioma: C++
/*
 * This is the Arduino code for a dual-channel 5V relay
 * to control turning ON or OFF AC or DC loads. You can control 2 different loads such as bulbs, a heater, or other machines.
 Watch the video instruction for this code: https://youtu.be/EclIomn_3dI
 
 *  * 
 * Written by Ahmad Shamshiri for Robojax Video
 * Date: December 26, 2017, in Ajax, Ontario, Canada
 * Permission granted to share this code, given that this
 * note is kept with the code.
 * Disclaimer: This code is "AS IS" and for educational purposes only.
 


Get this code and other Arduino codes from Robojax.com
Learn Arduino step by step in a structured course with all materials, wiring diagrams, and libraries
all in one place. Purchase my course on Udemy.com: http://robojax.com/L/?id=62

If you find this tutorial helpful, please support me so I can continue creating 
content like this. You can support me on Patreon: http://robojax.com/L/?id=63

or make a donation using PayPal: http://robojax.com/L/?id=64


 * 
  * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
 * This code has been downloaded from Robojax.com
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

const int relay1Pin =7;// define pin for relay 1
const int relay2Pin =8; // define pin for relay 2


void setup() {
  
  Serial.begin(9600);// setup Serial Monitor to display information
  pinMode(relay1Pin, OUTPUT);// connected to Relay 1
  pinMode(relay2Pin, OUTPUT);// connected to Relay 2

}

void loop() {
  digitalWrite(relay2Pin, LOW); // turn relay 2 OFF 
      Serial.print("Pin 8 LOW");
  digitalWrite(relay1Pin,HIGH);// turn relay 1 ON
      Serial.println(" Pin 7 HIGH");
  delay(3000);// keep in relay 2 OFF and relay 1 On for 3 seconds
  digitalWrite(relay1Pin, LOW);// turn relay 1 OFF
  digitalWrite(relay2Pin,HIGH);// turn relay 2 ON
      Serial.print("Pin 7 LOW");
      Serial.println(" Pin 8 HIGH");
  delay(3000);// keep in relay 1 OFF and relay 2 On for 3 seconds


}

Cosas que podrías necesitar

Recursos y referencias

Aún no hay recursos.

Archivos📁

No hay archivos disponibles.