ESP32 - Bewegingssensor - Servo Motor

Deze tutorial legt uit hoe u de ESP32 gebruikt met de HC-SR501 bewegingssensor en een Servo Motor. In detail:

Hardware Benodigd

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×HC-SR501 Bewegingssensor
1×Servomotor
1×Breadboard (experimenteerprint)
1×Jumper wires (verbindingskabels)
1×(optioneel) DC Power Jack
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 Servo Motor en Bewegingssensor

We hebben specifieke tutorials over de servo motor en bewegingssensor. Elke tutorial bevat gedetailleerde informatie en stapsgewijze instructies over hardware pinout, werkingsprincipe, aansluitingen op ESP32, ESP32 code... Leer meer over deze onderwerpen via de volgende links:

Aansluitschema

ESP32 Bewegingssensor Servo Motor Aansluitschema

This image is created using Fritzing. Click to enlarge image

Begininstelling

Detectiebereik Versteller Draai deze volledig met de klok mee dicht.
Tijdsvertraging Versteller Draai deze volledig tegen de klok in dicht.
Herhaalde Trigger Keuze Plaats de jumper zoals op de onderstaande afbeelding.
ESP32 bewegingssensor begininstelling

ESP32 Code - Bewegingssensor bestuurt Servo Motor

/* * 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-servo-motor */ #include <ESP32Servo.h> #define MOTION_SENSOR_PIN 22 // ESP32 pin GPIO22 connected to motion sensor's pin #define SERVO_PIN 26 // ESP32 pin GPIO26 connected to servo motor's pin Servo servo; // create servo object to control a servo // variables will change: int angle = 0; // the current angle of servo motor int lastMotionState; // the previous state of motion sensor int currentMotionState; // the current state of motion sensor void setup() { Serial.begin(9600); // initialize serial pinMode(MOTION_SENSOR_PIN, INPUT); // set ESP32 pin to input mode servo.attach(SERVO_PIN); // attaches the servo on pin 9 to the servo object servo.write(angle); currentMotionState = digitalRead(MOTION_SENSOR_PIN); } void loop() { lastMotionState = currentMotionState; // save the last state currentMotionState = digitalRead(MOTION_SENSOR_PIN); // read new state if (currentMotionState == LOW && lastMotionState == HIGH) { // pin state change: LOW -> HIGH Serial.println("Motion detected!, rotating servo motor to 90°"); servo.write(90); } else if (currentMotionState == HIGH && lastMotionState == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!, rotating servo motor to 0°"); servo.write(0); } }

Snelle Stappen

  • Als u ESP32 voor het eerst gebruikt, zie hoe u de omgeving instelt voor ESP32 in Arduino IDE.
  • Maak de bedrading zoals afgebeeld hierboven.
  • Verbind de ESP32 met uw pc via een micro USB-kabel.
  • Open Arduino IDE op uw computer.
  • Selecteer het juiste ESP32 board (bijvoorbeeld ESP32 Dev Module) en de juiste COM-poort.
  • Klik op het Libraries icoon in de linkerbalk van Arduino IDE.
  • Typ ESP32Servo in het zoekveld en zoek naar de servo library van Kevin Harrington, John K. Bennett.
  • Klik op de Installeren knop om de servo motor bibliotheek voor ESP32 te installeren.
ESP32 servo motor bibliotheek
  • Kopieer de bovenstaande code en plak deze in Arduino IDE.
  • Compileer en upload de code naar het ESP32 board door op de Upload knop te klikken in Arduino IDE.
  • Beweeg uw hand voor de sensor.
  • Zie de servo motor reageren.

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.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzicht om snel aan de slag te gaan.

※ 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!