ESP32 - Regen-Sensor - Servomotor

Wir werden lernen, wie man den ESP32 programmiert, um den Servomotor zu steuern, wenn Regen erkannt wird. Im Detail:

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Regensensor
1×Servo-Motor
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über Servomotor und Regensensor

Haben Sie keine Erfahrung mit Servomotoren und Regensensoren, einschließlich ihrer Pinbelegungen, Funktionsweise und Programmierung? Erkunden Sie unten umfassende Tutorials zu diesen Themen:

Verdrahtungsdiagramm

ESP32-Regen-Sensor-Servomotor-Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

ESP32-Code – Regensensor steuert Servomotor

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/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); } }

Schnelle Schritte

  • Wenn dies das erste Mal ist, dass Sie ESP32 verwenden, sehen Sie wie man die Umgebung für ESP32 in der Arduino-IDE einrichtet.
  • Schließen Sie die Verkabelung wie im obigen Bild an.
  • Schließen Sie das ESP32-Board über ein Micro-USB-Kabel an Ihren PC an.
  • Öffnen Sie die Arduino-IDE auf Ihrem PC.
  • Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
  • Klicken Sie auf das Libraries-Symbol in der linken Leiste der Arduino-IDE.
  • Geben Sie ESP32Servo in das Suchfeld ein, suchen Sie dann nach der Servo-Bibliothek von Kevin Harrington,John K. Bennett.
  • Klicken Sie auf die Install-Schaltfläche, um die Servo-Bibliothek für ESP32 zu installieren.
ESP32-Servomotor-Bibliothek
  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
  • Klicken Sie in der Arduino IDE auf die Upload-Schaltfläche, um den Code auf den ESP32 hochzuladen
  • Bewegen Sie Ihre Hand vor dem Sensor
  • Sehen Sie die Veränderung des Servomotors

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!