ESP8266 - Sensor táctil - Relé

Este tutorial te enseña cómo usar el ESP8266 y un sensor táctil para controlar el relé. Conectando el relé a una cerradura de solenoide, una bombilla, una tira de LEDs, un motor o un actuador, podemos usar un sensor táctil para controlarlos. Aprenderemos dos aplicaciones diferentes:

Aplicación 1 - El estado del relé está sincronizado con el estado del sensor táctil. En detalle:

Aplicación 2 - El estado del relé se alterna cada vez que se toca el sensor táctil. Más específicamente:

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×Sensor Táctil
1×Relé
1×Protoboard
1×Cables Puente
1×(Opcional) Cerradura de Solenoide
1×(Opcional) Adaptador de Corriente 12V
1×(Opcional) Conector de Alimentación DC
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 de relé y sensor táctil

Si no estás familiarizado con el relé y el sensor táctil (incluyendo el esquema de pines, el funcionamiento y la programación), los siguientes tutoriales pueden ayudar:

Diagrama de Cableado

Diagrama de cableado del relé para sensor táctil 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.

Aplicación 1 - El estado del relé está sincronizado con el estado del sensor táctil

Código ESP8266

/* * 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-touch-sensor-relay */ #define TOUCH_SENSOR_PIN D5 // The ESP8266 pin D5 connected to touch sensor's pin #define RELAY_PIN D7 // The ESP8266 pin D7 connected to relay's pin void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(TOUCH_SENSOR_PIN, INPUT); // Configure the ESP8266 pin to the input mode pinMode(RELAY_PIN, OUTPUT); // Configure the ESP8266 pin to the output mode } void loop() { int touch_state = digitalRead(TOUCH_SENSOR_PIN); // read new state if (touch_state == HIGH) { Serial.println("The sensor is being touched"); digitalWrite(RELAY_PIN, HIGH); // turn on } else if (touch_state == LOW) { Serial.println("The sensor is untouched"); digitalWrite(RELAY_PIN, LOW); // turn off } }

Pasos R\u00e1pidos

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

  • Consulta el tutorial cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
  • Conecta los componentes tal como se muestran en el diagrama.
  • Conecta la placa ESP8266 a tu computadora con un cable USB.
  • Abre Arduino IDE en tu computadora.
  • Elige la placa ESP8266 correcta, como (p. ej. NodeMCU 1.0 (ESP-12E Module)), y su puerto COM correspondiente.
  • Conecta un ESP8266 a tu computadora con un cable USB.
  • Inicia el Arduino IDE y selecciona la placa y el puerto correctos.
  • Copia el código y ábrelo en el Arduino IDE.
  • Haz clic en el botón Subir en el IDE de Arduino para compilar y cargar el código al ESP8266.
Subir código al IDE de Arduino
  • Toca el sensor táctil y manténlo presionado durante unos segundos.
  • Observa el cambio en el estado del relé.

Verás que el estado del relé está sincronizado con el estado del sensor táctil.

Explicación del código

¡Echa un vistazo a la explicación línea por línea contenida en los comentarios del código fuente!

Aplicación 2 - Sensor táctil conmuta el relé

Código ESP8266 - Sensor táctil conmuta el relé

/* * 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-touch-sensor-relay */ #define TOUCH_SENSOR_PIN D5 // The ESP8266 pin D5 connected to touch sensor's pin #define RELAY_PIN D7 // The ESP8266 pin D7 connected to relay's pin int relay_state = LOW; // The current state of relay int prev_touch_state; // The previous state of touch sensor int touch_state; // The current state of touch sensor void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(TOUCH_SENSOR_PIN, INPUT); // Configure the ESP8266 pin to the input mode pinMode(RELAY_PIN, OUTPUT); // Configure the ESP8266 pin to the output mode touch_state = digitalRead(TOUCH_SENSOR_PIN); } void loop() { prev_touch_state = touch_state; // save the last state touch_state = digitalRead(TOUCH_SENSOR_PIN); // read new state if (prev_touch_state == LOW && touch_state == HIGH) { Serial.println("The sensor is touched"); // toggle state of relay relay_state = !relay_state; // control relay according to the toggled state digitalWrite(RELAY_PIN, relay_state); } }

Explicación del código

Puede encontrar la explicación en las líneas de comentario del código ESP8266 anterior.

En el código, la expresión relay_state = !relay_state es equivalente al siguiente código:

if(relay_state == LOW) relay_state = HIGH; else relay_state = LOW;

Pasos R\u00e1pidos

  • Copia el código y ábrelo en el IDE de Arduino.
  • Sube el código al ESP8266.
  • Tócalo y suéltalo varias veces.
  • Comprueba el cambio en el estado del relé.

Notarás que el relé se encenderá o apagará una vez cada vez que toques el sensor táctil.

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!