我正在研究一个Rubiks立方体解算器,它使用Arduino和马达来移动每个面。我使用的Python脚本每行编写一个move,然后是第一行,然后是第二行,依此类推
x = 0
with open(FILEPATH, "r") as f:
lines = f.readlines()
FileEnd = False
while FileEnd == False:
try:
ser.write(lines[x])
print lines[x]
x += 1
except serial.SerialException:
time.sleep(1)
except IndexError:
FileEnd = True
Arduino应该接收这个字符串,停止从序列中读取,相应地处理字符串中的内容,然后接受下一个字符串。在
^{pr2}$我面临两个问题:
1)Python脚本不停地发送每一个移动,而忽略了这一点序列结束()应该已经发生了
2)当我读串行监视器时,我看到了相同的一组看似随机的字符,它们在接收到来自Python脚本的输入时淹没整个监视器
请帮忙?:3个
我建议以G代码格式发送命令。在
有几个Arduino公司已经接受G代码并驱动多个电机。 这样你就不需要重新发明串行接收器、多个电机命令队列和多个电机软件驱动程序。在
我建议使用Grbl固件。它将在UNO上运行,并通过各种防护罩驱动步进电机。在
这样Python就可以根据需要发送并忽略G代码命令。在
我对做这种事有一点经验。 我认为pyserial在这种情况下可能会有所帮助http://pyserial.sourceforge.net/ 就串行监视器而言,我相信有一种方法可以在使用pyserial发送之前刷新数据。 有很多关于arduino和Pyserian的东西。在
相关问题 更多 >
编程相关推荐