直到脚本完成,Arduino才响应Raspberry Pi 3上pyserial发送的字节

时间:2019-09-09 04:11:49

标签: arduino raspberry-pi3 pyserial

我和一些朋友正在尝试使用Raspberry Pi 3建造自动驾驶汽车。我们已经收集了训练数据,并且神经网络可以在Pi上运行,但是我们用来控制电动机和转向的arduino并不是。工作。

我将其简化为只发送转弯命令和节流命令的脚本。代码运行大约需要32秒钟,并且直到脚本完成后汽车才能动弹。通过将串行监视器与Arduino IDE结合使用,我们可以发送命令,并且arduino将立即做出响应。命令的格式如下:t或s(油门或转向)+行驶编号(油门为90-120,转向为65-200)。例如,t120将使汽车处于满功率状态,而s125将使汽车的转向居中。

简化脚本:

if (window.matchMedia('screen and (max-width: 768px)').matches) {
   console.log('Screen is less then 768')
}

在Arduino上运行的代码:

from serial import Serial
from time import sleep
s = Serial('/dev/ttyUSB0', 9600, timeout=10)
s.rtscts = True
throt = "t100\n"
s.write(throt.encode("utf-8"))
steer = "s200\n"
s.write(steer.encode("utf-8"))
s.close()

在Raspberry Pi 3上运行,代码需要30秒钟才能执行。在此期间,Arduino接收指示灯亮起。代码完成后,指示灯将熄灭,汽车将根据命令开始行驶。

0 个答案:

没有答案