Arduino Nano - Taster - Servomotor

In diesem Tutorial lernen Sie, wie Sie einen Servomotor mit einem Arduino Nano und einem Knopf steuern. Wenn der Knopf gedrückt wird, dreht sich der Servomotor um 90 Grad. Wird der Knopf erneut gedrückt, kehrt der Servomotor auf 0 Grad zurück. Diese Aktion wiederholt sich kontinuierlich.

Dieses Tutorial hat zwei Abschnitte:

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×Breadboard-Taster mit Kappe
1×Breadboard-Taster-Kit
1×Panel-Drucktaster
1×Taster-Modul
1×Servo-Motor
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
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 Knopf

Wenn Sie mit Servomotoren und Tasten nicht vertraut sind (einschließlich Pinbelegungen, wie sie funktionieren und wie man sie programmiert), können die folgenden Tutorials helfen:

Verdrahtungsdiagramm

Arduino Nano Taster Servo-Motor Verdrahtungsdiagramm

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

Es ist zu beachten, dass der oben gezeigte Schaltplan nur für einen Servomotor mit geringem Drehmoment geeignet ist. Falls der Motor statt zu drehen vibriert, muss eine externe Stromquelle verwendet werden, um den Servomotor zu betreiben. Der folgende Schaltplan zeigt, wie der Servomotor mit einer externen Stromquelle verbunden wird.

Arduino Nano Servomotor Taster Verdrahtungsdiagramm

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.

Bitte vergessen Sie nicht, GND der externen Stromversorgung mit dem GND des Arduino zu verbinden.

Arduino Nano-Quellcode - Taster steuert Servomotor ohne Entprellen

/* * 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-button-servo-motor */ #include <Servo.h> const int BUTTON_PIN = 2; // The Arduino Nano pin connected to button's pin const int SERVO_PIN = 9; // The Arduino Nano 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_button_state; // The previous state of button int button_state; // The current state of button void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(BUTTON_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode servo.attach(SERVO_PIN); // attaches the servo on pin 9 to the servo object servo.write(angle); button_state = digitalRead(BUTTON_PIN); } void loop() { prev_button_state = button_state; // save the last state button_state = digitalRead(BUTTON_PIN); // read new state if(prev_button_state == HIGH && button_state == LOW) { Serial.println("The button is pressed"); // change angle of servo motor if(angle == 0) angle = 90; else if(angle == 90) angle = 0; // rotate the servo motor to the angle position servo.write(angle); } }

Schnelle Schritte

  • Stecken Sie ein USB-Kabel in Ihren Arduino Nano und in den PC.
  • Starten Sie die Arduino IDE, wählen Sie das richtige Board und den richtigen Port aus.
  • Fügen Sie den Code in die IDE ein und öffnen Sie ihn.
  • Klicken Sie in der IDE auf die Hochladen-Schaltfläche, um den Code an den Arduino Nano zu senden.
  • Drücken Sie den Knopf mehrmals.
  • Beobachten Sie die Bewegung des Servomotors.

※ Notiz:

In der Praxis funktioniert der oben erwähnte Code nicht immer einwandfrei. Um sicherzustellen, dass er ordnungsgemäß funktioniert, müssen wir das Entprellen des Buttons durchführen. Das Entprellen des Buttons kann für Anfänger in diesem Bereich schwierig sein. Glücklicherweise macht diese Aufgabe mit Hilfe der ezButton-Bibliothek deutlich einfacher.

Arduino Nano Code - Tastensteuerung des Servomotors mit Entprellung

Warum ist das Entprellen notwendig? Weitere Informationen finden Sie im Arduino Nano - Button Debounce Tutorial.

/* * 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-button-servo-motor */ #include <Servo.h> #include <ezButton.h> const int BUTTON_PIN = 2; // The Arduino Nano pin connected to button's pin const int SERVO_PIN = 9; // The Arduino Nano pin connected to servo motor's pin ezButton button(BUTTON_PIN); // create ezButton object for pin 7; Servo servo; // create servo object to control a servo int angle = 0; // The current angle of servo motor void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. button.setDebounceTime(50); // set debounce time to 50 milliseconds servo.attach(SERVO_PIN); // attaches the servo on pin 9 to the servo object servo.write(angle); } void loop() { button.loop(); // MUST call the loop() function first if(button.isPressed()) { Serial.println("The button is pressed"); // change angle of servo motor if(angle == 0) angle = 90; else if(angle == 90) angle = 0; // rotate the servo motor to the angle position servo.write(angle); } }

Schnelle Schritte

  • Installieren Sie die ezButton-Bibliothek.
  • Siehe Anleitung für Anweisungen.
  • Öffnen Sie den Code in der Arduino IDE.
  • Klicken Sie im Arduino IDE auf die Hochladen-Schaltfläche, um den Code auf den Arduino Nano hochzuladen.
  • Drücken Sie den Knopf mehrmals.
  • Überprüfen Sie die Änderungen am Servomotor.

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!