Python 用PCA9685和Raspberry Pi控制伺服

Python 用PCA9685和Raspberry Pi控制伺服,python,raspberry-pi,pca,servo,thonny,Python,Raspberry Pi,Pca,Servo,Thonny,我试图控制2伺服从我的pca9685是连接到我的树莓pi。我已经编写了可以像我所希望的那样处理键输入的代码,但是我只能使用一个键输入,然后在第一个键输入之后就不会得到响应。你知道如何解决这个问题吗 import time import adafruit_servokit import ServoKit kit = ServoKit(channels=8) key = input() angle = 0 while angle <= 100: if key == "a":

我试图控制2伺服从我的pca9685是连接到我的树莓pi。我已经编写了可以像我所希望的那样处理键输入的代码,但是我只能使用一个键输入,然后在第一个键输入之后就不会得到响应。你知道如何解决这个问题吗

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)
导入时间
进口Adafru伺服套件进口伺服套件
套件=伺服套件(通道=8)
键=输入()
角度=0

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

我想问题在于密钥分配'a'和'aa',如果您可以用其他一些密钥输入更改'aa',我想它会起作用,因为在使用input()流时,它会逐个字符处理流字符,因此“aa”将等同于'a'+'a',因此,您将面临这个问题,问题是my 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)
导入时间
进口Adafru伺服套件进口伺服套件
套件=伺服套件(通道=8)
角度=0

while angle问题在于我的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)
导入时间
进口Adafru伺服套件进口伺服套件
套件=伺服套件(通道=8)
角度=0

虽然angle我猜问题出在键分配'a'和'aa'上,但如果您可以用其他一些键输入更改'aa',我猜它会起作用,因为在使用input()流时,它会逐个字符处理流,因此“aa”将等同于'a'+'a',因此您面临这个问题。我想问题在于密钥分配“a”和“aa”,如果您可以用其他一些密钥输入更改“aa”,我想它会起作用,因为在使用input()流时,它会逐个字符处理流,因此“aa”将相当于“a”+“a”,因此您面临这个问题。因此尝试使用密钥“q”而不是“aa”,在我第一次转动伺服后,我没有得到响应。你能试着记录角度值,看看有什么问题。因为角度可能不在范围内,所以尝试使用“q”键而不是“aa”键“在我第一次转动伺服后,我没有得到响应。你能试着记录角度值,看看有什么问题吗?”。因为角度可能不在范围内