Arduino – Servo-Motor gesteuert durch Potentiometer

In einem vorherigen Tutorial haben wir gelernt, wie ein Potentiometer einen Servo-Motor auslöst. In diesem Tutorial lernen wir, wie man einen Servo-Motor entsprechend dem Ausgangswert des Potentiometers dreht.

Über Servomotor und Potentiometer

Wenn Sie nichts über Servomotoren und Potentiometer wissen (Pinbelegung, wie sie funktionieren, wie man sie programmiert ...), lernen Sie in den folgenden Tutorials mehr darüber:

Verdrahtungsdiagramm

Arduino Servomotor Potentiometer Verdrahtungsdiagramm

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

Wie man programmiert

  • Liest den Wert des Potentiometers (Wert zwischen 0 und 1023)
int analogValue = analogRead(A0);
  • Skaliert es auf einen Winkel (Wert zwischen 0 und 180)
int angle = map(analogValue, 0, 1023, 0, 180);
  • Setzt die Servoposition entsprechend dem Winkel
myServo.write(angle);

Arduino-Code

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino 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/arduino/arduino-servo-motor-controlled-by-potentiometer */ #include <Servo.h> Servo myServo; // create servo object to control a servo void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); myServo.attach(9); // attaches the servo on pin 9 to the servo object } void loop() { // reads the value of the potentiometer (value between 0 and 1023) int analogValue = analogRead(A0); // scales it to use it with the servo (value between 0 and 180) int angle = map(analogValue, 0, 1023, 0, 180); // sets the servo position according to the scaled value myServo.write(angle); // print out the value Serial.print("Analog: "); Serial.print(analogValue); Serial.print(", Angle: "); Serial.println(angle); delay(100); }

Schnelle Schritte

  • Verbinde Arduino über ein USB-Kabel mit dem PC
  • Öffne die Arduino-IDE, wähle das richtige Board und den richtigen Port aus
  • Kopiere den obigen Code und öffne ihn mit der Arduino-IDE
  • Klicke auf die Hochladen-Schaltfläche in der Arduino-IDE, um den Code auf den Arduino hochzuladen
Arduino IDE Code hochladen
  • Öffne den seriellen Monitor
  • Drehe am Potentiometer
  • Sieh dir die Rotation des Servomotors an
  • 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

Lies die zeilenweise Erklärung in den Kommentarzeilen des Quellcodes!

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!