Hallo Kampi,
versuchs mal damit:
Code:
import RPi.GPIO as GPIO
import time
import signal
import os
from pizypwm import *
def endProcess(signalnum = None, handler = None):
servo.stop()
GPIO.cleanup()
exit(0)
signal.signal(signal.SIGTERM, endProcess)
signal.signal(signal.SIGINT, endProcess)
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(26, GPIO.OUT)
while True:
Servo = PiZyPwm(50, 26, GPIO.BOARD)
user_input = raw_input("Bitte treffen Sie Ihre Wahl: ")
if(user_input == "l"):
Servo.start(5)
print "Drehung nach Links"
time.sleep(1)
Servo.stop()
GPIO.cleanup()
elif(user_input == "m"):
Servo.start(8)
print "Drehung in die Mitte"
time.sleep(1)
Servo.stop()
GPIO.cleanup()
elif(user_input == "r"):
Servo.start(11)
print "Drehung nach Rechts"
time.sleep(1)
Servo.stop()
GPIO.cleanup()
elif(user_input == "q"):
print "Programm wird beendet......"
os._exit(1)
Servo.stop()
GPIO.cleanup()
else:
print "Ungueltige Eingabe!"
Du musst allerdings PIN 26 (BOARD) verwenden.
- - - Aktualisiert - - -
Halt, Stop - ich habs:
Code:
import RPi.GPIO as GPIO
import time
import signal
import os
from pizypwm import *
def endProcess(signalnum = None, handler = None):
servo.stop()
GPIO.cleanup()
exit(0)
signal.signal(signal.SIGTERM, endProcess)
signal.signal(signal.SIGINT, endProcess)
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(26, GPIO.OUT)
while True:
Servo = PiZyPwm(500, 26, GPIO.BOARD)
user_input = raw_input("Bitte treffen Sie Ihre Wahl: ")
if(user_input == "l"):
Servo.start(95)
print "Drehung nach Links"
time.sleep(1)
Servo.stop()
GPIO.cleanup()
elif(user_input == "m"):
Servo.start(50)
print "Drehung in die Mitte"
time.sleep(1)
Servo.stop()
GPIO.cleanup()
elif(user_input == "r"):
Servo.start(5)
print "Drehung nach Rechts"
time.sleep(1)
Servo.stop()
GPIO.cleanup()
elif(user_input == "q"):
print "Programm wird beendet......"
os._exit(1)
Servo.stop()
GPIO.cleanup()
else:
print "Ungueltige Eingabe!"
Ich weiss zwar nicht genau warum, aber so gehts
Lesezeichen