ESP8266 - Potentiometer-Servomotor

Dieses Tutorial erklärt dir, wie du den Winkel eines Servomotors mit dem ESP8266 basierend auf dem Eingabewert eines Potentiometers steuerst. Im Detail werden wir lernen:

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×Servo-Motor
1×Potentiometer
1×Alternativ: 10k Ohm Trimmer Potentiometer
1×(Alternativ) Potentiometer Kit
1×(Alternativ) Potentiometer Module with Knob
1×Breadboard
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 Potentiometer

Wenn Sie mit Servomotoren und Potentiometern, einschließlich Pinbelegung, Funktionsweise und Programmierung, nicht vertraut sind, sind die folgenden Tutorials hilfreich:

Verdrahtungsdiagramm

ESP8266 NodeMCU Servo-Motor Potentiometer-Verdrahtungsdiagramm

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.

Aus Gründen der Einfachheit wird das obige Verdrahtungsdiagramm zu Test- oder Lernzwecken und für einen Servo-Motor mit kleinem Drehmoment verwendet. Tatsächlich empfehlen wir dringend die Verwendung einer externen Stromversorgung für den Servo-Motor. Das untenstehende Verdrahtungsdiagramm veranschaulicht, wie der Servo-Motor an eine externe Stromquelle angeschlossen wird.

ESP8266 NodeMCU-Servomotor Externe Stromversorgung Verdrahtungsdiagramm

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

Wie man programmiert

  • Lies den Wert des Potentiometers aus (von 0 bis 1023).
int analog_value = analogRead(A0);
  • Wandle es in einen Winkel im Bereich von 0 bis 180 um.
int angle = map(analog_value, 0, 1023, 0, 180);
  • Stelle das Servo auf den angegebenen Winkel ein.
servo.write(angle);

ESP8266-Code

/* * 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-potentiometer-servo-motor */ #include <Servo.h> Servo servo; // create servo object to control a servo void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); servo.attach(D5); // attaches the servo on pin D5 to the servo object } void loop() { // reads the value of the potentiometer (value between 0 and 1023) int analog_value = analogRead(A0); // scales it to use it with the servo (value between 0 and 180) int angle = map(analog_value, 0, 1023, 0, 180); // sets the servo position according to the scaled value servo.write(angle); // print out the value Serial.print("Analog: "); Serial.print(analog_value); Serial.print(", Angle: "); Serial.println(angle); delay(100); }

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 du ESP8266 zum ersten Mal verwendest.
  • Verbinde die Bauteile wie im Diagramm gezeigt.
  • Schließe das ESP8266-Board mit einem 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.
  • Verbinde dein ESP8266-Board über ein USB-Kabel mit deinem Computer.
  • Starte die Arduino-IDE, wähle das passende Board und den Port aus.
  • Kopiere den obigen Code und öffne ihn in der Arduino-IDE.
  • Klicke auf die Schaltfläche Hochladen in der Arduino-IDE, um den Code auf den ESP8266 zu übertragen.
Arduino IDE Code hochladen
  • Öffne den seriellen Monitor
  • Drehe den Potentiometer
  • Überprüfe die Drehung des Servomotors
  • Sieh dir das Ergebnis im seriellen Monitor an
COM6
Send
Analog: 0, Angle: 0 Analog: 85, Angle: 14 Analog: 201, Angle: 35 Analog: 286, Angle: 50 Analog: 370, Angle: 65 Analog: 444, Angle: 78 Analog: 521, Angle: 91 Analog: 608, Angle: 106 Analog: 690, Angle: 121 Analog: 793, Angle: 139 Analog: 907, Angle: 159 Analog: 1023, Angle: 180 Analog: 1023, Angle: 180
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Code-Erklärung

Schau dir die zeilenweise Erklärung an, die in den Kommentaren des Quellcodes enthalten ist!

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!