Dieses Tutorial ist Teil von: Servomotoren
Hier finden Sie alle relevanten Videos zum Thema Servomotoren. Links zu weiteren Videos finden Sie unter diesem Artikel.
Einen Servo mit Drucktastern mit einem Arduino steuern
In diesem Tutorial lernen wir, wie man einen Servomotor mit zwei Drucktastern steuert, einen zum Bewegen des Servos nach links und einen zum Bewegen nach rechts. Wenn Sie den rechten Taster drücken, bewegt sich das Servo um 10 Grad nach rechts, und wenn Sie den linken Taster drücken, bewegt es sich um denselben Betrag nach links. Wenn Sie einen Taster gedrückt halten, bewegt sich das Servo weiterhin in diese Richtung, bis Sie ihn loslassen.

Dieses Projekt ist eine hervorragende Möglichkeit zu verstehen, wie man Tasten mit einem Servomotor mithilfe von Arduino verbindet. Wir behandeln die notwendigen Hardwarekomponenten, die Verkabelungsanleitung und den Code, der erforderlich ist, damit alles funktioniert. Für ein klareres Verständnis können Sie sich das Video ansehen, das dieses Tutorial begleitet (im Video bei 01:00).
Hardware erklärt
Für dieses Projekt benötigen Sie ein Arduino-Board, einen Servomotor und zwei Drucktaster. Der Servomotor ist für die Bewegung verantwortlich, während die Drucktaster als Eingaben dienen, um die Richtung dieser Bewegung zu steuern. Das Arduino-Board verarbeitet diese Eingaben und sendet die entsprechenden Signale an den Servomotor.
Der Servomotor arbeitet auf Basis von Pulsweitenmodulation (PWM)-Signalen. Durch das Senden unterschiedlicher Pulsbreiten können Sie den Winkel des Servos steuern. Die Drucktasten werden an digitale Eingangspins des Arduino angeschlossen, und wir verwenden interne Pull-up-Widerstände, um die Verkabelung zu vereinfachen.
Datenblattdetails
| Hersteller | Verschiedenes |
|---|---|
| Teilenummer | SG90 |
| Logik-/I/O-Spannung | 5 V |
| Versorgungsspannung | 4.8-6 V |
| Ausgangsstrom (pro Kanal) | 1,5 A max |
| Spitzenstrom (pro Kanal) | max. 2,5 A |
| Leitfaden zur PWM-Frequenz | 50 Hz |
| Schwellenwerte der Eingangslogik | 0.3VCCbis zu 0.7VCC |
| Spannungsabfall / RDS(on)/ Sättigung | 0,4 V |
| Thermische Grenzwerte | 85 °C |
| Paket | Plastik |
| Notizen / Varianten | Standardmäßige 180°-Drehung |
- Stellen Sie sicher, dass das Servo für Ihre Versorgungsspannung ausgelegt ist.
- Sorgen Sie bei hohen Strömen für eine geeignete Wärmeableitung.
- Schließen Sie die Taster in einer Pull-up-Konfiguration an Masse an.
- Entprellen Sie Ihre Tasten, wenn sie unregelmäßig reagieren.
- Überwachen Sie die serielle Ausgabe zur Fehlersuche.
Verdrahtungsanleitung

Zum Verdrahten der Komponenten beginnen Sie damit, den Servomotor anzuschließen. Verbinden Sie das rote Kabel des Servos mit dem 5V-Pin am Arduino, das schwarze Kabel mit dem GND-Pin und das gelbe oder weiße Signalkabel mit Pin 9 am Arduino. Dieser Pin steuert die Position des Servos.
Als Nächstes verkabeln Sie die Drucktaster. Verbinden Sie einen Anschluss des rechten Tasters mit Pin 2 und den anderen Anschluss mit Masse. Für den linken Taster verbinden Sie einen Anschluss mit Pin 12 und den anderen Anschluss ebenfalls mit Masse. Diese Konfiguration ermöglicht es den internen Pull-up-Widerständen, die Pins hoch zu halten, wenn die Taster nicht gedrückt sind.
Codebeispiele & Schritt-für-Schritt-Anleitung
Beginnen wir mit dem Code zur Steuerung des Servos mit einem einzelnen Druckknopf. Der Code initialisiert das Servoobjekt und setzt einen Anfangswinkel. Hier ist ein kurzer Auszug:
int angle = 90; // initial angle for servo
int angleStep = 10; // step size for movement
In diesem Ausschnitt,anglestellt die aktuelle Position des Servos dar, währendangleStepDefiniert, wie weit sich der Servo bei jedem Tastendruck bewegt. Dieser Code ist unerlässlich, um die Position des Servos nachzuverfolgen.
Als Nächstes haben wir die Setup-Funktion, in der wir den Servo anschließen und die Eingangspins konfigurieren:
void setup() {
Serial.begin(9600); // setup serial
myservo.attach(9); // attaches the servo on pin 9
pinMode(2, INPUT_PULLUP); // configure button pin
}
Im Setup initialisieren wir den seriellen Monitor und schließen den Servo an Pin 9 an. Der Taster an Pin 2 wird als Eingang mit einem Pull-up-Widerstand konfiguriert, was die Verdrahtung vereinfacht und den Einsatz externer Widerstände überflüssig macht.
Abschließend betrachten wir die Loop-Funktion, die den Tastendruck behandelt:
while(digitalRead(2) == LOW) {
angle = angle + angleStep; // increment angle
myservo.write(angle); // move servo
}
Diese Schleife überprüft kontinuierlich, ob die Taste gedrückt ist. Wenn sie gedrückt ist, erhöht sich der Winkel um den definierten Schritt und der Servo bewegt sich entsprechend. Es ist wichtig sicherzustellen, dass der Winkel innerhalb der Grenzen (0 bis 180 Grad) bleibt, um Schäden am Servo zu verhindern.
Demonstration / Was Sie erwartet
Wenn Sie die rechte Taste drücken, soll sich der Servo in Schritten von 10 Grad nach rechts bewegen, bis er das Maximum von 180 Grad erreicht. Ebenso bewegt sich der Servo nach links, wenn Sie die linke Taste drücken. Wenn Sie eine Taste gedrückt halten, bewegt sich der Servo weiterhin in diese Richtung, bis Sie die Taste loslassen (im Video bei 01:00).
Zu den häufigen Fallstricken gehören Verdrahtungsprobleme, wie falsche Verbindungen oder schwebende Eingänge. Stellen Sie stets sicher, dass Ihre Verbindungen fest sitzen und dass Sie die im Code angegebenen Pins verwenden.
Dieses Tutorial ist Teil von: Servomotoren
- Control a Servo Motor with a Push Button: Move Servo and Return SPB-1
- Control a Servo Motor with a Push Button: Move Servo in One Direction SPB-2
- Controlling a Servo Motor with a Push Button: Move Servo While Button Is Pressed (SPB-3)
- Einen Servo mit einem Potentiometer und einem Arduino steuern
- Einen Servo mit Potentiometer und LCD1602 mit Arduino steuern
- Steuerung von Servomotoren mit einer Infrarotfernbedienung und Arduino
- Arduino Servomotorsteuerung mit einem Potentiometer
- Steuerung der Servoposition mit Handgesten für Arduino
- Controlling Two or More Servos with Potentiometers Using an Arduino
- How to Control a 360° Servo with Three Push-Button Switches
- How to Use Continuous 360° Servo with Arduino
- Arduino-Code und Video für PCA9685 16-Kanal 12-Bit Servo-Controller V1
- Build an Arduino Servo Toggle Switch with a Push Button
Dinge, die Sie vielleicht brauchen
-
AmazonServomotor auf Amazonamzn.to
-
AliExpressKaufen Sie den SG90 Servomotor 180 oder 360 von AliExpresss.click.aliexpress.com
Ressourcen & Referenzen
Noch keine Ressourcen vorhanden.
Dateien📁
Keine Dateien verfügbar.