ESP32 - Capteur de mouvement - Bande LED

Dans ce guide, nous allons plonger dans la création d'un système d'automatisation d'éclairage sans couture en utilisant un ESP32, un capteur de mouvement HC-SR501 et une bande LED. Ce système est conçu de manière experte pour activer la bande LED lors de la détection de présence humaine, ce qui le rend polyvalent et bien adapté à une variété d'applications, y compris :

Préparation du matériel

1×Module de développement ESP32 ESP-WROOM-32
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×Capteur de mouvement HC-SR501
1×DotStar RGB Bande LED
1×Adaptateur secteur 5V
1×Connecteur d'alimentation DC
1×Fils de connexion
1×Recommandé: Carte d'extension à bornier à vis pour ESP32
1×Recommandé: Breakout Expansion Board for ESP32
1×Recommandé: Répartiteur d'alimentation pour ESP32

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables ESP32 (ESP32 inclus)
1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
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 bandes LED et du capteur de mouvement

Peu familier avec les bandes LED et les capteurs de mouvement, y compris leurs brochages, fonctionnalités et programmation ? Explorez des tutoriels complets sur ces sujets ci-dessous :

Vous avez la possibilité d’utiliser soit des bandes LED NeoPixel, WS2812B ou DotStar. Pour simplifier le câblage, ce tutoriel utilise spécifiquement la bande LED DotStar. Adapter le code pour d'autres types de bandes LED est simple, il suffit de consulter les tutoriels ci-dessus pour obtenir des directives.

Diagramme de câblage

Schéma de câblage de bande LED avec 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

Time Delay AdjusterScrew it in anti-clockwise direction fully.
Detection Range AdjusterScrew it in clockwise direction fully.
Repeat Trigger SelectorPut jumper as shown on the image.
réglage initial du capteur de mouvement esp32

Code ESP32 - Un capteur de mouvement contrôle une bande LED

/* * 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-strip */ #include <Adafruit_DotStar.h> #define NUMPIXELS 144 // Number of LEDs in DotStar strip #define DOTSTAR_DATA_PIN 16 // The ESP32 pin GPIO16 connected to the data pin of DotStar #define DOTSTAR_CLOCK_PIN 17 // The ESP32 pin GPIO17 connected to the clock pin of DotStar #define MOTION_SENSOR_PIN 25 // The ESP32 pin GPIO25 connected to the OUTPUT pin of motion sensor int motion_state = LOW; // current state of motion sensor's pin int prev_motion_state = LOW; // previous state of motion sensor's pin Adafruit_DotStar strip(NUMPIXELS, DOTSTAR_DATA_PIN, DOTSTAR_CLOCK_PIN, DOTSTAR_BRG); void setup() { Serial.begin(9600); strip.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) strip.show(); // Turn OFF all pixels ASAP strip.setBrightness(255); pinMode(MOTION_SENSOR_PIN, INPUT); // set ESP32 pin to input mode } void loop() { prev_motion_state = motion_state; // store old state motion_state = digitalRead(MOTION_SENSOR_PIN); // read new state if (prev_motion_state == LOW && motion_state == HIGH) { // pin state change: LOW -> HIGH Serial.println("Motion detected!"); // turn on the led strip for (int pixel = 0; pixel < NUMPIXELS; pixel++) { // red color int r = 255; // CHANGE COLOR AS YOUR DESIRE int g = 0; // CHANGE COLOR AS YOUR DESIRE int b = 0; // CHANGE COLOR AS YOUR DESIRE strip.setPixelColor(pixel, g, r, b); // set color for each pixel } strip.show(); } else if (prev_motion_state == HIGH && motion_state == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!"); strip.clear(); // turn off all pixel on LED strip strip.show(); } }

Étapes rapides

  • Si c'est la première fois que vous utilisez l'ESP32, consultez Installation du logiciel ESP32..
  • Réalisez 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.
  • Connectez l'ESP32 au PC via un câble USB.
  • Ouvrez Arduino IDE, sélectionnez la bonne carte et le port.
  • Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
  • Recherchez "Adafruit DotStar", puis trouvez la bibliothèque DotStar par Adafruit.
  • Cliquez sur le bouton Install pour installer la bibliothèque DotStar.
Bibliothèque DotStar ESP32
  • Vous serez invité à installer la dépendance. Cliquez sur le bouton Install All.
Bibliothèque DotStar ESP32
  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code vers l'ESP32
  • Déplacez votre main devant le capteur
  • Vérifiez la bande LED

Vous pouvez modifier le code pour ajouter un effet de lumière.

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 !