ESP32 - Capteur de mouvement - Relais

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

Nous pouvons étendre ce tutoriel pour utiliser le capteur de mouvement afin de contrôler une bande LED, une sirène, une ampoule ou un actionneur... en les connectant au relais.

À propos du relais et du capteur de mouvement

Nous avons des tutoriels spécifiques sur le relais et le capteur 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 du câblage à l'ESP32, le code ESP32... Apprenez-en plus sur eux aux liens suivants :

Diagramme de câblage

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

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, consultez les instructions dans le tutoriel suivant : Comment alimenter l'ESP32..

Configuration initiale

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.
Configuration initiale 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-relay */ #define MOTION_SENSOR_PIN 22 // ESP32 pin GPIO22 connected to the OUTPUT pin of motion sensor #define RELAY_PIN 26 // ESP32 pin GPIO26 connected to Relay'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(RELAY_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 relay ON"); digitalWrite(RELAY_PIN, HIGH); // turn on } else if (motionStatePrevious == HIGH && motionStateCurrent == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!, turns relay OFF"); digitalWrite(RELAY_PIN, LOW); // turn off } }

Étapes rapides

  • Si c'est la première fois que vous utilisez ESP32, consultez Installation du logiciel ESP32..
  • Faites 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, Module de développement ESP32) 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 dans l'IDE Arduino
  • Déplacez votre main devant le capteur
  • Observez le changement d'état du relais

Explication du code ligne par ligne

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

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !