Skip to Content

Cómo utilizar un relé con Arduino

Cómo utilizar un relé con Arduino

In this tutorial, I will show you how to use a relay with Arduino and how relays work. By the end of this tutorial, you will have all the knowledge to interface relays with Arduino. This will be able to control motors, power switches and other high power applications.

La primera parte del artículo cubre los fundamentos del relé y las conexiones de la placa de relés. A continuación, continuaré con el proyecto de Arduino en el que se accionará un relé utilizando Arduino para controlar un circuito de corriente continua.

Al final del artículo, encontrarás todos los detalles para controlar un circuito de CA (lámpara de 230 V, regulador de intensidad, etc.) utilizando Arduino.

Comencemos.

1: Componentes necesarios para controlar el relé con Arduino

Componentes de hardware

Herramientas

Software

Makerguides.com is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to products on Amazon.com. As an Amazon Associate we earn from qualifying purchases.

Podrás completar el proyecto con los elementos mencionados anteriormente. Le sugiero que primero revise todo el artículo para entender las conexiones, los consejos de seguridad y algunos consejos más útiles.

Programarás el Arduino para controlar la placa de relés. La placa de relés encenderá o apagará la carga.

Conceptos básicos de los relés

Los relés son útiles cuando se necesita controlar un circuito utilizando una señal de baja potencia (pin digital de Arduino, por ejemplo).

Existen diferentes tipos de relés para múltiples aplicaciones. El relé mecánico consistirá en una bobina que cuando se activa, cierra o abre el interruptor (debido a las propiedades magnéticas de la bobina).

Los relés de estado sólido (SSR) son menos voluminosos y no tienen partes móviles.

Este es un ejemplo de un relé de 5 V.

Ejemplo de hoja de datos - OMIH-SH-112L,394

Ejemplo de hoja de datos - OMIH-SH-112L,394
Datasheet of OMIH-SH-112L,394

I have taken the image from the above datasheet. If you are planning for a DC load, the maximum current the relay can support is 16 A.

Dependiendo del tipo de carga, también hay que desclasificarla (elegir un relé con una corriente nominal mucho mayor que la de la carga)

Important Parameters

Le informaré de los parámetros más importantes en los que debe fijarse antes de comprar el relé para su aplicación.

  1. Tensión de conmutación - Cada relé tendrá una clasificación por separado para CA y CC. Tienes que asegurarte de que la carga que necesitas accionar requiere una tensión inferior a la tensión de conmutación del relé. 

Ejemplo: Si quiero accionar un motor de 9 V de corriente continua con el relé, elegiré un relé cuya tensión de conmutación sea de 12 V o superior.

  1. Capacidad de corriente de contacto - Esta capacidad debe ser superior a la corriente de carga máxima prevista.
  1. Tensión de la bobina - Es la tensión necesaria para que el relé se encienda. No se puede proporcionar un voltaje superior a 5 V utilizando Arduino. Por lo tanto, puede utilizar un circuito similar al de abajo para proporcionar los 12 V necesarios para el relé.
relé-interruptor-circuito
Crédito de la imagen: electronics-tutorials.ws

Función

El transistor actúa como un interruptor. Puedes utilizar un pin digital de Arduino para controlar el transistor. Necesitarás este circuito si quieres manejar el relé y no una placa de relés.

Al final del artículo, verás las ventajas de utilizar relés y módulos de relés.

Cuando envíes un 1 lógico al pin de salida digital del Arduino, el transistor se pondrá en ON. Cuando el transistor esté en ON, el relé obtendrá la tensión necesaria en la bobina (VCC) y estará en ON.

To turn OFF the relay, you have to send a Logic 0 to the transistor. Once the transistor is off, the relay coil voltage drops to zero. The load will be now disconnected.

Tienes que usar un diodo en paralelo con la bobina del relé. Esto es para proteger tanto el transistor como el Arduino también.

When the relay is ON, The coil in the relay will have energy stored in the form of a magnetic field. Once the relay is turned OFF, the magnetic field energy will be dissipated in the form of high voltage. The Flywheel diode will act as a clamp and also provide the path for the coil to discharge the energy stored safely.

Para conocer los diferentes tipos de circuitos de accionamiento de relés, te recomiendo que consultes los tutoriales de circuitos de conmutación de relés.

2: Instrucciones paso a paso

Primero destacaré los detalles importantes de los pines y las conexiones. Los siguientes pasos te llevarán a través de una guía de conexión paso a paso para completar este proyecto.

Connecting Relay Module to Arduino and Motor
Connecting Relay Module to Arduino and Motor

Información sobre las clavijas

Arduino UNOTablero de relés
5 V(+) Positive Power Supply
GND(-) Negative Power Supply
PIN 7Clavija S (clavija de entrada)

Encontrará la descripción de los pines en el lado de la carga del módulo de relé en la tabla siguiente.

Pin de la placa de relésDescripción
NONormally Open – This pin will be connected to the COM pin when the relay is ON.
COMComún
NCNormally Closed – This pin is connected to the COM pin when the relay is OFF.

Paso 1: Cableado de Arduino y la placa de relés

En este paso, te mostraré el cableado necesario entre Arduino y el relé.

1) Take a jumper (Dupont cable) and connect one end to PIN 7 of Arduino

Coge un puente (cable dupont) y conecta un extremo al PIN 7 de Arduino

2) Conecte el otro extremo del puente al PIN S del módulo de relés. La conexión tendrá el aspecto de la imagen siguiente

Conecte el otro extremo del puente al PIN S del módulo de relés

3) Haz una conexión entre el pin de 5 V de Arduino y el PIN (+) del módulo de relés

Haz una conexión entre el pin de 5 V de Arduino y el PIN (+) del módulo de relés

4) Haz una conexión entre el pin GND del Arduino y el PIN (-) del módulo de relés

Encontrarás tres pines GND en el Arduino UNO. Puedes conectarte al PIN GND que es más fácilmente accesible.

Ahora, has completado las conexiones entre el Arduino UNO y el módulo de relés.

En los siguientes pasos, conectaremos el módulo de relés a la carga.

Haz una conexión entre el pin GND del Arduino y el PIN (-) del módulo de relés

Paso 2: Cableado de la placa de relés a la alimentación y a la carga

En este paso, te mostraré cómo conectar una alimentación de 9 V y la carga al módulo de relés. He tomado el motor de corriente continua como ejemplo para la demostración.

1) Conecte el terminal positivo de la batería de 9 V al PIN NO del módulo de relé

Conecte el terminal positivo de la batería de 9 V al PIN NO del módulo de relé

La parte de conmutación del relé está aislada eléctricamente del lado del conductor (donde has hecho una conexión desde Arduino).

Este aislamiento ayuda a proteger al Arduino de la alimentación de alta tensión y de las cargas conectadas al relé.

2) Conecte el PIN C (común) del módulo de relés al terminal positivo del motor de CC

Conecte el PIN C (común) del módulo de relés al terminal positivo del motor de CC

Podrá identificar el terminal positivo y negativo del motor de corriente continua por el color de los cables.

El cable rojo es el terminal positivo y el cable negro es el terminal negativo del motor de CC.

3) Conecta el terminal negativo de la batería al motor de corriente continua

Conecte el terminal negativo de la batería al motor de corriente continua

Paso 3: Diagrama de cableado completo para Cómo utilizar un relé con Arduino

Diagrama de cableado completo de Cómo utilizar un relé con Arduino

You can use the connection diagram to verify your connections once more! If nothing happens make sure that you told the Arduino to toggle the PIN 7 so that the relay switches between ON and OFF states.

En el siguiente paso encontrarás el código para el Arduino.

Los mismos pasos se aplican tanto a una alimentación de 12 V como a una de 9 V. Asegúrese siempre de que la potencia del relé es superior a la tensión de alimentación. 

When you are working with AC mains, you have to take special care. Always make connections with AC mains disconnected. High voltage is very dangerous and safety always comes first!

Siempre debe aislar los extremos abiertos del cable y colocar una cubierta para evitar que otras personas toquen accidentalmente la sección del relé.

Paso 4: Sketch de Arduino para saber cómo utilizar un relé con Arduino

El sketch enciende y apaga el relé cada segundo. Este es un simple sketch sólo para la demostración.

En aplicaciones reales, puede accionar el relé para encender la luz cuando detecte un movimiento o encender el motor cuando el nivel del agua esté por debajo de un determinado umbral.

Los relés encuentran sus aplicaciones a su alrededor.

  1. Abrir el IDE de Arduino
  2. Copia y pega el siguiente código en la pestaña del Editor de Arduino
  3. Conecta el Arduino al PC mediante el cable USB
  4. Programar el Arduino
#define RELAY_PIN 7

void setup() {
  // initialize digital pin RELAY_PIN as an output.
  pinMode(RELAY_PIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(RELAY_PIN, HIGH);   // turn the RELAY on 
  delay(1000);                     // wait for a second
  digitalWrite(RELAY_PIN, LOW);    // turn the RELAY off
  delay(1000);                     // wait for a second
}

3: ¿Relé frente a placa de relés? ¿Cuál debe elegir?

Relay vs Relay Board
Relay vs Relay Board

Los módulos de relés vienen con circuitos y componentes adicionales en una placa montada. Yo iría con el módulo de relé para prototipos rápidos por las siguientes razones.

  • Viene con conectores fáciles de usar
  • Contiene todos los circuitos de accionamiento necesarios
  • Algunos módulos disponen de un LED que indica el estado del relé
  • Fácil de montar en un accesorio (los agujeros de montaje estarán ahí)
  • Ahorra tiempo para el prototipo

También te diré por qué me decantaría por un único relé.

  • Ahorra mucho espacio 
  • No todos los relés que necesitas vienen en un módulo
  • Puedo diseñar mi propio circuito de accionamiento y estar seguro de ello

Por lo tanto, tanto la conexión de Arduino a Relé como las placas de Relé te aportan ventajas únicas.

Conclusión

En este artículo, cubrí los fundamentos de un relé y los parámetros importantes de un relé para buscar.

También mostré cómo completar la conexión entre Arduino y el módulo de relés con una carga de motor de CC como ejemplo. 

It would be great to hear from you. Did you find this article useful? Do you have some suggestions?

Por favor, responda en los comentarios y estaré encantado de responder a todos sus comentarios. 

Kristo Poljakov

Monday 5th of February 2024

"Relay Board Pin Description NO Normally Open – This pin gets connected to the COM pin when the relay is OFF. When the relay is ON, this pin gets connected to the COM pin. COM Common NC Normally Closed – This pin gets connected to the COM pin when the relay is OFF. When the relay is ON, this gets disconnected from the COM pin"

Surely this is wrong. NO and NC can't both connect to the COM when the relay is OFF at least when you use relay the way it is meant to be. :D

Stefan Maetschke

Tuesday 6th of February 2024

Good catch! Thanks. Much appreciated! The error has been fixed. Obviously it is: NO Normally Open – This pin is connected to the COM pin when the relay is ON. NC Normally Closed – This pin is connected to the COM pin when the relay is OFF.

Ivor

Thursday 8th of June 2023

Benne - you're heaven sent right now! I'm trying to do something similar and would love your input PLEASE?! I have a relay controlled by a transceiver. What i'd like to do is detect the state of the relay based on the remote button pressed (1 of 2) - if 1/"open" then move a servo x degrees and if 2/"close" move servo back to original place. Happy to share more details via email, but PLEASE HELP.

David Emery

Wednesday 8th of February 2023

How many relays can I control from a single pin? I have a project where I need to control two relays as a set (basically to create a 4PDT relay.) Can I control both relay boards from a single output pin>

Stefan Maetschke

Saturday 2nd of December 2023

It will depend on the relays. An Arduino Uno can safely drive 20mA of current on a single pin (continuously). If the two relays together draw more than that, you risk damaging your board. But why not just use another, second pin?

Alternatively you could use three relays. One relay that switches the two other relays. Or a transistor/Mosfet to do the same. BTW: Many relays can switch two independent circuits at the same time. In this case you use one relay one one pin and that relay controls the second relay and switches one of the circuits, while the second relay switches the second circuit.

If you are short on output pins you can use an IO multiplexer to "add" more pins and then control the two relays using two pins.

Petxentxo

Friday 1st of December 2023

@David Emery, I have the same question, but after such a long Time waiting for the kindness of a reply, am afraid nothing Will ever happen. Sad as it Is, that s what it Is.

Kevin

Miércoles 19 de octubre de 2022

Tu circuito con el transistor es interesante en la medida en que me parece que el diodo del volante no hace nada. Cuando el transistor se apaga, se elimina el potencial de tierra al relé y al ánodo del diodo del volante, por lo que el diodo no tiene camino a tierra y lo hace inútil para el circuito. ¿Qué piensas?

Damon

Domingo 18 de septiembre de 2022

Un artículo muy claro y con la longitud adecuada. Una pregunta: Escribiste: "Dependiendo del tipo de carga, también hay que desclasificarla". ¿Parece que la reducción de potencia es diferente para las distintas aplicaciones? ¿Qué tipo de cargas requieren cuánto? ¿Podría añadir una tabla [¿apéndice?] o un enlace a un recurso sobre esto?