Hallo,
ich habe bis jetzt ein Programm mit dem ich 10 LEDs über 10 GPIOs steuere. Also in der Geschwindigkeit 0,48 und blinken alle nacheinander.
Jetzt möchte ich einen Servo mit einfügen. Allerdings wenn ich 2 while Schleifen erstelle, wird die untere ausgeblendet.
Ich möchte also die LEDs ihre Runden laufen lassen und nebenbei einen Servo unabhängig voneinander bewegen.
Script für die LEDs (kurzer Ausschnitt):
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
#Richtung der GPIO-Pins festlegen (IN / OUT)
GPIO.setup(16, GPIO.OUT)
GPIO.setup(12, GPIO.OUT)
GPIO.setup(40, GPIO.OUT)
GPIO.setup(22, GPIO.OUT)
GPIO.setup(7, GPIO.OUT)
GPIO.setup(37, GPIO.OUT)
GPIO.setup(18, GPIO.OUT)
GPIO.setup(35, GPIO.OUT)
GPIO.setup(33, GPIO.OUT)
GPIO.setup(11, GPIO.OUT)
#unendliche Schleife
while True:
#Pin 15 HIGH Pegel
GPIO.output(12, True)
#eine halbe Sekunde warten
time.sleep(0.4800)
#Pin 26 LOW Pegel
GPIO.output(12, False)
#eine halbe Sekunde warten
time.sleep(0.00000001)
usw.
Script für den Servo:
import RPi.GPIO as GPIO
import time
servoPIN = 32
GPIO.setmode(GPIO.BOARD)
GPIO.setup(servoPIN, GPIO.OUT)
GPIO.setwarnings(False)
p = GPIO.PWM(servoPIN, 50) # GPIO 18 als PWM mit 50Hz
p.start(2.5) # Initialisierung
try:
while True:
p.ChangeDutyCycle(5)
time.sleep(0.48)
p.ChangeDutyCycle(7.5)
time.sleep(0.48)
p.ChangeDutyCycle(10)
time.sleep(0.48)
p.ChangeDutyCycle(12.5)
time.sleep(0.48)
p.ChangeDutyCycle(10)
time.sleep(0.48)
p.ChangeDutyCycle(7.5)
time.sleep(0.48)
except KeyboardInterrupt:
p.stop()
GPIO.cleanup()
Das beides möchte ich zusammenfügen, aber das der Servo unabhängig sich zu den LEDs bewegt.
Ich komme einfach nicht weiter. :s
Könnt ihr mir helfen?