2017-02-03 8 views
0

ここで私が働いているコードです。これはステッピングモーターを回転させることですが、毎回コードを通過するたびに停止します。コードをもう一度やり直すことができますか?毎回このプログラムに戻るように、このプログラムのループを作成するにはどうすればよいですか?

import RPi.GPIO as GPIO, time 

GPIO.setmode(GPIO.BOARD) 
GPIO.setup(16, GPIO.OUT) 
GPIO.setup(18, GPIO.OUT) 
p = GPIO.PWM(16, 500) 


def SpinMotor(direction, num_steps): 
    GPIO.output(18, direction) 
    while num_steps > 0: 
     p.start(1) 
     time.sleep(0.01) 
     num_steps -= 1 
    p.stop() 
    GPIO.cleanup() 
    return True 

direction_input = raw_input('Please enter O or C for Open or Close') 
num_steps = input('Please enter the number of steps:') 
if direction_input == 'O': 
    SpinMotor(True, num_steps) 

else: 
    SpinMotor(False, num_steps) 
+0

'真しばらく:'? – bouletta

答えて

0

次のようなループを作成することができます

while True: 
    direction_input = raw_input('Please enter O or C for Open or Close. Q to quit.') 
    if direction_input == 'Q': 
     break 
    num_steps = input('Please enter the number of steps:') 
    if direction_input == 'O': 
     SpinMotor(True, num_steps) 

    else: 
     SpinMotor(False, num_steps) 
関連する問題