使用 PCA9685 和 Raspberry Pi 控制伺服

Controlling Servo with PCA9685 and Raspberry Pi

我正在尝试通过连接到 raspberry pi 的 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)

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

问题是我的 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)