Arduino UNO R4 - Potentiometer-Servomotor

Diese Anleitung zeigt Ihnen, wie Sie einen Servomotor mit einem Potentiometer unter Verwendung des Arduino Uno R4 steuern. Diese Anleitung demonstriert, wie der Winkel des Servomotors durch Drehen eines Potentiometers eingestellt wird. Sie lernen:

Über Servomotor und Potentiometer

Bevor Sie fortfahren, falls Sie nicht mit Servomotoren und Potentiometern (deren Pinbelegung, Funktionsweise und Programmierung) vertraut sind, lesen Sie bitte die untenstehenden Tutorials.

Verdrahtungsdiagramm

  • Der Schaltplan zwischen Arduino UNO R4, Servomotor und klassischem Potentiometer.
Arduino UNO R4 Servomotor Potentiometer Verdrahtungsdiagramm

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

  • Der Schaltplan zwischen dem Arduino UNO R4, dem Servomotor und dem Potentiometermodul.
Arduino UNO R4 Servomotor-Potentiometer-Modul Schaltplan

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

Siehe Der beste Weg, den Arduino Uno R4 und andere Komponenten mit Strom zu versorgen.

Wie man programmiert

  • Liest den Wert des Potentiometers (Wertebereich von 0 bis 1023)
int analogValue = analogRead(A0);
  • Passt es auf einen Winkel an (Wert zwischen 0 und 180)
int angle = map(analogValue, 0, 1023, 0, 180);
  • Ändert die Position des Servomotors basierend auf dem Winkel.
myServo.write(angle);

Arduino UNO R4-Programmcode

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 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-uno-r4/arduino-uno-r4-potentiometer-servo-motor */ #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("Potentiometer's Value: "); Serial.print(analogValue); Serial.print(" => Servo Motor's Angle: "); Serial.println(angle); delay(100); }

Schnelle Schritte

Folgen Sie diesen Anweisungen Schritt für Schritt:

  • Wenn dies Ihre erste Nutzung des Arduino Uno R4 WiFi/Minima ist, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE.
  • Verdrahten Sie die Bauteile gemäß dem bereitgestellten Diagramm.
  • Schließen Sie das Arduino UNO R4-Board über ein USB-Kabel an Ihren Computer an.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das geeignete Arduino UNO R4-Board (z. B. Arduino Uno R4 WiFi) und den COM-Port aus.
  • Kopieren Sie den obigen Code in die Arduino IDE und fügen Sie ihn dort ein.
  • Klicken Sie in der Arduino IDE auf die Upload-Schaltfläche, um den Code auf das Arduino UNO R4 zu übertragen.
Arduino IDE Code hochladen
  • Öffne den seriellen Monitor
  • Drehe das Potentiometer
  • Sieh zu, wie sich der Servomotor dreht
  • Überprüfe das Ergebnis im seriellen Monitor
COM6
Send
Potentiometer's Value: 0 => Servo Motor's Angle: 0 Potentiometer's Value: 85 => Servo Motor's Angle: 14 Potentiometer's Value: 201 => Servo Motor's Angle: 35 Potentiometer's Value: 286 => Servo Motor's Angle: 50 Potentiometer's Value: 370 => Servo Motor's Angle: 65 Potentiometer's Value: 444 => Servo Motor's Angle: 78 Potentiometer's Value: 521 => Servo Motor's Angle: 91 Potentiometer's Value: 608 => Servo Motor's Angle: 106 Potentiometer's Value: 690 => Servo Motor's Angle: 121 Potentiometer's Value: 793 => Servo Motor's Angle: 139 Potentiometer's Value: 907 => Servo Motor's Angle: 159 Potentiometer's Value: 1023 => Servo Motor's Angle: 180 Potentiometer's Value: 1023 => Servo Motor's Angle: 180
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Code-Erklärung

Überprüfe die Erklärungen in den Kommentaren des Quellcodes – Zeile für Zeile!

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!