Arduino Nano - Potentiometer-Servomotor

Dieses Tutorial erklärt, wie man einen Arduino Nano verwendet, um den Winkel eines Servomotors basierend auf dem Eingabewert eines Potentiometers zu steuern. Im Detail werden wir lernen:

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
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 Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

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 ihrer Pinbelegungen, ihrer Funktionsweise und ihrer Programmierung, nicht vertraut sind, können Ihnen die folgenden Tutorials helfen:

Verdrahtungsdiagramm

Arduino Nano Servomotor Potentiometer-Schaltplan

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

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

Wie man programmiert

  • Liest den Wert des Potentiometers aus, der zwischen 0 und 1023 liegt.
int analog_value = analogRead(A0);
  • Skaliere es so, dass der Winkel im Bereich von 0 bis 180 Grad liegt.
int angle = map(analog_value, 0, 1023, 0, 180);
  • Stellen Sie den Servo auf den angegebenen Winkel ein.
servo.write(angle);

Arduino Nano-Quellcode

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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-nano/arduino-nano-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(2); // attaches the servo on pin D2 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

  • Schließen Sie das USB-Kabel an den Arduino Nano und den PC an.
  • Starten Sie die Arduino-IDE und wählen Sie das passende Board und den passenden Port aus.
  • Öffnen Sie den Code in der Arduino-IDE.
  • Um den Code auf den Arduino Nano zu übertragen, drücken Sie die Schaltfläche Hochladen in der Arduino-IDE.
Code in der Arduino-IDE hochladen
  • Öffne den seriellen Monitor
  • Drehe das Potentiometer
  • Überprüfe die Rotation des Servomotors
  • Überprüfe das Ergebnis im seriellen Monitor
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 Erläuterung 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!