【发布时间】:2018-03-18 22:23:57
【问题描述】:
目前正在建造由 raspberry pi 和 16 通道 adafruit 伺服控制器 Pi hat 控制的汽油动力遥控车。来自初学者的漂亮新手查询,但如何通过单次按键执行简单的 Python 命令。例如。按住键盘上的“w”键运行“pwm.setPWM(0, 0,servoMax)”。 (为了使舵机推动油门使车辆向前移动)。以下是目前使用的代码:
#!/usr/bin/python
from Adafruit_PWM_Servo_Driver import PWM
import time
pwm = PWM(0x40)
servoMin = 150
servoMax = 600
def setServoPulse(channel, pulse):
pulseLength = 1000000
pulseLength /= 60
print "%d us per period" % pulseLength
pulseLength /= 4096
print "%d us per bit" % pulseLength
pulse *= 1000
pulse /= pulseLength
pwm.setPWM(channel, 0, pulse)
pwm.setPWMFreq(60)
While (True):
pwm.setPWM(0, 0, servoMin) #throttle servo set to off position -should be default
pwm.setPWM(0, 0, servoMAX) #throttle servo set on -to be run by "W" key
pwm.setPWM(1, 0, servoMin) #steering servo left -by holding "A" key
pwm.setPWM(1, 0, servoMax) #steering servo right -by holding "D" key
我假设答案涉及 If 和 ElseIf 命令,但我真的只想运行一个程序,然后按 input() 键盘来运行代码。
【问题讨论】:
-
小心点。如果按下
w移动机器人并释放键停止它,那么如果机器人超出范围将永远保持移动。相信我,您将需要一个更复杂的系统,在该系统中,机器人 ping 计算机并在没有收到 ping 时激活安全停止。
标签: python raspberry-pi robot