Shields y componentes 26

Control de relés en Arduino

Nuestros pequeños microcontroladores se mueven con corrientes y tensiones muy bajas, por este motivo son incapaces de controlar aparatos electrónicos que funcionan en corrientes y tensiones altas como por ejemplo una bombilla que utiliza 220 voltios, pero como todo en esta vida tiene solución ( o casi todo ) podemos utilizar un dispositivo llamado relé para suplir este problema.

¿ Que es un relé ?

Nuestra amiga la Wikipedia dice lo siguiente : El relé es un dispositivo electromecánico. Funciona como un interruptor controlado por un circuito eléctrico en el que, por medio de una bobina y un electroimán, se acciona un juego de uno o varios contactos que permiten abrir o cerrar otros circuitos eléctricos independientes.

En este vídeo de iesbjinf en Youtube podemos observar el funcionamiento del rele de forma bastante clara:

Todo esto esta muy bien, pero lo que realmente nos interesa es su función, con un relé vamos a poder manejar voltajes altos o potencias elevadas con pequeñas tensiones de control, o lo que es lo mismo, vamos a poder controlar super aparatos con nuestro pequeño Arduino.

Tenemos que tener en cuenta que debido a la configuración de los contactos, los relés pueden ser NO (normalmente abiertos) y NC (normalmente cerrados). Los NO en ausencia de tensión en la bobina del relé estarán abiertos, es decir que no dejarán pasar intensidad . Por el contrario los NC se comportaran de manera inversa. Esto es importante porque dependiendo de esta característica tendremos que cambiar nuestra forma de actuar con el microcontrolador Arduino.
¡Atentos!

Componentes

Además del relé, nuestra placa Arduino y una bombilla ( que vamos a controlar mediante el relé ) necesitamos  elementos adicionales para hacer el circuito posible, en este caso, los componentes que vamos a utilizar son los siguientes:

  • Relé sellado SPST-NO de 20 Amperios
  • Resistencia 1k Ohm
  • Resistencia 10k Ohm
  • Transistor BJT
  • Diodo rectificador – 1N4148
  • LED ( OPCIONAL )
  • Placa controladora de relés ( OPCIONAL – Explicación abajo )
Explicacion componentes adicionales
Para que el relé funcione correctamente tenemos que utilizar algunos componentes extras en nuestro circuito. Es necesario usar un Transistor BJT debido a que el relé funciona con una corriente de 80mA que es bastante más de lo que el pin GPIO de nuestro Arduino puede manejar, que son unos 20mA, entonces el transistor cuando funcione en zona activa nos va permitir elevar la corriente hasta unos 200mA, más que suficiente para controlar el relé y el Led indicador ( Este led se encenderá cuando el relé este activado ).

También vamos a usar un diodo rectificador para que las corrientes no puedan moverse en sentido inverso y dañen nuestro Arduino.

Esquema

El esquema del circuito es el siguiente :

Esquema de Control de relés en Arduino

Explicación del circuito :

Conectado al pin de nuestro Arduino con el que activaremos el relé vamos a tener una resistencia de 1kΩ ( R2 ), que a su vez se conectara a la base del transistor. El emisor del transistor va a masa ( GND ) y al colector vamos a tener conectado un diodo rectificador ( que como ya hemos mencionado se ocupa de que las corrientes solo se muevan en un sentido y no puedan dañar nuestro microcontrolador ) y en paralelo el relé, es decir, las patillas de control de la bobina del relé que serán las que activen o desactiven las salidas de este ( la bombilla ). Además al colector tenemos unido una resistencia de 1kΩ ( R4 ) seguido de un diodo led que nos indicara cuando el relé este funcionando.

En fritzing sin utilizar la placa controladora quedaría de la siguiente manera :

Esquema de Fritzing de como controlar los relés con Arduino

Placa controladora

En este caso hemos utilizado una placa con las conexiones entre los elementos hechas, el motivo es que nos facilita mucho las conexiones y todo queda mucho más ordenado, no tenemos que utilizar ninguna protoboard y ocupa mucho menos espacio, su precio es muy bajo por lo que creo que merece la pena. A pesar de todo esto la placa es prescindible y no tenemos por que usarla, podemos perfectamente realizar nosotros mismos las conexiones como e indicado en el esquema de arriba.

Aquí teneis una imagen de como queda todo en la placa controladora :

La placa controladora de reles completamente montada

Programa de ejemplo

Un sencillo ejemplo de como programar el relé en Arduino, en este caso encenderemos y apagaremos la bombilla con un intervalo de 1 y 3 segundos. El programa es muy muy sencillo.

EJ

 

 

/* Programa de OvToaster.com */

int rele = 8;

void setup()

{
  pinMode(rele,OUTPUT);
}

void loop()

{
  digitalWrite(rele,HIGH);  // Activamos el relé y la bombilla
  delay(1000);              // 1 segundo
  digitalWrite(rele,LOW);   // Desactivamos el relé y la bombilla
  delay(3000);              // 3 segundos
}

 

En Funcionamiento

Aquí tenéis un vídeo de la bombilla controlada por el circuito relé y Arduino con el programa anterior.

 

Sobre el autor / 

AsierPH

Entusiasta de las tecnologías libres y fundador de OvToaster.com | “Las obras de conocimiento deben ser libres, no hay excusas para que no sea así“

Articulos relacionados

26 comentarios

  1. Mario 31 Enero, 2017 at 9:26 pm -  Responder

    Hola muy buenas,me gustaría saber en un rele cuáles son las patillas a las que se les llaman de control¿85 y 86?

  2. Vilma 23 Octubre, 2016 at 6:58 am -  Responder

    Hola AsierPH, perdon ya funciono. Gracias. ahora debo incluir un push button que accione el relay o lo desactive. tengo el codigo, y me falta el circuito.
    Arduino puede prender varias luces en diferentes tiempos? o esto es con Raspberry Pi

  3. Vilma 23 Octubre, 2016 at 6:03 am -  Responder

    Hola
    La prueba “En Funcionamiento”, se refiere a la placa controladora y al código que mostrado, verdad?. Yo quisiera probar mi circuito en mi breadboard, pero no he usado el transistor ni el diodo rectificador. Habra algún problema si uso la parte del circuito sin el transistor. De hecho lo probé y no paso nada. Espero no haber quemado algo.

  4. jose moreno 14 Septiembre, 2016 at 3:48 am -  Responder

    buenas amigo una pregunta como hago para activar varios relay en diferentes momentos por ejemplo en domotica porque quiero encender varios electrodomésticos con arduino y varios ralays

  5. Sergio Santillán 14 Mayo, 2016 at 11:51 pm -  Responder

    Hola buen dia. Estoy realizando un proyecto de colegio, de encender/apagar por medio del celular dos bombillos pero parece que me falta una linea de codigo de los reles porque al alimentar las tarjetas arduino inmediatamente se me encienden los bombillos cuando deberia ser que yo lo encienda y apague desde mi celular pormedio de la aplicacion.
    Gracias y espero me ayude.

  6. Benjamin 5 Mayo, 2016 at 1:14 pm -  Responder

    Hola, una pregunta, estoy usando arduino para activar un rele que prende y apaga dos lamparas de bajo consumo 23w, si pruebo el circuito con tiempos de 20 seg prendido y 20 apagado funciona, una hora on/off tambien pero luego de unas tres horas ( aunqeu el rele se activa ) no corta el circuito, tengo que lograr tiempos de 18 hs off y 6 on, estuve leyendo que manejando gfrandes cosnumos puede quedarse “pegado”, hay manera de solucionar esto?, estoy haciendo algo mal?
    muchas Gracias!

    • lalo 24 Octubre, 2016 at 6:34 pm -  Responder

      hola amigo tambien presento el mismo problema, me podrias ayudar si ya pudiste solucionar ese problema??

  7. Dha 14 Septiembre, 2015 at 7:56 am -  Responder

    Como encuentro esos relés? Y su precio aproximado

    • AsierPH 14 Septiembre, 2015 at 11:59 am -  Responder

      Buenos días Dha,
      Depende mucho de donde te encuentres ( tiendas ), si buscas en los buscadores encontraras mucha información y precios.
      ¡Saludos!

  8. juan orellana 31 Agosto, 2015 at 11:18 pm -  Responder

    estimado alguien me puede ayudar tengo la idea pero no se como concretar un rele que mientras este a menos de 1 metro este activado si se aleja mas de 1 metro desconecte algún artefacto
    se les agradece vuestra ayuda

    • AsierPH 1 Septiembre, 2015 at 11:48 pm -  Responder

      Buenos días Juan,
      Para realizar lo que comentas necesitas un sensor de proximidad, de manera de que cuando el sensor detecte la distancia que necesites active el circuito del relé.
      Busca en los buscadores “Sensor proximidad Arduino” y encontraras bastantes ofertas y materia al respecto.
      Un saludo!

  9. michel 20 Febrero, 2015 at 2:48 am -  Responder

    Hola, gusto en saludarles, soy nuevo en este mundo de Arduino, quisiera saber si este ejemplo me sirve para saber si se va la corriente.., es decir, con la placa puedo saber si se va la corriente para a partir de ahí programar la acción de otros sensores..?

    gracias de antemano..

    • AsierPH 20 Febrero, 2015 at 10:25 am -  Responder

      Buenas Michel, ¿a que te refieres con que se vaya la corriente? La señal de encendido y apagado la estamos controlando nosotros en la programacion mediante el Arduino, de forma que, si es posible conocer cuando el aparato controlado por el relé esta encendido o apagado.
      No se si te refieres a esto.
      Un saludo

  10. Pedro 8 Febrero, 2015 at 9:34 pm -  Responder

    Hola, ¿que tal?. Buena tutoría, recién empiezo con Arduino. Quisiera saber que patas del relé están conectados a cada cosa (corriente,foco). Ya que en las imagenes ve pero no se distingue.. a que pata en específica: NA,NC,Común..etc. Gracias de antemano.

    • AsierPH 11 Febrero, 2015 at 11:18 am -  Responder

      Hola Pedro:
      Si te he entendido bien creo que te refieres a este párrafo del artículo:
      Conectado al pin de nuestro Arduino con el que activaremos el relé vamos a tener una resistencia de 1kΩ ( R2 ), que a su vez se conectara a la base del transistor. El emisor del transistor va a masa ( GND ) y al colector vamos a tener conectado un diodo rectificador ( que como ya hemos mencionado se ocupa de que las corrientes solo se muevan en un sentido y no puedan dañar nuestro microcontrolador ) y en paralelo el relé, es decir, las patillas de control de la bobina del relé que serán las que activen o desactiven las salidas de este ( la bombilla ). Además al colector tenemos unido una resistencia de 1kΩ ( R4 ) seguido de un diodo led que nos indicara cuando el relé este funcionando.
      Un saludo!

  11. carlos 28 Enero, 2015 at 6:05 pm -  Responder

    Hola buenas mi nombre es carlos y soy nuevo en esto de placas arduino, me gusta mucho este tema, y os explico, me gustaria dar la orden a la placa de relés desde un pulsador con 9v, no se si me entienden, mi idea es sustituir la placa de relés que da una orden de 5v y sustituirla por un pulsador con 9v, muchas gracias por leer mi comentario, agradecería una respuesta, un placer.
    Carlos.

    • AsierPH 28 Enero, 2015 at 9:56 pm -  Responder

      Lo siento pero no entiendo lo que quieres hacer, primero dices que quieres dar la orden a la placa controladora de relés y luego sustituirla. ¿Me puede explicar un poco mejor?
      Gracias

  12. Jorge 24 Noviembre, 2014 at 9:05 pm -  Responder

    Hola, podria conectar 1 solo rele a 2 placas arduino? lo necesito asi porque necesito abrir una misma puerta desde 2 placas diferentes. ¿Se puede? Gracias

    • AsierPH 24 Noviembre, 2014 at 9:12 pm -  Responder

      Buenas Jorge,
      Si que puedes hacer esto, creo que la mejor forma de hacerlo es mediante un circuito lógico, porque evidentemente no puedes conectar todas las conexiones ( de ambas placas ), a un mismo relé.
      El tema seria conectar ambas placas al circuito lógico y este al relé.
      ¡Un saludo!

  13. Javier Alvarez 20 Octubre, 2014 at 4:21 am -  Responder

    MiJavi.

    Cualquier salida que haga funcionar con Arduino (por ejemplo en “Hola Mundo” con ledes) lo podrá conectar a un relé por medio de puentes que alimente la entrada lógica del relé, adicionalmente el Vcc y el GND.

  14. Javier Alvarez 20 Octubre, 2014 at 4:18 am -  Responder

    Estimado Carlos.

    Si se puede, lo importante es que el consumo de corriente de las tres lamparas no supere la capacidad del relé. Ahora bien, si lo que desea es controlar tres lamparas por separado entonces debe utilizar tres relés diferentes.

    Existen unos módulos de uno, dos o mas relés para Arduino en la misma tarjeta.

  15. Carlos Calderon 17 Octubre, 2014 at 5:19 pm -  Responder

    Excelente proyecto, estoy dando mis primeros pasos en arduino, tengo una pequeña duda si quisiera controlar varias lamparas seria posible controlar el encendido y apagado de 3 lamparas.
    Desde ya muchas gracias por tu aporte.

    • Yomismo 8 Septiembre, 2016 at 7:59 am -  Responder

      Podrias, solo que conectandolas en paralelo o con tres reles independientes.
      Saludos

  16. mijavi.romero 13 Octubre, 2014 at 11:41 pm -  Responder

    hola una cosilla, tienes algún ejemplo activando con entradas digitales o analógicas paraa ctivar el rele3

    gracias

    • AsierPH 15 Octubre, 2014 at 12:58 pm -  Responder

      Buenas, te refieres a controlar el relé mediante un interruptor o algo similar? Perdón pero no te he entendido muy bien.

      • Manuel 8 Septiembre, 2016 at 8:05 am -  Responder

        Hola, segun mis conocimientos que en este campo son pocos, cuando activas el rele para en este caso se encienda una lampara, El rele se queda activo???
        Como deberia proceder para que esa lampara prenda durante ¿12h? y pasado el tiempo pueda volver a apagarla sin que el rele este conectado todo el tiempo.
        Creo que me refiero a un enclavamiento pero con arduino.
        Te agradeceria me respondieras al e-mail.
        Recibe un saludo cordial.

Deja tu comentario

Tu correo no sera publicado. Los campos requeridos están marcados *