Raspberry Pi - Button - Servo Motor
Diese Anleitung zeigt Ihnen, wie Sie einen Servo Motor mit einem Raspberry Pi und einem Button steuern können. So funktioniert es:
Wenn Sie den Button drücken, rotiert der Servo Motor um 90 Grad.
Wenn Sie den Button erneut drücken, kehrt der Motor zu seiner ursprünglichen Position von 0 Grad zurück.
Dieser Vorgang wiederholt sich unendlich.
Oder Sie können die folgenden Kits kaufen:
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.
Kaufhinweis: Falls Sie mehrere Servomotoren verwenden möchten, empfehlen wir die Verwendung des PCA9685 16 Channel PWM Servo Driver Module, um MCU-Pins zu sparen und die Verdrahtung zu vereinfachen.
Falls Sie mit Servo Motoren und Buttons (einschließlich Pinouts, Funktionsweise und Programmierung) nicht vertraut sind, können Ihnen die folgenden Tutorials helfen:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:
Bitte beachten Sie, dass das oben gezeigte Schaltdiagramm nur für einen Servo Motor mit geringem Drehmoment geeignet ist. Falls der Motor vibriert anstatt zu rotieren, muss eine externe Stromquelle verwendet werden, um dem Servo Motor mehr Leistung zu bieten. Das folgende Diagramm zeigt die Verdrahtung mit einer externen Stromquelle für den Servo Motor.
TO BE ADD IMAGE
Vergessen Sie bitte nicht, GND der externen Stromquelle mit GND des Raspberry Pi zu verbinden.
Stellen Sie sicher, dass Sie Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Pi installiert haben.
Stellen Sie sicher, dass Ihr Raspberry Pi mit demselben lokalen Netzwerk wie Ihr PC verbunden ist.
Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie Bibliotheken installieren müssen.
Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi, indem Sie den integrierten SSH-Client unter Linux und macOS oder PuTTY unter Windows verwenden. Siehe
PC mit Raspberry Pi über SSH verbinden.
Stellen Sie sicher, dass Sie die RPi.GPIO Bibliothek installiert haben. Falls nicht, installieren Sie sie mit folgendem Befehl:
sudo apt-get update
sudo apt-get install python3-rpi.gpio
import RPi.GPIO as GPIO
import time
BUTTON_PIN = 18
SERVO_PIN = 12
angle = 0
prev_button_state = None
button_state = None
GPIO.setmode(GPIO.BCM)
GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(SERVO_PIN, GPIO.OUT)
servo_pwm = GPIO.PWM(SERVO_PIN, 50)
servo_pwm.start(0)
try:
while True:
prev_button_state = button_state
button_state = GPIO.input(BUTTON_PIN)
if prev_button_state == GPIO.HIGH and button_state == GPIO.LOW:
print("The button is pressed")
if angle == 0:
angle = 90
else:
angle = 0
duty_cycle = (angle / 18) + 2.5
servo_pwm.ChangeDutyCycle(duty_cycle)
time.sleep(0.1)
except KeyboardInterrupt:
servo_pwm.stop()
GPIO.cleanup()
Das Skript läuft in einer unendlichen Schleife kontinuierlich, bis Sie Ctrl + C im Terminal drücken.
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.