ESP32 - Ultrasone Sensor - Servo Motor

Deze tutorial laat u zien hoe u de ESP32 gebruikt in combinatie met een potentiometer om een servo motor aan te sturen. In detail:

Hardware Benodigd

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×Ultrasone Sensor
1×Servomotor
1×Breadboard (experimenteerprint)
1×Jumperdraden
1×(Optioneel) DC Voedingsconnector
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 Ultrasone Sensor

Wij hebben specifieke tutorials over servo motor en ultrasone sensor. Elke tutorial bevat gedetailleerde informatie en stap-voor-stap instructies over hardware pinout, werkingsprincipe, bedrade verbinding met ESP32, ESP32 code... Leer meer over deze onderwerpen via de volgende links:

Bedradingsschema

ESP32 Ultrasone Sensor Servo Motor Bedradingsschema

This image is created using Fritzing. Click to enlarge image

ESP32 Code - Ultrasone Sensor 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-ultrasonic-sensor-servo-motor */ #include <ESP32Servo.h> #define TRIG_PIN 23 // ESP32 pin GPIO23 connected to Ultrasonic Sensor's TRIG pin #define ECHO_PIN 22 // ESP32 pin GPIO22 connected to Ultrasonic Sensor's ECHO pin #define SERVO_PIN 26 // ESP32 pin GPIO26 connected to Servo Motor's pin #define DISTANCE_THRESHOLD 50 // centimeters Servo servo; // create servo object to control a servo // variables will change: float duration_us, distance_cm; void setup() { Serial.begin (9600); // initialize serial port pinMode(TRIG_PIN, OUTPUT); // set ESP32 pin to output mode pinMode(ECHO_PIN, INPUT); // set ESP32 pin to input mode servo.attach(SERVO_PIN); // attaches the servo on pin 9 to the servo object servo.write(0); } void loop() { // generate 10-microsecond pulse to TRIG pin digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // measure duration of pulse from ECHO pin duration_us = pulseIn(ECHO_PIN, HIGH); // calculate the distance distance_cm = 0.017 * duration_us; if (distance_cm < DISTANCE_THRESHOLD) servo.write(90); // rotate servo motor to 90 degree else servo.write(0); // rotate servo motor to 0 degree // print the value to Serial Monitor Serial.print("distance: "); Serial.print(distance_cm); Serial.println(" cm"); delay(500); }

Snelle Stappen

  • Als dit de eerste keer is dat u met ESP32 werkt, bekijk dan hoe u de omgeving instelt voor ESP32 in Arduino IDE.
  • Voer de bedrading uit volgens de afbeelding hierboven.
  • Verbind de ESP32 board met uw PC via een micro USB-kabel.
  • Open Arduino IDE op uw PC.
  • Selecteer het juiste ESP32 board (bijv. ESP32 Dev Module) en de juiste COM-poort.
  • Klik op het Libraries-icoon in de linkerzijbalk van Arduino IDE.
  • Typ ESP32Servo in het zoekvak en zoek de servo bibliotheek 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 de ESP32 board door op de Upload-knop in Arduino IDE te klikken.
  • Beweeg uw hand voor de sensor.
  • Kijk hoe de servo motor verandert van positie.

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!