ESP32 - sensor de movimiento - LED

Este tutorial le muestra cómo usar el ESP32 con el sensor de movimiento HC-SR501 y un LED. En detalle, el ESP32 enciende automáticamente el LED si se detecta movimiento y apaga el LED si no es así.

Acerca de LED y sensor de movimiento

Tenemos tutoriales específicos sobre LED y sensor de movimiento. Cada tutorial contiene información detallada y instrucciones paso a paso sobre el pinout del hardware, el principio de funcionamiento, la conexión de cableado al ESP32 y el código para ESP32... Obtén más información sobre ellos en los siguientes enlaces:

Diagrama de Cableado

El diagrama de cableado con fuente de alimentación desde un cable USB

Diagrama de cableado del LED del sensor de movimiento 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.

El diagrama de cableado con fuente de alimentación proveniente de un adaptador de 5 V.

Diagrama de cableado de LED para ESP32 sensor de movimiento y adaptador de alimentación de 5 V

This image is created using Fritzing. Click to enlarge image

Configuración inicial

Detection Range Adjuster Fully screw it in the clockwise direction.
Time Delay Adjuster Fully screw it in the anti-clockwise direction.
Repeat Trigger Selector Put jumper like the below image.
Configuración inicial del sensor de movimiento ESP32

Código ESP32

/* * 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-motion-sensor-led */ #define MOTION_SENSOR_PIN 32 // ESP32 pin GPIO32 connected to the OUTPUT pin of motion sensor #define LED_PIN 17 // ESP32 pin GPIO17 connected to LED's pin int motionStateCurrent = LOW; // current state of motion sensor's pin int motionStatePrevious = LOW; // previous state of motion sensor's pin void setup() { Serial.begin(9600); // initialize serial pinMode(MOTION_SENSOR_PIN, INPUT); // set ESP32 pin to input mode pinMode(LED_PIN, OUTPUT); // set ESP32 pin to output mode } void loop() { motionStatePrevious = motionStateCurrent; // store old state motionStateCurrent = digitalRead(MOTION_SENSOR_PIN); // read new state if (motionStatePrevious == LOW && motionStateCurrent == HIGH) { // pin state change: LOW -> HIGH Serial.println("Motion detected!, turns LED ON"); digitalWrite(LED_PIN, HIGH); // turn on } else if (motionStatePrevious == HIGH && motionStateCurrent == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!, turns LED OFF"); digitalWrite(LED_PIN, LOW); // turn off } }

Pasos R\u00e1pidos

  • Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en el IDE de Arduino.
  • Realiza el cableado como se muestra en la imagen anterior.
  • Conecta la placa ESP32 a tu PC mediante un cable micro USB
  • Abre el IDE de Arduino en tu PC.
  • Selecciona la placa ESP32 correcta (p. ej. ESP32 Dev Module) y el puerto COM.
  • Copia el código anterior y pégalo en el IDE de Arduino.
  • Compila y sube el código a la placa ESP32 haciendo clic en el botón Subir en el IDE de Arduino
Subir código al IDE de Arduino
  • Mueve tu mano frente al sensor
  • Observa el cambio en el estado del LED

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.

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!