Tutorial de interruptor de láminas (o lengüeta) para Arduino (Reed Switch), ESP8266 y ESP32

En este tutorial aprenderemos todo sobre los interruptores de láminas, que son interruptores eléctricos accionados magnéticamente que conmutan en función de un campo magnético.

En este artículo utilizamos los módulos de interruptor de láminas KY-025 y KY-021 con diferentes placas Arduino, ESP8266 y ESP32 para encender un LED basado en un imán.

Te muestro cómo conectar ambos interruptores de láminas con los diferentes microcontroladores y cómo programar el script para leer los valores del sensor analógico y digital.

¿Cómo funciona un interruptor de lengüeta?

Un interruptor de láminas es un interruptor eléctrico que abre y cierra sus contactos basándose en un campo magnético. Si hay un campo magnético presente y lo suficientemente fuerte, la conexión dentro del interruptor de lengüeta se cierra. De lo contrario, el interruptor permanece abierto. La fuente de este campo magnético puede ser un imán o una fuerte corriente eléctrica.

La siguiente imagen muestra los contactos de un interruptor de láminas para comprender su funcionalidad en detalle.

Cañas de interruptor de láminas

La imagen muestra que el interruptor de lengüeta consta de dos contactos de metal magnetizables, llamados lengüetas. Estos contactos son relativamente delgados y anchos para que sean flexibles. Entre los dos contactos hay un pequeño espacio cuando el interruptor de lengüeta normalmente está abierto sin un campo magnético.

Un campo magnético de un electroimán o imán permanente hace que las lengüetas se atraigan entre sí y cierren el circuito. En el próximo capítulo, aprenderá que la dirección de este campo magnético influye en el interruptor de lengüeta.

Cuando se elimina el campo magnético, los contactos vuelven a su posición inicial y, por lo tanto, abren los contactos del interruptor.

Una aplicación muy común de los interruptores de lengüeta es detectar si una puerta o ventana está abierta o cerrada. Por lo tanto, tiene un lado del sensor con el interruptor de lengüeta y el otro lado con el imán.

Impacto de la dirección del campo magnético en el sensor de láminas

Debido a que el campo magnético está dirigido y, por lo tanto, tiene una dirección, la posición y el ángulo entre el interruptor de lengüeta y el imán externo son importantes. Hay dos escenarios opuestos que también son visibles en las siguientes dos imágenes. En el lado izquierdo, el imán está paralelo al interruptor de lengüeta y en la imagen de la derecha, el imán es perpendicular al interruptor magnético.

Tutorial de interruptor de láminas (o lengüeta) para Arduino (Reed Switch), ESP8266 y ESP32

El imán está paralelo al interruptor de láminas.

Esta es la configuración perfecta entre el interruptor de láminas y el imán porque el campo magnético acumulado es parabólico. También puede encontrar esta configuración en interruptores de láminas para puertas o ventanas.

El imán es perpendicular al interruptor de láminas

En esta configuración, el campo magnético tiene una zona muerta en el medio del interruptor de láminas. Por lo tanto, no utilice el imán y el interruptor de lengüeta en una configuración perpendicular.

El siguiente video muestra la influencia de la dirección del campo magnético en el interruptor de lengüeta.

https://youtu.be/-Lvcno2nI1A

Interruptor de lengüeta vs sensor de pasillo magnético

El interruptor de lengüeta no es el único dispositivo eléctrico que se puede utilizar como interruptor magnético. También está el sensor magnético de efecto Hall. En algunos casos de uso, no hay diferencia si está utilizando un interruptor de lengüeta o un sensor magnético de efecto Hall. Pero una gran diferencia es cómo debe ser la dirección del campo magnético para usar el interruptor magnético.

En la siguiente tabla encontrará la comparación entre los dos interruptores magnéticos con las ventajas y desventajas, así como la orientación del sensor magnético.

Sensor de efecto Hall magnético (KY-024, KY-003) Interruptor de lengüeta (KY-025, KY-021)

 Sensor Hall magnético (KY-024, KY-003)Interruptor de láminas (KY-025, KY-021)
Función del interruptor• Transductor que varía la tensión de salida en función de los presentes de un campo magnético.• Par de contactos de metal ferroso. Si los contratos están abiertos, no hay contacto eléctrico. Los contactos se cierran con un imán cerca del interruptor y se abren retirando el imán.
Orientación del imán – sensor• El imán tiene que estar perpendicular al sensor Hall magnético• El imán tiene que estar paralelo al interruptor de láminas
Ventajas• No hay partes móviles involucradas
• Sin efecto de rebote
• Más barato que el sensor Hall magnético
Desventajas• Más caro que el interruptor de láminas• Tiene piezas móviles que no son capaces de funcionar a frecuencias superiores a 10 kHz
• El interruptor tiene efecto de rebote como todos los interruptores

Si está interesado en los sensores de efecto Hall (magnéticos), también he escrito un tutorial completo para eso.

Comparación entre el módulo de interruptor de láminas KY-025 y KY-021

Hay dos módulos de interruptores Reed en el mercado. El KY-025 y el KY-021. La siguiente tabla compara la ficha técnica entre estos dos módulos Reed.

 KY-025KY-021
Tensión de funcionamiento3,3V…5,5V3,3V…5,0V
Dimensiones de la placa1,5 cm x 3,6 cm

0,6 in x 1,4 in
1,5 cm x 1,9 cm

0,6 pulgadas x 0,75 pulgadas
SalidasAnalógicas + DigitalesDigitales
Resistencia incorporadaPotenciómetro de 100kΩ10kΩ

En las siguientes secciones, queremos medir el campo magnético con ambos, el KY-025 y el KY-021. Por lo tanto, estamos viendo el cableado entre el interruptor de láminas y el microcontrolador. Una vez que se completa el cableado, creamos un boceto para medir el campo magnético. Dado que el KY-021 solo tiene una salida digital, no podemos medir la fuerza del campo magnético, solo si se excede un umbral preestablecido en la resistencia de 10 kΩ.

Con el KY-025 ganamos mucha más flexibilidad, ya que podemos medir la fuerza del campo magnético con la salida analógica y podemos establecer el umbral con el potenciómetro por nosotros mismos.

Asignación de pines del módulo de interruptores Reed KY-025 y KY-021

La siguiente imagen muestra la distribución de pines del módulo de interruptores Reed KY-025 y KY-021. También verá los componentes electrónicos en los módulos de PCB. En el próximo capítulo nos centraremos en el esquema con los componentes electrónicos, pero en este capítulo solo discutiremos los diferentes pines.

Configuración de pines de los interruptores de lengüeta KY-025 y KY-021

La comparación entre los módulos KY-025 y KY-021 mostró que la salida entre los dos módulos de conmutación Reed es diferente. En la imagen de arriba, podemos ver que esta diferencia conduce a un pinout diferente. El KY-025 tiene, además de las dos clavijas de alimentación, una clavija para salida digital y una clavija para salida analógica.

El KY-021, por otro lado, solo tiene pines para alimentación y un pin de salida para salida digital.

Esquema y funcionalidad del interruptor de láminas KY-025

Después de la comparación entre el módulo KY-025 y KY-21, quiero profundizar en el diagrama del módulo KY-25 y sus características. Esta parte es opcional y solo para usted, si desea profundizar sus conocimientos sobre el módulo KY-025.

Esquema del interruptor de láminas KY-025

La siguiente imagen muestra el esquema del módulo de interruptores Reed KY-025 con todos sus componentes eléctricos. Explicaré cada parte del circuito en detalle para que entiendas la funcionalidad.

Esquema del interruptor de láminas KY-025

En el extremo izquierdo, verá el LED L1 y la resistencia R1 (1kΩ) que cierran parte del circuito del voltaje de suministro a tierra. El LED L1 indica que el módulo de conmutación Reed está activo y la resistencia R1 evita que el LED tenga voltajes demasiado altos.

La siguiente parte del circuito es el potenciómetro (100kΩ) en serie a la resistencia R4 (150Ω) y el interruptor de láminas en sí. Esta conexión en serie actúa como divisor de tensión porque entre el potenciómetro y R4 hay una conexión a la tensión de referencia del doble comparador LM393 (2). El potencial de este divisor de voltaje también es la salida analógica del módulo KY-025.

El segundo divisor de voltaje está construido con una resistencia R5 (70 kΩ) y una resistencia R3 (100 kΩ). El divisor de voltaje es el voltaje de entrada de los dos comparadores (3) (5).

La salida del primer comparador (1) está conectada a la salida digital del módulo de conmutación Reed y a la resistencia R2 (10kΩ) que desconecta la salida digital de la tensión de funcionamiento. De lo contrario, la salida digital sería igual a la voltaje de funcionamiento independientemente del estado del sensor de llama. El voltaje de referencia del segundo comparador (6) es también la salida del primer comparador (1).

La salida del segundo comparador LM393 (4) cierra el circuito del segundo LED2 y la resistencia R6 (1kΩ).

Funcionalidad del interruptor de láminas KY-025

Si hay un voltaje de operación entre 3.3V y 5.5V, conectado al módulo de interruptor Reed KY-025, el LED1 se enciende y el divisor de voltaje entre R5 y R3 crea un voltaje estable de V = VCC * R3 / (R3 + R5) = VCC * 100/170 = 0,6 * VCC.
Este voltaje es el voltaje de entrada del primer (3) y segundo (5) comparador.

Ahora debemos considerar los dos casos principales de operación:

  1. No hay campo magnético presente y el interruptor de lengüeta está abierto
    Si el interruptor está abierto, la salida analógica es casi igual al voltaje de suministro, lo que da como resultado un valor analógico de 1023. Debido a que el voltaje de referencia VCC del primer comparador (2) es mayor que el voltaje de entrada (3) 0.6 * VCC, la salida del comparador (1) es igual a 0V. El segundo comparador conmuta esta entrada, porque ahora el voltaje de referencia (6) es 0 V y el voltaje de entrada (5) también es 0.6 * VCC. Por lo tanto, la salida del segundo comparador (4) es VCC. Como no hay diferencia de potencial entre el LED L2 y la resistencia R6, el LED L2 está apagado.
  2. Hay un campo magnético que cierra los contactos del interruptor de láminas.
    Si los contactos del sensor de láminas están cerrados, la salida analógica y, por lo tanto, el voltaje de referencia del LM-393 (2) se dibuja en GND. Debido a que el voltaje de entrada del comparador (3) es mayor que el voltaje de referencia, la salida (1) es VCC. Ahora la salida digital del módulo conmutador Reed KY-025 es ALTA y el segundo comparador conmuta la señal digital nuevamente, de modo que la salida del segundo comparador (4) es 0V. Ahora hay una diferencia de potencial entre LED2 y las resistencias R6 y LED2 se encienden.

Debido a que el interruptor de láminas no es un interruptor ideal, tiene el potenciómetro para ajustar el divisor de voltaje a una relación que coincida con su proyecto o caso de uso. El siguiente video muestra cómo cambio la resistencia del potenciómetro para el divisor de voltaje mientras el imán permanece en la misma posición. Dependiendo de la resistencia de corriente del potenciómetro, el valor digital del Módulo de Interruptor de Lengüeta KY-025 cambia entre ALTO y BAJO.

Esquema y funcionalidad del interruptor de láminas KY-021

Después de aprender cómo funciona el KY-025, también nos sumergiremos en el esquema y la funcionalidad del módulo de interruptor de lengüeta KY-021. Nuevamente, esta sección es un conocimiento especial del módulo KY-021 y, por lo tanto, es opcional para todo el tutorial.

Esquema del interruptor de láminas KY-021

El esquema del módulo de interruptor de láminas KY-021 es muy simple y se muestra en la siguiente imagen.

Esquema del interruptor de láminas KY-021

La salida digital del interruptor Reed KY-021 tiene solo una salida digital etiquetada como «S» en el módulo y es la salida del divisor de voltaje construido por una resistencia R1 (10kΩ) y el interruptor Reed.

Funcionalidad del interruptor de láminas KY-021

Si ha leído el capítulo sobre el esquema y la funcionalidad del interruptor de láminas KY-025, ya conoce la funcionalidad del módulo de interruptor de láminas KY-21.

Tenemos que considerar los dos casos principales:

  • No hay campo magnético presente y el interruptor de lengüeta está abierto
    Si el interruptor está abierto, la salida digital es igual al voltaje de suministro que da como resultado una señal ALTA en el microcontrolador Arduino, ESP8266 o ESP32.
  • Hay un campo magnético que cierra los contactos del interruptor de láminas.
    Si los contactos del interruptor de láminas están cerrados, la salida digital se coloca en GND, lo que genera una señal digital BAJA en el microcontrolador.

La siguiente tabla le brinda una descripción general de todos los componentes y partes que utilicé para este tutorial. Recibo comisiones por compras realizadas a través de los enlaces de esta tabla.

Arduino NanoAmazonAliExpress
Arduino Pro MiniAmazonAliExpress
Arduino UnoAmazonAliExpress
Arduino MegaAmazonAliExpress
ESP32 ESP-WROOM-32AmazonAliExpress
ESP8266 NodeMCUAmazonAliExpress
ESP8266 WeMos D1 MiniAmazonAliExpress
Interruptor Reed (KY-025) y Mini Reed (KY-021) en kit de sensorAmazonAliexpress

Leer valores analógicos y digitales del interruptor de láminas KY-025

En el siguiente ejemplo, queremos leer el valor analógico y digital del interruptor de láminas KY-025.

Con la conexión analógica, podemos obtener el estado del interruptor magnético, pero no podemos medir la fuerza del campo magnético exactamente porque el interruptor es muy rápido. Queremos mostrar los ciclos de conmutación a la salida serial del Arduino IDE para ver que los valores analógicos no tienen información sobre la fuerza del campo magnético y por lo tanto no brindan más información que el valor digital.

El KY-025 tiene un potenciómetro incorporado para establecer el umbral para cambiar el valor digital entre 0 y 1 dependiendo del valor analógico. El valor numérico es

  • 0 para el umbral no se supera (el LED integrado está apagado), porque el interruptor de láminas está abierto
  • 1 para el umbral se supera (el LED integrado está encendido), porque el sensor Reed está cerrado

Configurar el umbral es muy difícil porque la frecuencia de muestreo de la comunicación en serie no es muy alta. Por lo tanto, podemos usar un osciloscopio con una frecuencia de muestreo alta conectado al pin analógico para ver el voltaje actual del pin analógico que cambia cuando se cambia el potenciómetro.

Para estimular el interruptor de lengüeta, utilizo un imán de 2 lados (norte y sur).

Cableado entre el interruptor de láminas KY-025 y el microcontrolador

Las siguientes imágenes muestran el cableado entre el interruptor de lengüeta KY-025 y varias placas de microcontroladores Arduino, ESP8266 o ESP32. Para la alimentación, puede usar la salida de 5V como lo hice para las placas Arduino o usar los pines de salida de 3.3V, porque el EPS8266 y el ESP32 solo tienen un voltaje de operación de 3, 3V.

Arduino Nano

KY-025 Arduino Nano

Para obtener más información sobre Arduino Nano, visite el tutorial de Arduino Nano.

Arduino Pro Mini

KY-025 Arduino Pro Mini

Arduino Uno

KY-025 Arduino Uno

Para obtener más información sobre Arduino Uno, visite el tutorial de Arduino Uno.

Arduino Mega

KY-025 Arduino Mega

Para obtener más información sobre Arduino Mega, visite el tutorial de Arduino Mega.

ESP32 NodeMCU

KY-025 ESP32 NodeMCU

ESP8266 NodeMCU

KY-025 ESP8266 NodeMCU

ESP8266 WeMos D1 Mini

KY-025 ESP8266 WeMos D1 Mini

Código para leer los valores analógicos y digitales del módulo KY-025

Después de cablear el KY-025 y el microcontrolador, podemos crear el script Arduino que muestra el valor analógico y digital del interruptor de láminas. Repasamos el código del programa paso a paso y explico lo que hacemos.

// for Arduino microcontroller
int analogPin = A0; 
int digitalPin = 8;

// for ESP8266 microcontroller
//int analogPin = A0; 
//int digitalPin = D8;

// for ESP32 microcontroller
//int analogPin = 4; 
//int digitalPin = 2;

void setup() {
  pinMode(analogPin, INPUT); 
  pinMode(digitalPin, INPUT); 
  Serial.begin(9600);
}

void loop() {
  int analogVal = analogRead(analogPin);
  int digitalVal = digitalRead(digitalPin);
  
  Serial.print(analogVal);
  Serial.print(" - ");
  Serial.println(digitalVal);
  
  delay(100);
}

Al comienzo del script, necesitamos definir los pines que conectan el microcontrolador al módulo KY-025. Debido a que este script se puede usar para microcontroladores Arduino, ESP8266 y ESP32, si todas las conexiones están definidas pero comentadas líneas para ESP8266 y ESP32. Por lo tanto, si desea utilizar el script para una placa de microcontrolador ESP, debe comentar las líneas de Arduino y descomentar las líneas ESP deseadas.

En la función de configuración definimos el modo de cabezal de los dos pines de conexión como entradas, porque queremos leer los datos del sensor del interruptor de láminas. También configuramos la velocidad en baudios de la conexión en serie a la PC en 9600 para mostrar los valores de los sensores en el IDE de Arduino. La velocidad en baudios debe coincidir con la velocidad en baudios del monitor en serie en el IDE de Arduino.

En la función de bucle, leemos el valor analógico del pin analógico configurado previamente y guardamos el valor del sensor analógico como una variable entera. Hacemos lo mismo para el valor numérico pero leemos el valor numérico del pin digital.

Ahora imprimimos ambos valores en el monitor en serie e incluimos un breve retraso de 0,1 segundos antes de leer los siguientes valores del sensor en la siguiente iteración de la función de bucle.

Lectura de resultados de los valores de los módulos analógicos y digitales KY-025

Los siguientes videos e imágenes muestran los resultados de este ejemplo, midiendo los valores analógicos y digitales del interruptor de lengüeta KY-025.

El siguiente video muestra la influencia de un campo magnético en la medición analógica y digital del Módulo de Interruptor de Lengüeta KY-025. Ves cómo muevo el imán hacia adelante y hacia atrás para influir en el interruptor de lengüeta. Si el campo magnético es lo suficientemente fuerte como para cerrar los contactos del interruptor de lengüeta, el LED2 se iluminará, lo que indica que la salida digital del módulo KY-025 está cambiando de BAJA a ALTA.

https://youtu.be/PIb_HSIdn1g

En el lado izquierdo, el video muestra el valor analógico en el trazador serial del Arduino IDE y en el lado derecho se ve una captura de pantalla del monitor serial donde los valores digitales cambian de analógico a LED2.

Arduino digital KY-025

Leer los valores numéricos del interruptor de láminas KY-021

Después del KY-025, también queremos probar la lengüeta del interruptor KY-021 que solo tiene una salida digital y no tiene LED incorporado. Para ello utilizo un LED externo con una resistencia de 220 ohmios en serie para visualizar que se supera el umbral. El LED está conectado a un pin digital y a tierra. Por lo tanto, podemos usar este pin digital para encender y apagar el LED.

Cableado entre el interruptor de láminas KY-021 y el microcontrolador

Las siguientes imágenes muestran el cableado entre el KY-021 y las placas del microcontrolador Arduino, ESP8266 o ESP32. Para la alimentación, puede usar la salida de 5V como lo hice para las placas Arduino o usar los pines de salida de 3.3V, porque el EPS8266 y el ESP32 solo tienen un voltaje de operación de 3, 3V.

Arduino Nano

KY-021 Arduino Nano

Para obtener más información sobre Arduino Nano, visite el tutorial de Arduino Nano.

Arduino Pro Mini

KY-021 Arduino Pro Mini

Arduino Uno

KY-021 Arduino Uno

Para obtener más información sobre Arduino Uno, visite el tutorial de Arduino Uno.

Arduino Mega

KY-021 Arduino Mega

Para obtener más información sobre Arduino Mega, visite el tutorial de Arduino Mega.

ESP32 NodeMCU

KY-021 ESP32 NodeMCU

ESP8266 NodeMCU

KY-021 ESP8266 NodeMCU

ESP8266 WeMos D1 Mini

KY-021 ESP8266 WeMos D1 Mini

Código para leer los valores digitales del módulo KY-021

La mayor parte del código de programa que usamos para el interruptor de lengüeta KY-021 es el mismo que para el KY-025. Solo tenemos que quitar las partes para la conexión analógica y agregar el código que indica que el LED externo está encendido y apagado dependiendo de la fuerza del campo magnético.

La siguiente sección muestra el código Arduino para el KY-021 que puede usar con los microcontroladores Arduino, ESP8266 o ESP32.

// for Arduino microcontroller
int ledPin = 7; 
int digitalPin = 8;

// for ESP8266 microcontroller
//int ledPin = D7; 
//int digitalPin = D8;

// for ESP32 microcontroller
//int ledPin = 0; 
//int digitalPin = 2;

void setup() {
  pinMode(ledPin, OUTPUT); 
  pinMode(digitalPin, INPUT); 
  Serial.begin(9600);
}

void loop() {
  int digitalVal = digitalRead(digitalPin);
  
  if (digitalVal == LOW) {
    digitalWrite (led, HIGH);
  }
  else {
    digitalWrite (led, LOW);
  }
  
  delay(100);
}

En esta primera parte del programa, reemplazamos el pin analógico con el pin donde está conectado el LED. Nuevamente, debe comentar y descomentar la primera parte del script para que coincida con su microcontrolador.

En la función de configuración, también reemplazamos el pin analógico con el pin LED, pero como queremos controlar el LED con el microcontrolador y, por lo tanto, cambiar el estado del pin de E / S digital, el pin LED debe establecerse como salida y no como agarrar. El resto de la función de configuración es la misma que para el KY-025.

En la función de bucle, primero leemos el valor digital con la función de lectura digital en el pin digital previamente configurado. Para controlar el LED, usamos una función if de la siguiente manera:

  • Si el valor numérico es 0 (= BAJO), el sensor de lengüeta se abre debido al campo magnético. Por lo tanto, encendemos el LED
  • De lo contrario, apagamos el LED

Al final del script, esperamos 0.1 segundos y comenzamos a leer el valor numérico nuevamente en la siguiente iteración de la función de bucle.

Resultados de la lectura de los valores digitales del módulo KY-021

El siguiente video muestra cómo se enciende el LED cuando me acerco al interruptor de lengüeta KY-021 y se apaga cuando muevo el imán hacia atrás.

Esto indica que el valor numérico cambia de BAJO a ALTO.

https://youtu.be/28TdUP0XAV8

Conclusión

En este tutorial, hemos aprendido cómo se usa un interruptor magnético para construir un sistema de seguridad para puertas o ventanas, por ejemplo. Además, hemos utilizado dos interruptores de lengüeta diferentes y hemos mostrado en diferentes ejemplos la diferencia entre el modo de trabajo analógico y digital.
Si tiene más preguntas sobre los interruptores de lengüeta, utilice la sección de comentarios a continuación.

Además, si está interesado en los conmutadores activos, también escribí un tutorial para este tipo de conmutadores en el que también profundizo en el problema del rebote del conmutador y cómo reducir el rebote. Aquí está el enlace al artículo.


Deja un comentario