ESP32 - Capteur de mouvement - LED

Ce tutoriel vous explique comment utiliser l'ESP32 avec le capteur de mouvement HC-SR501 et une LED. En détail, l'ESP32 allume automatiquement la LED si un mouvement est détecté, et éteint la LED dans le cas contraire.

Préparation du matériel

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×HC-SR501 Motion Sensor
1×LED
1×220 ohm resistor
1×Breadboard
1×Jumper Wires
1×(Optional) DC Power Jack
1×(Recommended) ESP32 Screw Terminal Adapter

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos des LED et des capteurs de mouvement

Nous avons des tutoriels spécifiques sur les LED et les capteurs de mouvement. Chaque tutoriel contient des informations détaillées et des instructions étape par étape sur le brochage du matériel, le principe de fonctionnement, la connexion de câblage à l'ESP32, le code ESP32... Pour en savoir plus sur ces tutoriels, consultez les liens suivants :

Diagramme de câblage

Le schéma de câblage avec alimentation par câble USB

Schéma de câblage du capteur de mouvement LED ESP32

This image is created using Fritzing. Click to enlarge image

Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.

Le schéma de câblage avec alimentation depuis un adaptateur 5v

Schéma de câblage d'un capteur de mouvement ESP32 LED avec adaptateur d'alimentation 5V

This image is created using Fritzing. Click to enlarge image

Paramètre initial

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.
Paramètres initiaux du capteur de mouvement ESP32

Code ESP32

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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 } }

Étapes rapides

  • Si c'est la première fois que vous utilisez un ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
  • Effectuez le câblage comme sur l'image ci-dessus.
  • Connectez la carte ESP32 à votre PC via un câble micro USB.
  • Ouvrez Arduino IDE sur votre PC.
  • Sélectionnez la bonne carte ESP32 (par exemple, ESP32 Dev Module) et le port COM.
  • Copiez le code ci-dessus et collez-le dans Arduino IDE.
  • Compilez et téléchargez le code sur la carte ESP32 en cliquant sur le bouton Upload dans Arduino IDE.
Téléversement de code Arduino IDE
  • Déplacez votre main devant le capteur
  • Observez le changement d'état de la LED

Explication du code ligne par ligne

Le code ESP32 ci-dessus contient des explications ligne par ligne. Veuillez lire les commentaires dans le code !

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!