ESP32 - Relé de conmutación por sensor táctil

Este tutorial le explica cómo usar el ESP32 para alternar el estado de un relé entre encendido y apagado cuando se toca un sensor táctil. Más específicamente:

Podemos ampliar este tutorial para usar el sensor táctil y alternar el estado de un solenoide, un ventilador, una bombilla o un actuador... conectándolos al relé.

Acerca del relé y del sensor táctil

Tenemos tutoriales específicos sobre relé y sensor táctil. Cada tutorial contiene información detallada e instrucciones paso a paso sobre la disposición de pines de hardware, el principio de funcionamiento, la conexión de cableado al ESP32 y el código para ESP32. Obtenga más información sobre ellos en los siguientes enlaces:

Diagrama de Cableado

Diagrama de cableado del relé con sensor táctil ESP32

This image is created using Fritzing. Click to enlarge image

Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.

Código ESP32 - Sensor táctil que conmuta un relé

/* * Este código de ESP32 fue desarrollado por es.newbiely.com * Este código de ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp32/esp32-touch-sensor-toggle-relay */ #define TOUCH_SENSOR_PIN 22 // ESP32 pin GPIO22 connected to touch sensor's pin #define RELAY_PIN 27 // ESP32 pin GPIO27 connected to relay's pin // variables will change: int relayState = LOW; // the current state of relay int lastTouchState; // the previous state of touch sensor int currentTouchState; // the current state of touch sensor void setup() { Serial.begin(9600); // initialize serial pinMode(TOUCH_SENSOR_PIN, INPUT); // set ESP32 pin to input mode pinMode(RELAY_PIN, OUTPUT); // set ESP32 pin to output mode currentTouchState = digitalRead(TOUCH_SENSOR_PIN); } void loop() { lastTouchState = currentTouchState; // save the last state currentTouchState = digitalRead(TOUCH_SENSOR_PIN); // read new state if (lastTouchState == LOW && currentTouchState == HIGH) { Serial.println("The sensor is touched"); // toggle state of relay relayState = !relayState; // control relay arccoding to the toggled state digitalWrite(RELAY_PIN, relayState); } }

Pasos R\u00e1pidos

  • Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
  • Realiza el cableado tal como se muestra en la imagen anterior.
  • Conecta la placa ESP32 a tu PC mediante un cable micro USB.
  • Abre Arduino IDE en tu PC.
  • Selecciona la placa ESP32 adecuada (p. ej., ESP32 Dev Module) y el puerto COM.
  • Copia el código anterior y pégalo en Arduino IDE.
  • Compila y sube el código a la placa ESP32 haciendo clic en el botón Subir en Arduino IDE.
  • Mantén presionado el sensor táctil durante varios segundos y luego suéltalo.
  • Observa el cambio en el estado del relé.

Explicación del código línea por línea

El código ESP32 anterior contiene una explicación línea por línea. Por favor, lea los comentarios en el código.

En el código, relayState = !relayState es equivalente al siguiente código:

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

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!