ESP8266 - Bewegungssensor - Servo-Motor

Dieses Tutorial zeigt dir, wie man den ESP8266 und einen Bewegungsmelder verwendet, um einen Servomotor zu steuern. Im Detail:

Dies kann in einem Automatisierungsprozess verwendet werden, der Aktionen auslöst, sobald menschliche Anwesenheit erkannt wird.

Erforderliche Hardware

1×ESP8266 NodeMCU
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×HC-SR501 Bewegungssensor
1×Servo-Motor
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

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 Bewegungssensor

Falls Sie mit Servomotoren und Bewegungsmeldern nicht vertraut sind (einschließlich Pinbelegung, Funktionsweise, Programmierung usw.), können Ihnen die folgenden Tutorials helfen:

Verdrahtungsdiagramm

ESP8266 NodeMCU-Bewegungssensor-Servomotor-Schaltplan

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

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

Bitte beachten Sie, dass der oben gezeigte Schaltplan nur für einen Servomotor mit geringem Drehmoment geeignet ist. Falls der Motor statt zu rotieren vibriert, muss eine externe Stromquelle verwendet werden, um dem Servomotor mehr Leistung zuzuführen. Im Folgenden wird der Schaltplan mit einer externen Stromquelle für den Servomotor gezeigt.

ESP8266 NodeMCU-Bewegungssensor-Servomotor-Schaltplan für zusätzliche Stromversorgung

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

Bitte vergessen Sie nicht, die Masse der externen Stromversorgung mit der Masse des ESP8266 zu verbinden.

Anfangseinstellung

Time Delay AdjusterScrew it in anti-clockwise direction fully.
Detection Range AdjusterScrew it in clockwise direction fully.
Repeat Trigger SelectorPut jumper as shown on the image.
Arduino-Bewegungssensor Ersteinrichtung

ESP8266 Code - Bewegungssensor Steuert Servomotor

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-motion-sensor-servo-motor */ #include <Servo.h> #define MOTION_SENSOR_PIN D7 // The ESP8266 pin connected to motion sensor's pin #define SERVO_PIN D1 // The ESP8266 pin connected to servo motor's pin Servo servo; // create servo object to control a servo int angle = 0; // The current angle of servo motor int prev_motion_state; // The previous state of motion sensor int motion_state; // The current state of motion sensor void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(MOTION_SENSOR_PIN, INPUT); // Configure the ESP8266 pin to the input mode servo.attach(SERVO_PIN); // attaches the servo on pin 9 to the servo object servo.write(angle); motion_state = digitalRead(MOTION_SENSOR_PIN); } void loop() { prev_motion_state = motion_state; // save the last state motion_state = digitalRead(MOTION_SENSOR_PIN); // read new state if (motion_state == LOW && prev_motion_state == HIGH) { // pin state change: LOW -> HIGH Serial.println("Motion detected!, rotating servo motor to 90°"); servo.write(90); } else if (motion_state == HIGH && prev_motion_state == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!, rotating servo motor to 0°"); servo.write(0); } }

Schnelle Schritte

Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:

  • Schau dir das Tutorial wie man die Umgebung für ESP8266 in der Arduino IDE einrichtet an, falls dies dein erster Umgang mit ESP8266 ist.
  • Verbinde die Bauteile wie im Diagramm gezeigt.
  • Schließe das ESP8266-Board über ein USB-Kabel an deinen Computer an.
  • Öffne die Arduino IDE auf deinem Computer.
  • Wähle das richtige ESP8266-Board, z. B. (NodeMCU 1.0 (ESP-12E Modul)), und den entsprechenden COM-Port.
  • Schließe dein ESP8266-Board mit einem USB-Kabel an deinen Computer an.
  • Starte die Arduino IDE, wähle das passende Board und den Port aus.
  • Füge den Code in die IDE ein und öffne ihn.
  • Klicke auf die Upload-Schaltfläche in der IDE, um den Code an den ESP8266 zu senden.
  • Bewege deine Hand vor dem Sensor.
  • Schau dir die Bewegungen des Servomotors an.

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!