使用 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)
我正在尝试通过连接到 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)