.. note::
¡Hola! Bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi & Arduino & ESP32 en Facebook. Profundiza en Raspberry Pi, Arduino y ESP32 con otros entusiastas.
**¿Por qué unirse?**
- **Soporte Experto**: Resuelve problemas post-venta y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
- **Aprende y Comparte**: Intercambia consejos y tutoriales para mejorar tus habilidades.
- **Preestrenos Exclusivos**: Obtén acceso temprano a anuncios de nuevos productos y avances.
- **Descuentos Especiales**: Disfruta de descuentos exclusivos en nuestros productos más recientes.
- **Promociones Festivas y Sorteos**: Participa en sorteos y promociones de temporada.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [|link_sf_facebook|] y únete hoy.
.. _2.1.2_js:
2.1.2 Micro Interruptor
==========================
Introducción
-----------------------
En este proyecto, aprenderemos a usar un Micro Interruptor. Un Micro Interruptor es un interruptor pequeño y muy sensible que requiere una mínima compresión para activarse. Debido a que son confiables y sensibles, los micro interruptores se utilizan a menudo como dispositivo de seguridad.
Se utilizan para evitar que las puertas se cierren si algo o alguien está en el camino y en otras aplicaciones similares.
Componentes Necesarios
--------------------------------
En este proyecto, necesitamos los siguientes componentes.
.. image:: ../img/2.1.2component.png
Es definitivamente conveniente comprar un kit completo, aquí está el enlace:
.. list-table::
:widths: 20 20 20
:header-rows: 1
* - Nombre
- ARTÍCULOS EN ESTE KIT
- ENLACE
* - Kit Raphael
- 337
- |link_Raphael_kit|
También puedes comprarlos por separado en los enlaces a continuación.
.. list-table::
:widths: 30 20
:header-rows: 1
* - INTRODUCCIÓN DE COMPONENTES
- ENLACE DE COMPRA
* - :ref:`cpn_gpio_board`
- |link_gpio_board_buy|
* - :ref:`cpn_breadboard`
- |link_breadboard_buy|
* - :ref:`cpn_wires`
- |link_wires_buy|
* - :ref:`cpn_resistor`
- |link_resistor_buy|
* - :ref:`cpn_led`
- |link_led_buy|
* - :ref:`cpn_micro_switch`
- \-
* - :ref:`cpn_capacitor`
- |link_capacitor_buy|
Diagrama Esquemático
-------------------------------
Conecta el pin izquierdo del Micro Interruptor a GPIO17 y dos LEDs a los pines GPIO22 y
GPIO27 respectivamente. Luego, cuando presiones y sueltes el brazo móvil del Micro Interruptor,
verás que los dos LEDs se encienden alternativamente.
.. image:: ../img/image305.png
.. image:: ../img/micro_Schematic.png
Procedimientos Experimentales
--------------------------------
**Paso 1:** Construir el circuito.
.. image:: ../img/2.1.4fritzing.png
**Paso 2**: Ir a la carpeta del código.
.. raw:: html
.. code-block::
cd ~/raphael-kit/nodejs/
**Paso 3**: Ejecutar el código.
.. raw:: html
.. code-block::
sudo node micro_switch.js
Mientras el código se está ejecutando, presiona el Micro Interruptor,
entonces el LED amarillo se enciende;
suelta el brazo móvil y el LED rojo se enciende.
**Código**
.. code-block:: js
const Gpio = require('pigpio').Gpio;
const led1 = new Gpio(22, {mode: Gpio.OUTPUT});
const led2 = new Gpio(27, {mode: Gpio.OUTPUT});
const microSwitch = new Gpio(17, {
mode: Gpio.INPUT,
pullUpDown: Gpio.PUD_DOWN,
edge: Gpio.EITHER_EDGE
});
microSwitch.on('interrupt', (level) => {
led1.digitalWrite(level);
led2.digitalWrite(!level);
});
**Explicación del Código**
.. code-block:: js
const Gpio = require('pigpio').Gpio;
const led1 = new Gpio(22, {mode: Gpio.OUTPUT});
const led2 = new Gpio(27, {mode: Gpio.OUTPUT});
const microSwitch = new Gpio(17, {
mode: Gpio.INPUT,
pullUpDown: Gpio.PUD_DOWN,
edge: Gpio.EITHER_EDGE
});
Importa el módulo ``pigpio`` y crea tres objetos led1, led2, microSwitch,
Leyendo el nivel del puerto IO micro, se controla el encendido y apagado de led1 y led2.
.. code-block:: js
microSwitch.on('interrupt', (level) => {
led1.digitalWrite(level);
led2.digitalWrite(!level);
});
Cuando cambia el nivel del puerto IO del microSwitch,
Escribe el mismo nivel en led1 y el nivel opuesto en led2.
Imagen del Fenómeno
-----------------------------
.. image:: ../img/2.1.2micro_switch.JPG