FatManStanding
Lieutenant
- Registriert
- Aug. 2021
- Beiträge
- 670
Hallo,
ich versuche an meinem Raspberry Pi einen Servo-Motor (SG90) zum Laufen zu bringen, was mit diesem Script aus grds. geht:
Das Script erwartet nach dem Start eine manuelle Eingabe eines Winkels um den der Servo dann gedreht wird. Es wäre besser, wenn ich den Winkel bereits mitgeben könnte am das ganze in einem Shell-Scritp ausführen zu können.
Ich kann kein Python, meine Kenntnisse beschränekn sich auf einfache Shell-Scripte. Es sollen auch keine komplizierten Sachen ausgeführt werden. Weiß jemand wie man das ganze so umbaut, dass man den Winkel direkt bei Start des Script mit angeben kann, z. B.
Grüße
FMS
ich versuche an meinem Raspberry Pi einen Servo-Motor (SG90) zum Laufen zu bringen, was mit diesem Script aus grds. geht:
Code:
import RPi.GPIO as GPIO
import time
# Set up the GPIO pin for PWM
SERVO_PIN = 17 # Use GPIO18 (Pin 12)
GPIO.setmode(GPIO.BCM)
GPIO.setup(SERVO_PIN, GPIO.OUT)
# Start PWM with 50Hz frequency
pwm = GPIO.PWM(SERVO_PIN, 50)
pwm.start(0)
def set_angle(angle):
duty_cycle = (angle / 18) + 2.5 # Convert angle to duty cycle
GPIO.output(SERVO_PIN, True)
pwm.ChangeDutyCycle(duty_cycle)
time.sleep(0.5) # Wait for servo to move
GPIO.output(SERVO_PIN, False)
pwm.ChangeDutyCycle(0)
try:
while True:
angle = int(input("Enter angle (0-180): "))
if 0 <= angle <= 180:
set_angle(angle)
else:
print("Invalid angle! Enter a value between 0 and 180.")
except KeyboardInterrupt:
print("Exiting...")
pwm.stop()
GPIO.cleanup()
Das Script erwartet nach dem Start eine manuelle Eingabe eines Winkels um den der Servo dann gedreht wird. Es wäre besser, wenn ich den Winkel bereits mitgeben könnte am das ganze in einem Shell-Scritp ausführen zu können.
Ich kann kein Python, meine Kenntnisse beschränekn sich auf einfache Shell-Scripte. Es sollen auch keine komplizierten Sachen ausgeführt werden. Weiß jemand wie man das ganze so umbaut, dass man den Winkel direkt bei Start des Script mit angeben kann, z. B.
Code:
python3 script.py 180
Grüße
FMS