Arduino UNO R4 - Taster - Servomotor

In diesem Tutorial lernen wir, wie man einen Servo-Motor mit einem Knopf mithilfe eines Arduino Uno R4 steuert. Durch das Drücken des Knopfs wird der Servo-Motor auf 90 Grad gedreht, und durch erneutes Drücken bewegt er ihn wieder auf 0 Grad. Dieser Vorgang wiederholt sich jedes Mal, wenn der Knopf gedrückt wird.

Das Tutorial ist in zwei Abschnitte unterteilt:

Dieses Projekt ist ideal für Anfänger, um die Servomotorsteuerung, Tastereingänge und Entprelltechniken mit dem Arduino Uno R4 zu verstehen.

Über Servomotor und Knopf

Wenn Sie mit Servomotoren und Tastern nicht vertraut sind, einschließlich ihrer Pinbelegung, wie sie funktionieren oder wie man sie programmiert, lesen Sie bitte die folgenden Tutorials für weitere Informationen.

Verdrahtungsdiagramm

Arduino UNO R4 Taster-Servomotor-Verdrahtungsdiagramm

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.

Arduino UNO R4 Code - Taster steuert Servo-Motor ohne Entprellung

/* * 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-button-servo-motor */ #include <Servo.h> #define BUTTON_PIN 7 // The Arduino Uno R4 pin connected to button's pin #define SERVO_PIN 9 // The Arduino Uno R4 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 lastButtonState; // the previous state of button int currentButtonState; // the current state of button void setup() { Serial.begin(9600); // initialize serial 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); currentButtonState = digitalRead(BUTTON_PIN); } void loop() { lastButtonState = currentButtonState; // save the last state currentButtonState = digitalRead(BUTTON_PIN); // read new state if(lastButtonState == HIGH && currentButtonState == LOW) { Serial.println("The button is pressed"); // change angle of servo motor if(angle == 0) angle = 90; else if(angle == 90) angle = 0; // control servo motor arccoding to the angle servo.write(angle); } }

Schnelle Schritte

Folgen Sie diesen Anweisungen Schritt für Schritt:

  • Wenn Sie das erste Mal den Arduino Uno R4 WiFi/Minima verwenden, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE Einrichten der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE.
  • Verbinden Sie die Bauteile gemäß dem bereitgestellten Diagramm.
  • Schließen Sie das Arduino Uno R4-Board über ein USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das entsprechende Arduino Uno R4-Board (z. B. Arduino Uno R4 WiFi) und den COM-Port aus.
  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Klicken Sie auf die Schaltfläche Hochladen in der Arduino IDE, um den Code auf den Arduino UNO R4 zu übertragen.
  • Drücken Sie den Knopf mehrmals.
  • Beobachten Sie die Bewegung des Servomotors.

※ Notiz:

Manchmal funktioniert der gegebene Code nicht richtig. Um sicherzustellen, dass er immer korrekt funktioniert, müssen wir die Tastenentprellung verwenden. Die Tastenentprellung kann für Anfänger eine Herausforderung darstellen. Allerdings wird es mit Hilfe der ezButton-Bibliothek viel einfacher.

Arduino UNO R4 Code - Knopfsteuerung Servo-Motor mit Entprellung

Warum ist das Entprellen wichtig? ⇒ siehe Arduino UNO R4 - Tutorial zur Button-Entprellung

/* * 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-button-servo-motor */ #include <Servo.h> #include <ezButton.h> #define BUTTON_PIN 7 // The Arduino Uno R4 pin connected to button's pin #define SERVO_PIN 9 // The Arduino Uno R4 pin connected to servo motor's pin ezButton button(BUTTON_PIN); // create ezButton object that attach to 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 serial 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; // control servo motor arccoding to the angle servo.write(angle); } }

Schnelle Schritte

  • Installieren Sie die ezButton-Bibliothek. Siehe Anleitung.
  • Kopieren Sie den Code und öffnen Sie ihn in der Arduino-IDE.
  • Klicken Sie in der Arduino IDE auf den Hochladen-Knopf, um den Code auf den Arduino UNO R4 zu übertragen.
  • Drücken Sie den Knopf mehrmals.
  • Beobachten Sie, wie der Servomotor sich bewegt.

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!