Archivo de la etiqueta: Domótica

Control de relés por enlace de 2,4 GHz – módulos NRF24L01 (Domótica 4)

La función de este artículo es dar ejemplos de comunicación inalámbrica entre dos placas Arduino, utilizando el módulo transceptor basado en el chip NRF24L01.

En la imagen se observa dos formatos de módulo transceptor, ambos con el chip NRF24L01. Este chip utiliza la banda de 2,4 GHz y puede operar con velocidades de transmisión de 250 kbps hasta 2 Mbps. Si se usa en espacios abiertos y, con menor velocidad de transmisión, su alcance puede llegar hasta los 100 metros. Para mayores distancias, hasta 1000 metros, existen módulos provistos con una antena externa en lugar de una antena trazada sobre la misma placa, como se observa en la imagen.

Con este sistema enviaremos comandos de texto que controlen un módulo de relés para manejar artefactos de 220V CA en una instalación de domótica. Para domótica es suficiente el alcance del módulo básico, pero se puede optar por la versión con antena incorporada, si es necesario.

En nuestro artículo Arduino: Comunicación inalámbrica con NRF24L01 están explicados y desarrollados en detalle varios usos del módulo NRF24L01 con un Arduino. Si no está familiarizado con un módulo como este, o si desea profundizar más en sus características y capacidades, recomendamos su lectura, aunque no es imprescindible para utilizar este diseño.

Para el control de las placas NRF24L01 para enlace de RF se utiliza la biblioteca RF24, totalmente compatible con las placas Arduino. En la página enlazada hay una explicación en inglés de cómo instalarla en su IDE de Arduino. Si no, puede leer las instrucciones a continuación (si ya conoce el procedimiento, saltee esta explicación):

Como es una librería obtenida del sitio GitHub, que es un repositorio de código para programadores, deberemos utilizar el método de instalación manual. Lo primero es descargar la librería en formato ZIP dentro de la carpeta que usted elija.

Una vez descargada debemos añadir la librería mediante el menú desplegable Programa >> Incluir Librería >> Añadir biblioteca .ZIP… Se abrirá un panel para buscar el ZIP en su disco rígido.

Una vez seleccionado el archivo éste será incluido. Cerramos el IDE de Arduino y cuando volvamos a abrirlo la librería ya estará disponible.

Circuito básico para el sistema

La biblioteca RF24 utiliza los pines estándar del hardware SPI (MISO, MOSI, SCK) que son, respectivamente, los pines digitales 12, 11 y 13 en la placa Arduino UNO. También se necesitan dos pines adicionales para controlar las funciones de selección del chip (CS) y habilitación del chip (CE).

Estos dos últimos pines pueden ser elegidos y designados por el usuario utilizando la función radio(ce_pin, cs_pin) de la biblioteca RF24; y se puede usar cualquier pin digital disponible.

El diagrama de conexiones de los módulos —que mostramos a continuación— es idéntico para las placas Arduino de ambos lados, transmisor y receptor. Observe con atención que la entrada VCC del módulo transceptor está conectada a la salida 3,3V del Arduino. No se equivoque con la alimentación poniéndola a 5V, porque el módulo resultaría dañado.

A continuación, le agregaremos a uno de los dos Arduino, que funcionará de receptor, un módulo de relés como los que hemos descrito y explicado en detalle en el artículo Módulos de relé y Arduino: Domótica (1). Recomendamos leerlo.

Sistema 1: Control utilizando el teclado de la computadora a través de Monitor Serie

La placa Arduino utilizada como transmisor estará conectada al puerto USB de la PC, o laptop, que utilizamos para programarlo y luego para enviar los comandos. El puerto USB alimentará la placa y el módulo transmisor.

El Arduino receptor puede estar conectado a cualquiera de los modos de alimentación adecuados: un cable USB conectado a un cargador estándar de 5V, o a un Power Bank para celular; una batería de 9V o una fuente regulada de 9V CC conectada al jack de entrada de alimentación de la placa Arduino o a su pin Vin.

El circuito del receptor se cableará de la siguiente manera a los módulos de relé:

Nota: en este circuito se alimentan los led emisores de los optoacoples desde la misma fuente de los relés. Para separar totalmente los circuitos, quitar el jumper entre VCC y JD-VCC y alimentar VCC desde los 5V de la placa Arduino.

Circuito del Sistema 1, con módulo de 2 relés

Criterio de control:

La lista de comandos es como sigue

a – Activa el relé 1 / a apaga el relé 1 al pulsar de nuevo
b – Activa el relé 2 / b apaga el relé 2 al pulsar de nuevo

Programa del transmisor

Programa del receptor:

Con esta disposición, la manera de controlar los relés es como sigue: abrimos el panel de Monitor Serie y tipeamos allí los comandos “a” o “b” para encender y apagar los relés.

La capacidad de control se puede ampliar utilizando módulos de mayor tamaño, por ejemplo de 4, 8 o 16 relés, y agregando las variables y líneas de programa para cada relé. Utilizaremos en esos casos las siguientes letras: “c”, “d” y así sucesivamente.




Sistema 2: Control con pulsadores, sin necesidad de computadora

Con el sistema desarrollado en la primera parte dependemos de una computadora para ingresar los comandos al Arduino transmisor, y esto puede ser impráctico.

Para agregar un nivel más de independencia al control, conectaremos unos pulsadores al circuito transmisor de Arduino que ya presentamos. Para que nos resulte más simple, vamos a utilizar los pulsadores de RESET con cable y conector que es posible rescatar por desarme del panel frontal de cualquier PC de mesa que haya sido descartada. Como este:

Si usted lo desea, puede reemplazar los dos pulsadores por cualquier modelo que usted disponga, como estos (colocados sobre una protoboard y conectados con cables), que además de venir en los kits básicos de Arduino, son muy comunes en electrónica:

Diagrama para el Sistema 2: pulsadores y módulo de 2 relés

Hemos agregado dos pulsadores de panel frontal de computadora de mesa, que ingresan por las entradas digitales 2 y 3. Los pulsadores los hemos nombrado como Puls1 y Puls2.

Con estos pulsadores podremos controlar el módulo de dos relés con el que trabajamos en este artículo hasta ahora, pero podríamos implementar este control con módulos de 8, 16, y hasta 32 relés.

El diagrama para esta parte del proyecto —siempre manteniendo el cableado básico del Arduino con el NRF24L01— es:

Criterio de control:

La lista de comandos es como sigue

Puls1 – Activa el relé 1 / Puls1 apaga el relé 1 al pulsar de nuevo
Puls2 – Activa el relé 2 / Puls2 apaga el relé 2 al pulsar de nuevo

Programa del transmisor:

Programa del receptor:

Presionando el pulsador 1 se activará el relé 1, y con una nueva pulsación se lo desactiva. El funcionamiento es igual para el pulsador 2 en conjunto con el relé 2.

Nota: Si usted halla un error, por favor háganos saber que lo ha encontrado. Gracias.

Artículos relacionados:

Módulos de relé y Arduino: Domótica (1)
Control con relés por interfaz serie: Domótica (2)
Control de relés con control remoto IR: Domótica (3)
Control de relés por enlace de 2,4 GHz – módulos NRF24L01: Domótica (4)
Descripción y funcionamiento del Bus I2C
¿Qué es la comunicación serie?



Control de relés con control remoto IR: Domótica (3)

En este ejemplo probamos el sistema de encendido de lámparas y equipos eléctricos conectados al voltaje de red manejado por un control remoto estándar (IR = Infrarrojo). Los comandaremos con teclas elegidas del control remoto, que primero identificaremos con un simple programa en Arduino.

Si usted desea leer con más detalle sobre control remoto con infrarrojo desde Arduino, le recomendamos el artículo Módulo transmisor de infrarrojo KY-005 (Kit de sensores Keyes 5) en nuestra página.

Para controlar artefactos con voltaje de red, usaremos las salidas normalmente abiertas de un módulo de relé. Si no conoce los módulos de relé que son estándar en la línea Arduino, recomendamos leer el artículo que inició esta serie Módulos de relé y Arduino: Domótica (1).

Utilizamos el mismo circuito armado en el artículo anterior: Control con relés por interfaz serie: Domótica(2). Le agregamos únicamente el sensor de recepción de infrarrojos, un sensor VS1838B proveniente de China, muy común en los kits de Arduino y en el mercado.

Se puede utilizar cualquier receptor de control remoto, incluso uno obtenido de desarme, si se tienen identificados sus pines de conexión.

El sensor no es un tan solo un fototransistor, posee un circuito integrado interno que filtra la señal de 38 KHz que modula el haz de infrarrojo, y es la que contiene los comandos de control. La salida de señal entrega una onda cuadrada de niveles TTL entre 0 y 5V. Existen modelos que entregan señal a niveles de 0 a 3,3V.

Es posible que usted encuentre el kit de la imagen que sigue en los sitios especializados, pero no es necesario. Alcanza con conectar el sensor al Arduino y utilizar un control remoto cualquiera de los que haya en su casa.

El sensor utilizado en este kit es, justamente, el VS1838B.


La que sigue es la manera más básica de conectarlo al Arduino, y es el circuito con el que comenzaremos a trabajar en las pruebas iniciales. La principal de ellas, obtener el listado de los datos que llegan al Arduino al presionar cada tecla.

Advertencia: cuando realiza proyectos que están conectados a la red eléctrica, realmente debe saber lo que está haciendo, de lo contrario, puede producirse un accidente. Este es un tema serio y queremos que esté seguro. Si no está 100% seguro de lo que va a hacer, por favor no toque nada.
¡Pregúntele a alguien que sepa!

El siguiente programa utiliza la biblioteca IRemote (creada por >shirriff). Consiste de un ciclo continuo que espera a que llegue un comando de control remoto, y entonces lo muestra por el Monitor Serie.

Con este programa en el Arduino y la pantalla del monitor serie abierta, pulsar cada tecla del control remoto para conocer sus valores. Es conveniente escribir los valores en un TXT para utilizarlos cada vez que sea necesario. Una lista como la que sigue, que corresponde a un control remoto de Direct TV. Los valores están en decimal.

48799: [guide]
45244: [active]
38057: [list]
33026: [exit]
57063: [back]
4985: [menu]
864: [info]
64187: [rojo]
14499: [verde]
49424: [amar]
59787: [azul]
57375 63414: [vol+]
53295 63414: [vol-]
31762: [guion bl]
16195: [enter]
65001: [prev]
61455: [mute]
6654: [flecha adel]
1579: [flecha atrás]
57094: [flecha derecha]
38068: [flecha izquierda]
22183: [select]
32630: [1]
23217: [2]
28078: [3]
59460: [4]
44135: [5]
37740: [6]
54067: [7]
11155: [8]
45264: [9]
29399: [0]
26583 26583 39270 63414: [on]
26583 26583 39270 63414: [off]
32895 63414: [tv input]

El control remoto del kit de sensor IR Keyes posee los siguientes valores en hexadecimal (puede diferir según el modelo):

0xFFA25D: CH-
0xFF629D: CH
0xFFE21D: CH+
0xFF22DD: PREV
0xFF02FD: NEXT
0xFFC23D: PLAY/PAUSE
0xFFE01F: VOL-
0xFFA857: VOL+
0xFF906F: EQ
0xFF6897: 0
0xFF9867: 100+
0xFFB04F: 200+
0xFF30CF: 1
0xFF18E7: 2
0xFF7A85: 3
0xFF10EF: 4
0xFF38C7: 5
0xFF5AA5: 6
0xFF42BD: 7
0xFF4AB5: 8
0xFF52AD: 9

Circuito para estas pruebas

Nota: en este circuito se alimentan los led emisores de los optoacoples desde la misma fuente de los relés. Para separar totalmente los circuitos, quitar el jumper entre VCC y JD-VCC y alimentar VCC desde los 5V de la placa Arduino.

Criterio de control

En este primer experimento hemos elegido como comandos para encender y apagar las salidas un conjunto de letras a enviar por línea serie. Para el relé 1 enviamos la letra “A” para encender, y la letra “a” para apagar. El relé 2 se enciende con la letra “B” y se apaga con la “b”. Y así sucesivamente si hubiese más relés. Para apagar todo al mismo tiempo elegimos enviar un “0” (cero).

La lista de comandos es como sigue:

Botón 1 – Activa el relé 1 / Botón 2 – Apaga el relé 1
Botón 3 – Activa el relé 2 / Botón 4 – Apaga el relé 2
Botón 0 – Apaga todos los relés

Programa 1 para dos relés

Copie el siguiente código en su IDE de Arduino y súbalo a su placa.

Advertencia: no es conveniente cargar código nuevo cuando su Arduino
está conectado al módulo de relés. Siempre quite la alimentación de 5V a este módulo.

Programa 2

En esta modificación de programa utilizamos una opción que nos permite usar una única letra de comando para encender y apagar. El «truco» consiste en alternar el estado del relé de encendido a apagado en cada recepción de la letra, utilizando una operación lógica NOT, que se representa con el símbolo !




Criterio de control

En este caso la lista de comandos es como sigue:
Botón 1 – Activa el relé 1 / Botón 1 apaga el relé 1 al pulsar de nuevo
Botón 2 – Activa el relé 2 / Botón 2 apaga el relé 2 al pulsar de nuevo

Programa 3:

El que sigue es un ejemplo para ampliar el manejo a 4 relés. Como observarán, sólo es necesario copiar y pegar y usar los códigos correspondientes.

En estos programas, la parte del código donde llega el código de comando está entre dos hileras de asteriscos. Reemplazando ese bloque de código es posible utilizar otros métodos de ingreso de datos para comandar la placa de relés.

Puede ser utilizando caracteres llegados desde una placa bluetooth, por I2C o SPI desde otro microcontrolador, un módulo de interfaz RS-485, o diversos sistemas basados en RF o enlaces de luz infrarroja, láser, etc.

En todos los casos, la comunicación de control se basará en caracteres de control ingresados por TX/RX u otro medio similar, incluyendo un ingreso directo implementado con entradas digitales y pulsadores.

El resto del código será siempre el mismo, la función con la estructura Switch…Case.

Las opciones las desarrollamos en la serie de artículos anteriores y los que siguen a este.

Artículos relacionados:

Módulos de relé y Arduino: Domótica (1)
Control con relés por interfaz serie: Domótica (2)
Control de relés con control remoto IR: Domótica (3)
Control de relés por enlace de 2,4 GHz – módulos NRF24L01: Domótica (4)
Descripción y funcionamiento del Bus I2C
¿Qué es la comunicación serie?



Control con relés por interfaz serie: Domótica (2)

En este ejemplo haremos un sistema de encendido lámparas y equipos eléctricos que funcionan con voltaje de red, y los controlaremos con caracteres enviados por línea serie a través del Monitor Serie del IDE de Arduino. Si usted desea leer con más detalle sobre la comunicación serie, le recomendamos el artículo ¿Qué es la comunicación serie? en nuestra página.

Para controlar artefactos con voltaje de red, usaremos las salidas normalmente abiertas de un módulo de relé. Si no conoce los módulos de relé utilizados usualmente en la línea Arduino, recomendamos leer el artículo previo de esta serie Módulos de relé y Arduino: Domótica (1).

Advertencia de seguridad

Antes de continuar con este proyecto, queremos recordarle que está tratando con la tensión de la red. Lea atentamente la siguiente advertencia de seguridad.

Advertencia: cuando realiza proyectos que están conectados a la red eléctrica, realmente debe saber lo que está haciendo, de lo contrario, puede producirse un accidente. Este es un tema serio y queremos que esté seguro. Si no está 100% seguro de lo que va a hacer, por favor no toque nada.
¡Pregúntele a alguien que sepa!

Partes necesarias

■ Módulo de 8 relés (o menos si lo desea, según la necesidad)
■ Arduino UNO
■ Cable USB
■ Cables, portalámparas, lámparas y tomacorrientes
■ Fuente de 5V 2A para alimentación de los relés

Esquemático

El sistema armado como prototipo se ve aproximadamente como en la foto que sigue:

Criterio de control

En este primer experimento hemos elegido como comandos para encender y apagar las salidas un conjunto de letras a enviar por línea serie. Para el relé 1 enviamos la letra “A” para encender, y la letra “a” para apagar. El relé 2 se enciende con la letra “B” y se apaga con la “b”. Y así sucesivamente para los 8 relés. Para apagar todo al mismo tiempo elegimos envíar un “0” (cero).

La lista de comandos es como sigue:

A – Activa el relé 1 / a – Apaga el relé 1
B – Activa el relé 2 / b – Apaga el relé 2
C – Activa el relé 3 / c – Apaga el relé 3
D – Activa el relé 4 / d – Apaga el relé 4
E – Activa el relé 5 / e – Apaga el relé 5
F – Activa el relé 6 / f – Apaga el relé 6
G – Activa el relé 7 / g – Apaga el relé 7
H – Activa el relé 8 / h – Apaga el relé 8
0 – Apaga todos los relés




Programa 1

Copie el siguiente código en su IDE de Arduino y prográmelo en su placa Arduino utilizando la opción «Subir».

Advertencia: no es conveniente cargar código nuevo cuando su Arduino
está conectado al módulo de relés. Siempre quite la alimentación de 5V a este módulo.

Colocamos entre dos hileras de asteriscos la parte del código donde se obtiene la letra de comando desde la línea serie. Reemplazando ese bloquecito de código es posible utilizar diversos métodos de ingreso de datos para comandar la placa de relés.

Por ejemplo utilizando caracteres llegados desde una placa bluetooth, por I2C o SPI desde otro microcontrolador, un módulo de interfaz RS-485, o diversos sistemas basados en RF (Wi-Fi, 2,4 GHz, etc.) o enlaces de luz infrarroja, láser, etc.

En todos los casos, la comunicación de control se basará en caracteres de control ingresados por TX/RX u otro medio similar de comunicación de caracteres, incluyendo una entrada paralela de 8 bits implementada por un puerto o con el uso de un chip auxiliar, y convertidos en una variable char (cuando es necesario).

El resto del código será siempre el mismo, la función con la estructura Switch…Case.

Por supuesto, usted puede iniciar sus pruebas con un circuito más sencillo, como el que sigue:

Todas las diferentes opciones de control las desarrollamos en detalle en la serie de artículos que siguen en la secuencia de publicación.

Programa 2

En esta modificación de programa utilizamos una opción que nos permite usar una única letra de comando para encender y apagar. El «truco» consiste en alternar el estado del relé de encendido a apagado en cada recepción de la letra, utilizando una operación lógica NOT, que se representa con el símbolo !

Criterio de control

En este caso la lista de comandos es como sigue:

a – Activa el relé 1 / a apaga el relé 1 al pulsar de nuevo
b – Activa el relé 2 / b apaga el relé 2 al pulsar de nuevo
c – Activa el relé 3 / c apaga el relé 3 al pulsar de nuevo
d – Activa el relé 4 / d apaga el relé 4 al pulsar de nuevo
e – Activa el relé 5 / e apaga el relé 5 al pulsar de nuevo
f – Activa el relé 6 / f apaga el relé 6 al pulsar de nuevo
g – Activa el relé 7 / g apaga el relé 7 al pulsar de nuevo
h – Activa el relé 8 / h apaga el relé 8 al pulsar de nuevo
0 – Apaga todos los relés

Artículos relacionados:

Módulos de relé y Arduino: Domótica (1)
Control con relés por interfaz serie: Domótica (2)
Control de relés con control remoto IR: Domótica (3)
Control de relés por enlace de 2,4 GHz – módulos NRF24L01: Domótica (4)
Descripción y funcionamiento del Bus I2C
¿Qué es la comunicación serie?



Módulos de relé y Arduino: Domótica (1)

En este artículo ofrecemos información para controlar dispositivos que funcionan con el voltaje de red usando un módulo de relé. Al final de este trabajo usted debería poder controlar cualquier dispositivo eléctrico con un microcontrolador como el Arduino.

Módulo de dos relés

Un relé es un interruptor mecánico operado eléctricamente que se puede encender o apagar, dejando pasar la corriente o no, y se puede controlar con voltajes bajos, como los 5V utilizados en la alimentación de un Arduino.

Nota: «NO» corresponde al inglés Normally Open (normalmente abierto) y «NC» a Normally Closed (normalmente cerrado). Un relé desactivado tiene unidos entre sí los contactos COMÚN y NC, y cuando se lo activa aplicando corriente a su bobina, quedan unidos entre sí los contactos COMÚN y NO.

Controlar un módulo de relé con el Arduino es lo mismo que controlar cualquier otra salida digital. El consumo de corriente de una de sus entradas es el mismo que se necesita para encender un led.

Aquí vemos cómo los relés están marcados en la parte de abajo, del mismo modo que se puede ver el símbolo con la disposición de los contactos del relé en la salida de alto voltaje del módulo:

Diagrama interno de los módulos de relé (se muestra para un solo relé, los circuitos se repiten)

En primer lugar veamos el esquemático que ofrece el fabricante:

El conector amarillo horizontal, el que no tiene un nombre de identificación, es el juego de pines de entrada de alimentación. Por allí ingresan al módulo tres valores:

GND, común o tierra.
VCC o alimentación positiva de 5V para la parte de la lógica de entrada: el resistor R1, la sección de emisión de luz de U1 (pines 1 y 2 del optoacoplador), N1 (led indicador) y IN0 (entrada del control).
■ Y JD-VCC, por donde ingresan 5V para alimentar el circuito de accionamiento del relé, compuesto por el fototransistor de U1 (pines 3 y 4 del optoacoplador), el resistor R2, el transistor Q1 para manejar la corriente de la bobina, D1 (diodo para eliminar la contracorriente del bobinado) y la bobina en sí del relé.

El conector J1 lleva al exterior los contactos del relé:

■ 1 es NO (Normally Open = Normalmente Abierto)
■ 2 es C, el contacto Común
■ 3 es NC (Normally Closed = Normalmente Cerrado).

Como es posible que algún lector no conozca el funcionamiento de un optoacoplador (también llamado optoacople), lo explicamos aquí.

Un optoacoplador es un chip como el de la imagen. Posee una entrada de dos pines (1 y 2 en el diagrama) que conectan a un led (diodo emisor de luz) y una salida de dos pines que conectan a un fototransistor (3 y 4 en el diagrama). El encendido del led pone en conducción al fototransistor, lo que cierra circuito entre su colector (pin 4) y su emisor (pin 3). Lo más importante del funcionamiento es que no hay contacto eléctrico entre entrada y salida. El único contacto es la luz emitida por el led, lo que implica una aislación muy elevada entre entrada y salida (en el orden de los 5000V), protegiendo las entradas (en este caso conectadas a un microcontrolador) ante cualquier riesgo de alto voltaje producido en el área de salida.

Estado desactivado del relé:

Estado activado del relé:

El módulo de relé de la foto del principio de este artículo tiene dos canales (los relé son las piezas azules). Hay otros modelos con uno, cuatro, ocho y hasta dieciséis canales. Este módulo debe ser alimentado con 5V, lo que es apropiado para usar con un Arduino. Hay otros módulos de relé que funcionan con 3,3V, ideal para ESP32, ESP8266 y otros microcontroladores, y también hay modelos de 12V.

Conexiones del módulo de relé

La siguiente figura muestra la función de los contactos del módulo de relé.

Los seis pines en el lado izquierdo del módulo del relé controlan voltaje alto, y los pines en el lado derecho se conectan al componente que entrega bajo voltaje, como los pines digitales de un Arduino u otro microcontrolador.

Conexiones de tensión de red

El lado de alto voltaje tiene dos conectores, cada uno con tres contactos: común (COM), normalmente cerrado (NC: Normally Closed) y normalmente abierto (NO: Normally Open).

COM : pin común

NC (Normalmente cerrado): la salida normalmente cerrada se usa si es necesario que el relé cierre circuito en estado de reposo, sin alimentación incluso, de modo que la corriente fluya por estos contactos hasta que se envíe una señal por las entradas del módulo para abrir ese circuito y detener la corriente.

NO (normalmente abierto): la configuración normalmente abierta funciona a la inversa: este contacto del relé está siempre abierto, y el circuito no conduce corriente a menos que se envíe una señal por su entrada para activar el circuito.

Si solo se desea encender una lámpara ocasionalmente, lo mejor es usar la configuración de circuito normalmente abierto.




Cableado de pines

El lado de baja tensión tiene un conjunto de cuatro pines, y otro conjunto de tres pines.

El conjunto señalado con flechas de color posee las conexiones de VCC y GND para alimentación de la lógica digital del módulo (esencialmente, los leds de los optoacopladores de entrada), y la entrada 1 (IN1) y entrada 2 (IN2) para controlar los relés 1 y 2, respectivamente, aplicando un nivel lógico BAJO.

El otro conjunto de pines (señalado por flechas grises) tiene los pines JD-VCC, VCC y GND. El pin JD-VCC es la alimentación para los electroimanes de los relés, y se lo alimenta generalmente con una fuente de 5V separada. Para hacerlo se retira el puente (celeste en la imagen) que une la alimentación de los leds de los optoacopladores con la alimentación de las bobinas de los relés. Usando dos fuentes independientes se obtiene la máxima separación eléctrica entre las entradas de control y la línea controlada de 220V, u otro voltaje superior a 5V, en las salidas.

NOTA: observe que el módulo tiene un puente que conecta los pines VCC y JD-VCC; el que se muestra aquí es azul, pero el de su módulo puede ser de un color diferente. El puente permite elegir si el circuito está físicamente conectado a los 5V del Arduino o no, y se puede optar por tenerlo colocado o no. Con el puente puesto, los pines VCC y JD-VCC están unidos. Eso significa que el electroimán del relé se alimenta directamente del pin de alimentación del Arduino, de modo que el módulo de relé y los circuitos de Arduino no están físicamente aislados entre sí. Sin el puente, se debe proporcionar una fuente de alimentación independiente para activar el electroimán del relé a través del pin JD-VCC. Esa configuración aísla físicamente los relés del Arduino, gracias al optoacoplador incorporado en el módulo.

Las conexiones entre el módulo de relé y el Arduino son realmente simples:

GND : va a común o “tierra” (lado negativo de la alimentación)
IN1 : controla el primer relé (se conectará a un pin digital Arduino)
IN2 : controla el segundo relé (debe estar conectado a un pin digital Arduino si se está utilizando este segundo relé. De lo contrario, no necesita conectarlo)
VCC : va a 5V

Luego de esta introducción para familiarizarnos con los módulos, veremos algunos detalles mecánicos y electrónicos, y luego un ejemplo sencillo para controlar el relé con un programa en el Arduino.

Un relé por dentro:


Conclusión

Controlar un módulo de relé con el Arduino es tan simple como controlar una salida digital: solo se deben enviar señales ALTAS o BAJAS utilizando un pin digital de Arduino, u otro microcontrolador o circuito digital. Con el módulo de relé se pueden controlar casi todos los dispositivos caseros de corriente alterna (no solo lámparas). Si usted va a manejar motores, es conveniente utilizar un componente de potencia de mayor capacidad, por ejemplo un relé de estado sólido.

Esta recomendación se debe a que los contactos de un relé que maneja excesiva corriente con voltajes altos producen chispas al abrirse y al cerrarse, y el efecto es mucho más si la carga que manejan es inductiva (bobinados). Luego de un tiempo, los contactos metálicos pueden quedar pegados entre sí, o dejar de conducir corriente por la carbonización del metal.

En la foto que sigue se muestran a la izquierda contactos de relé en perfectas condiciones, y a la derecha cómo quedan cuando son afectados por las chispas debidas a sobrecargas de corriente.

Prueba 1:

Para visualizar de manera rápida y simple la activación de un relé con una lámpara conectada, usted puede correr el programa básico Blink que se ofrece en la lista de ejemplos del IDE de Arduino, conectando la entrada (IN1, por ejemplo) al pin digital 13, y alimentando el módulo con 5V y GND desde las salidas del Arduino. Esto solo es conveniente como experimento, una prueba simple, pero recuerde que hay que limitarse a trabajar con un solo un relé conectado y activado a la vez. El relé cerrará cada vez que el led se apague, una vez por segundo.

Diagrama para la prueba:

En el artículo que sigue, Activar relés usando línea serie: Domótica (2), mostraremos una de las maneras de comandar estos módulos para su uso en control de luces y artefactos eléctricos.

Artículos relacionados:

Módulos de relé y Arduino: Domótica (1)
Control con relés por interfaz serie: Domótica (2)
Control de relés con control remoto IR: Domótica (3)
Control de relés por enlace de 2,4 GHz – módulos NRF24L01: Domótica (4)
Descripción y funcionamiento del Bus I2C
¿Qué es la comunicación serie?



Programar ESP8266 desde el IDE Arduino y con sus librerías

¿Qué es un ESP8266?

El ESP8266 es un chip con capacidad Wi-Fi con un stack TCP/IP completo y un microcontrolador, fabricado por Espressif, una empresa China. El primer chip se hizo conocido el mercado con el módulo ESP-01, desarrollado por la empresa AI-Thinker. Este pequeño módulo permite a otros microcontroladores conectarse a una red inalámbrica Wi-Fi y realizar conexiones simples con TCP/IP usando comandos al estilo Hayes (comandos AT).


Características

•   CPU RISC de 32-bit: Tensilica Xtensa LX106 con un reloj de 80 MHz. El reloj de la CPU y la memoria flash puede duplicarse por overclocking en algunos dispositivos. La CPU puede funcionar a 160 MHz y la memoria flash puede trabajar entre 40 MHz y 80 MHz. Varía según la versión del chip.
•   RAM de programa de 64 KB, RAM de datos de 96 KB
•   Capacidad de memoria externa flash QSPI de 512 KB a 4 MB (puede manejar hasta 16 MB)
•   IEEE 802.11 b/g/n Wi-Fi
     o Tiene integrados: TR switch, balun, LNA, amplificador de potencia de RF y una red de adaptación de impedancias
     o Soporte de autenticación WEP y WPA/WPA2
•   16 pines GPIO (Entradas/Salidas de propósito general)
•   Interfaces SPI, I²C,
•   Interfaz I²S con DMA (comparte pines con GPIO)
•   Pines dedicados a UART, más una UART únicamente para transmisión que puede habilitarse a través del pin GPIO2
•   1 conversor ADC de 10-bit

Diversos modelos de módulos que utilizan el ESP8266

El ESP8266 se puede programar desde el IDE de Arduino. Para eso hay que instalar lo que se llama un plugin, en el que está incluido todo lo necesario para compilar y subir programas que fueron escritos tal como si fuesen .INO de Arduino.

En principio, y es importante, mantenga siempre actualizada la Interfaz de Usuario o IDE (Integrated Development Environment – Entorno de Desarrollo Integrado) del Arduino descargándola de la página oficial en www.arduino.cc.

Debemos incorporar bibliotecas y los programas de manejo de las placas con el chip ESP8266 a nuestro IDE. Para hacerlo, debemos indicarle la URL desde donde se obtienen.

Para hacerlo, debemos abrir el menú Archivo, y luego Preferencias.

Veremos este panel, en la parte inferior el recuadro de texto rotulado Gestor de URLs Adicionales de Tarjetas. Dentro de él, usando copiar y pegar, se debe introducir el texto indicado aquí:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

(copie y pegue en el recuadro):

Luego pulse en el botón Ok.

Ahora debemos ir al menú Herramientas, luego Placa.

Y finalmente Gestor de Tarjetas, se abrirá una ventana como la que sigue, en la cual escribimos, en el recuadro superior de filtro/busqueda, “ESP8266” (antes de terminar de escribir ya aparecerá el Gestor de Tarjetas que buscamos, que indica que fue creado por “ESP8266 Community”. Allí pulsamos sobre Instalar:

Al abrir nuevamente Herramientas, y luego Placa, deslizamos la lista para ver lo que aparece al final de ella (abajo), y vemos que ya existen las opciones referidas a los ESP8266:

Artículos relacionados:

ESP8266 (WiFi): Hacer que parpadee un LED desde el IDE de Arduino
Servidor web básico NodeMCU con IDE de Arduino