Arduino - Knopf - Servomotor

Wir werden lernen:

Dieser Prozess wird wiederholt.

Das Tutorial umfasst zwei Hauptteile:

Erforderliche Hardware

1×Arduino Uno R3
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (für USB-C PC)
1×Breadboard-Taster mit Kappe
1×Breadboard-Taster-Kit
1×Panel-Drucktaster
1×Taster-Modul
1×Servo-Motor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V3 Starter-Kit (Arduino enthalten)
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 Taster

Wenn Sie nichts über Servomotoren und Taster (Pinbelegung, Funktionsweise, Programmierung …) wissen, lernen Sie in den folgenden Tutorials mehr darüber.

Verdrahtungsdiagramm

Schaltplan für Arduino-Button-Servomotor

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

Arduino-Code – Taster steuert Servo-Motor ohne Entprellung

/* * 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-button-servo-motor */ #include <Servo.h> // constants won't change const int BUTTON_PIN = 7; // Arduino pin connected to button's pin const int SERVO_PIN = 9; // Arduino pin connected to servo motor's pin Servo servo; // create servo object to control a servo // variables will change: 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

  • Verbinde Arduino über USB-Kabel mit dem PC
  • Öffne die Arduino IDE, wähle das richtige Board und den richtigen Port
  • 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
  • Drücke den Knopf mehrmals
  • Sieh die Veränderung des Servomotors

※ Notiz:

In der Praxis funktioniert der obige Code manchmal nicht richtig. Damit er immer korrekt funktioniert, müssen wir Entprellung des Tasters durchführen. Die Entprellung des Tasters ist für Anfänger nicht einfach. Glücklicherweise können wir das dank der ezButton-Bibliothek einfach tun.

Arduino-Code – Taste steuert Servomotor mit Entprellung

Warum benötigen wir eine Entprellung? ⇒ siehe Arduino - Button-Entprellung Tutorial

/* * 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-button-servo-motor */ #include <Servo.h> #include <ezButton.h> // constants won't change const int BUTTON_PIN = 7; // Arduino pin connected to button's pin const int SERVO_PIN = 9; // Arduino 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 // variables will change: 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 How To
  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
  • Klicken Sie auf die Schaltfläche Upload in der Arduino IDE, um den Code auf den Arduino hochzuladen
  • Drücken Sie mehrmals den Knopf
  • Beobachten Sie die Veränderung des Servomotors

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!