ESP8266 - Interruptor de fin de carrera

Este tutorial te enseña cómo usar ESP8266 con el interruptor de fin de carrera. En detalle, aprenderemos:

ESP8266 NodeMCU con interruptor de fin de carrera

Hardware Requerido

1×ESP8266 NodeMCU
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×Interruptor de Límite (KW12-3)
1×Interruptor de Límite (V-153-1C25)
1×Interruptor de Límite (V-155-1C25)
1×Interruptor de Límite (V-156-1C25)
1×Wires
1×(Opcional) Kit de Tubos Termorretráctiles
1×(Opcional) Soldador
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP8266
1×(Recomendado) Divisor de Alimentación para ESP8266 Tipo-C

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del interruptor de fin de recorrido

Se le conoce como interruptor de fin de carrera porque su propósito principal es detectar cuándo un objeto en movimiento ha alcanzado un límite.

Diagrama de pines del interruptor de fin de carrera

Existen varios tipos de interruptores de fin de carrera, aunque los más utilizados son los KW12-3 y V-156-1C25. Cada uno de estos tipos presenta tres pines:

  • C: Este es el pin común y se usa tanto en los modos normalmente abiertos como en los modos normalmente cerrados.
  • NO: Este es el pin normalmente abierto y se usa solo en el modo normalmente abierto.
  • NC: Este es el pin normalmente cerrado y se usa solo en el modo normalmente cerrado.
Disposición de pines del interruptor de final de carrera
image source: diyables.io

Cómo funciona

Aunque el interruptor de fin de carrera tiene tres pines, una aplicación típica suele utilizar solo dos pines: el pin C (común) y uno de los otros dos. En consecuencia, hay cuatro formas diferentes de usar el interruptor de fin de carrera. A continuación se presenta una tabla de cableado para el interruptor de fin de carrera y el estado de lectura en ESP8266 para los cuatro métodos:

C pin NO pin NC pin ESP8266 Input Pin's State
1 GND ESP8266 Input Pin (with pull-up) not connected HIGH when untouched, LOW when touched
2 GND not connected ESP8266 Input Pin (with pull-up) LOW when untouched, HIGH when touched
3 VCC ESP8266 Input Pin (with pull-down) not connected LOW when untouched, HIGH when touched
4 VCC not connected ESP8266 Input Pin (with pull-down) HIGH when untouched, LOW when touched

Para cada método, podemos intercambiar el pin GND y el pin de entrada del ESP8266. En consecuencia, hay ocho formas posibles de conectar un ESP8266 a un interruptor de límite.

Debemos seleccionar una de las cuatro opciones presentadas. El resto del tutorial utilizará el primer método.

Diagrama de Cableado

Diagrama de cableado del interruptor de límite ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.

Para una conexión de cableado segura y fiable, recomendamos usar un Soldering Iron para soldar los cables y pines del interruptor de límite. Después de eso, cubra la conexión con Heat Shrink Tube para mayor seguridad.

ESP8266 Código - Interruptor de fin de carrera

Al igual que un botón, el anti-rebote también es necesario para un interruptor de fin de carrera (para obtener más información, vea Por qué se necesita el anti-rebote para el botón/interruptor de fin de carrera?). Esto puede complicar la programación. Afortunadamente, la librería ezButton admite la función de anti-rebote y tiene un registro pull-up interno, lo que facilita programar el botón.

※ Nota:

Existen dos aplicaciones comunes con interruptor de fin de carrera:

  • La primera: si el interruptor está en el estado TOCADO, se debe realizar una acción determinada. Por el contrario, si la entrada está NO TOCADA, se debe realizar una acción diferente.
  • La segunda: si el interruptor cambia de NO TOCADO a TOCADO (o viceversa), se debe ejecutar una acción específica.
/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-limit-switch */ #include <ezButton.h> ezButton limitSwitch(D7); // create ezButton object that attach to ESP8266 pin D7 void setup() { Serial.begin(9600); limitSwitch.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { limitSwitch.loop(); // MUST call the loop() function first if(limitSwitch.isPressed()) Serial.println("The limit switch: UNTOUCHED -> TOUCHED"); if(limitSwitch.isReleased()) Serial.println("The limit switch: TOUCHED -> UNTOUCHED"); int state = limitSwitch.getState(); if(state == HIGH) Serial.println("The limit switch: UNTOUCHED"); else Serial.println("The limit switch: TOUCHED"); }

Pasos R\u00e1pidos

Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:

  • Consulta el cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
  • Conecta los componentes como se muestra en el diagrama.
  • Conecta la placa ESP8266 a tu ordenador usando un cable USB.
  • Abre Arduino IDE en tu ordenador.
  • Elige la placa ESP8266 correcta, como (p. ej. NodeMCU 1.0 (ESP-12E Module)), y su puerto COM respectivo.
  • Realiza el cableado como se indica en el diagrama.
  • Conecta el ESP8266 a un ordenador usando un cable USB.
  • Abre el Arduino IDE.
  • Instala la biblioteca ezButton; las instrucciones se pueden encontrar aquí.
  • Selecciona la placa y el puerto correctos.
  • Haz clic en el botón Subir en el Arduino IDE para compilar y subir el código al ESP8266.
  • Pulsa y suelta el interruptor de límite.
  • Consulta el resultado en el Monitor Serial.
COM6
Send
The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED -> TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED -> UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!