.. note::
¡Hola! Bienvenido a la Comunidad de Entusiastas de SunFounder para Raspberry Pi, Arduino y ESP32 en Facebook. Sumérgete en el fascinante mundo de Raspberry Pi, Arduino y ESP32 junto a otros entusiastas.
**¿Por qué unirte?**
- **Soporte Experto**: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
- **Aprende y Comparte**: Intercambia consejos y tutoriales para mejorar tus habilidades.
- **Avances Exclusivos**: Obtén acceso anticipado a nuevos anuncios de productos y adelantos exclusivos.
- **Descuentos Especiales**: Disfruta de descuentos exclusivos en nuestros productos más recientes.
- **Promociones Festivas y Sorteos**: Participa en sorteos y promociones especiales de temporada.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [|link_sf_facebook|] y únete hoy mismo.
1.3.3 Relay
===============
Introducción
---------------
En este proyecto, aprenderemos a utilizar un relé, uno de los componentes
más comunes en sistemas de control automático. Cuando el voltaje, la corriente,
la temperatura, la presión, etc., alcanzan, exceden o están por debajo de un
valor preestablecido, el relé conecta o interrumpe el circuito para controlar
y proteger el equipo.
Componentes
---------------
.. image:: ../img/list_1.3.4.png
Diagrama del Circuito
-------------------------
.. image:: ../img/image345.png
Procedimiento Experimental
------------------------------
**Paso 1:** Construye el circuito.
.. image:: ../img/image144.png
**Paso 2:** Dirígete a la carpeta del código.
.. raw:: html
.. code-block::
cd ~/davinci-kit-for-raspberry-pi/nodejs/
**Paso 3:** Ejecuta el código.
.. raw:: html
.. code-block::
sudo node relay.js
Mientras el código se ejecuta, el LED se enciende. Además, puedes escuchar un
"clic" causado por la apertura del contacto normalmente cerrado y el cierre del
contacto normalmente abierto.
**Código**
.. code-block:: js
const Gpio = require('pigpio').Gpio;
const relay = new Gpio(17,{mode: Gpio.OUTPUT});
setInterval(() => {
relay.digitalWrite(!relay.digitalRead());
}, 500);
process.on('SIGINT',function(){
relay.digitalWrite(0);
process.exit();
});
**Explicación del Código**
.. code-block:: js
const Gpio = require('pigpio').Gpio;
const relay = new Gpio(17,{mode: Gpio.OUTPUT});
Importa el módulo ``pigpio`` e instancia un objeto relay de Gpio para controlar el puerto IO Gpio17, configurado en modo de salida.
.. code-block:: js
setInterval(() => {
relay.digitalWrite(!relay.digitalRead());
}, 500);
El relé se abre y se cierra continuamente, y los LEDs también se encenderán y apagarán a intervalos de 500 ms.
.. code-block:: js
process.on('SIGINT',function(){
relay.digitalWrite(0);
process.exit();
});
Cuando se detecta ctrl+c, el relé se abre.
Imagen del Fenómeno
-----------------------
.. image:: ../img/image145.jpeg