0

我正在尝试从连接到我的树莓派的 pca9685 控制 2 个伺服系统。我已经编写了可以使用我想要的键输入的代码,但是我只能使用一个键输入,然后在第一个键输入后我没有得到响应。关于如何解决这个问题的任何想法?

import time
import adafruit_servokit import ServoKit

kit = ServoKit(channels=8)
key = input()
angle = 0

while angle <= 100:
    if key == "a":
        kit.servo[0].angle = 100
        time.sleep(1)
    elif key = "aa":
        kit.servo[0].angle = 0
        time.sleep(1)
4

2 回答 2

2

我想问题在于键分配'a'和'aa',如果你可以用其他一些键输入更改'aa',我想它会起作用,因为当使用input()流时,它会处理流字符字符所以“aa”将等同于“a”+“a”,因此您面临这个问题

于 2020-05-27T04:46:23.787 回答
0

问题是我的 key = input() 在 while 循环之外。通过将它放在循环之外,它只被调用一次。

import time
import adafruit_servokit import ServoKit

kit = ServoKit(channels=8)
angle = 0

while angle <= 100:
    key = input()
    if key == "a":
        kit.servo[0].angle = 100
        time.sleep(1)
    elif key = "aa":
        kit.servo[0].angle = 0
        time.sleep(1)
于 2020-05-28T02:27:26.110 回答