以下python代码是使用语音命令通过语音命令控制使用Raspberry Pi 3建造的遥控汽车的部分。但是,当我执行代码时,汽车不会按照用户给出的命令移动。汽车根本不动。
谁能告诉我我的代码出了什么问题?
我尝试以sudo模式运行代码,但仍然无法移动汽车。下面的代码包含在while True:循环中,该循环仅在用户说停止或退出时结束。我已经使用了Speech_recognition模块进行语音识别。
r = sr.Recognizer()
with sr.Microphone() as source:
print("Give a voice command like move forward")
audio = r.listen(source)
command = r.recognize_google(audio)
try:
print("Google Speech recognition thinks you said " + command)
print("Moving "+command)
except sr.UnknownValueError:
print("Google Speech Recognition could not understand audio")
if "stop" or "quit" in command:
stop()
exit(0)
if "left" in command:
print("Left")
left()
time.sleep(button_delay)
if "right" in command:
print("Right")
right()
time.sleep(button_delay)
if "forward" or "straight" in command:
print("Forward")
forward()
time.sleep(button_delay)
if "reverse" or "back" in command:
print("Reverse")
reverse()
time.sleep(button_delay)
stop()
当我们运行程序时,它应该接受语音命令,并检查是否存在if语句中提到的诸如向前,向左,向右等术语。如果存在,则应在if语句内执行该功能,该语句给出Raspberry Pi 3指令以相应地移动汽车的电动机。
例如,如果我们说前进。它检查命令中是否存在单词forward。并且由于它在那里执行了forward()函数,该函数告诉Raspberry Pi 3将连接到gpio端口的电机移动,从而导致RC Car前进。但这并没有前进。