ESP32 - Bewegingssensor - LED-strip

In deze handleiding gaan we aan de slag met het maken van een naadloos verlichtingsautomatiseringssysteem met een ESP32, een HC-SR501 bewegingssensor, en een LED-strip. Dit systeem is deskundig ontworpen om de LED-strip te activeren bij detectie van menselijke aanwezigheid, waardoor het veelzijdig en geschikt is voor verschillende toepassingen, waaronder:

Hardware Benodigd

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×HC-SR501 Bewegingssensor
1×DotStar RGB LED-strip
1×5V Voedingsadapter
1×DC-stekker
1×Jumperdraden (male-male)
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor ESP32
1×(Aanbevolen) Breakout Expansion Board for ESP32
1×(Aanbevolen) Stromsplitter voor ESP32

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over LED-strip en Bewegingssensor

Bent u onbekend met de LED-strip en bewegingssensor, inclusief hun pinout, functionaliteit en programmering? Verken onderstaande uitgebreide tutorials over deze onderwerpen:

U kunt kiezen voor NeoPixel, WS2812B, of DotStar LED-strips. Voor eenvoud in bedrading gebruikt deze tutorial specifiek de DotStar LED-strip. Het aanpassen van de code voor andere typen LED-strips is eenvoudig; raadpleeg hiervoor de bovenstaande tutorials.

Bedradingsschema

ESP32 Bewegingssensor LED-strip Bedradingsschema

This image is created using Fritzing. Click to enlarge image

Initiële Instelling

Time Delay Adjuster Draai deze volledig tegen de klok in.
Detection Range Adjuster Draai deze volledig met de klok mee.
Repeat Trigger Selector Plaats de jumper zoals afgebeeld op de foto.
esp32 bewegingssensor initiële instelling

ESP32 Code - Bewegingssensor bestuurt LED-strip

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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(); } }

Snelle Stappen

  • Als u voor het eerst ESP32 gebruikt, bekijk dan hoe u de omgeving instelt voor ESP32 in Arduino IDE.
  • Maak de bedrading zoals op bovenstaande afbeelding.
  • Verbind de ESP32 met uw PC via een micro USB-kabel.
  • Open Arduino IDE op uw PC.
  • Selecteer de juiste ESP32 board (bijv. ESP32 Dev Module) en COM-poort.
  • Verbind ESP32 met PC via USB-kabel.
  • Open Arduino IDE, selecteer het juiste board en poort.
  • Klik op het Libraries-icoon in de linkerzijbalk van Arduino IDE.
  • Zoek naar “Adafruit DotStar” en vind de DotStar bibliotheek van Adafruit.
  • Klik op de knop Install om de DotStar bibliotheek te installeren.
ESP32 DotStar bibliotheek
  • U wordt gevraagd om een afhankelijkheid te installeren. Klik op de knop Install All.
ESP32 DotStar afhankelijkheid
  • Kopieer de bovenstaande code en open deze in Arduino IDE.
  • Klik op de knop Upload in Arduino IDE om de code naar de ESP32 te uploaden.
  • Beweeg uw hand voor de sensor.
  • Bekijk de LED-strip.

U kunt de code aanpassen om een verlichteffect toe te voegen.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!