ESP32 - Regensensor - Servo Motor

We gaan leren hoe u de ESP32 programmeert om de servo motor aan te sturen wanneer er regen wordt gedetecteerd. In detail:

Hardware Benodigd

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×Regensensor
1×Servomotor
1×Jumperdraden
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 Regensensor

Nog niet bekend met servo motor en regensensor, inclusief hun pinouts, functionaliteit en programmering? Verken uitgebreide tutorials over deze onderwerpen hieronder:

Bedradingsschema

ESP32 Regensensor Servo Motor Bedradingsschema

This image is created using Fritzing. Click to enlarge image

ESP32 Code - Regensensor 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-rain-sensor-servo-motor */ #include <ESP32Servo.h> #define RAIN_SENSOR_PIN 25 // The ESP32 pin GPIO25 connected to the sound sensor #define SERVO_PIN 26 // The ESP32 pin GPIO26 connected to the relay Servo servo; // create servo object to control a servo // variables will change: int angle = 0; // the current angle of servo motor int prev_rain_state; // the previous state of rain sensor int rain_state; // the current state of rain sensor void setup() { Serial.begin(9600); // initialize serial pinMode(RAIN_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); rain_state = digitalRead(RAIN_SENSOR_PIN); } void loop() { prev_rain_state = rain_state; // save the last state rain_state = digitalRead(RAIN_SENSOR_PIN); // read new state if (rain_state == LOW && prev_rain_state == HIGH) { // pin state change: LOW -> HIGH Serial.println("Rain detected!"); servo.write(90); } else if (rain_state == HIGH && prev_rain_state == LOW) { // pin state change: HIGH -> LOW Serial.println("Rain stopped!"); servo.write(0); } }

Snelle Stappen

  • Als u de ESP32 voor het eerst gebruikt, bekijk dan hoe u de omgeving instelt voor ESP32 in Arduino IDE.
  • Maak de bedrading volgens bovenstaande afbeelding.
  • Verbind de ESP32 met uw pc via een micro USB-kabel.
  • Open Arduino IDE op uw pc.
  • Selecteer het juiste ESP32 board (bijvoorbeeld ESP32 Dev Module) en de juiste COM-poort.
  • Klik op het Libraries-icoon in de linkerzijbalk van de Arduino IDE.
  • Typ ESP32Servo in het zoekvak en zoek de servo library van Kevin Harrington en John K. Bennett.
  • Klik op Installeren om de servo motor library voor ESP32 te installeren.
ESP32 servo motor bibliotheek
  • Kopieer de bovenstaande code en open deze in Arduino IDE.
  • Klik op de Upload-knop in Arduino IDE om de code naar de ESP32 te uploaden.
  • Beweeg uw hand voor de sensor.
  • Kijk naar de beweging van de servo motor.

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!