我正在构建一个使用 Python 远程控制的机器人,以通过一个简单的 GUI 通过 Internet 发送控制消息。
我的部分代码运行良好,GUI 和控制系统,但我被卡住了。我正在尝试使用视差 ping 传感器从Arduino Mega获取到对象的距离信息,并将该值发送到我的 Python 控制脚本以显示在远程 GUI 上。
我遇到的主要问题是如何将使用已经建立的 COM 端口的 Python 代码与 Arduino 集成,并发送一条消息告诉 Arduino 轮询 ping 传感器,然后发送到将接收该值的 Python 程序,然后让我将该值插入到我的 GUI 中。
我已经有了控制 Arduino 的代码,它可以通过我的简单 GUI 工作。
import serial
ser = serial.Serial('/dev/ttyUSB0', 9600)
from PythonCard import model
class MainWindow(model.Background):
def on_SpdBtn_mouseClick(self, event):
spd = self.components.SpdSpin.value
def on_FBtn_mouseClick(self, event):
spd = self.components.SpdSpin.value
ser.write('@')
ser.write('F')
ser.write(chr(spd))
def on_BBtn_mouseClick(self, event):
spd = self.components.SpdSpin.value
ser.write('@')
ser.write('B')
ser.write(chr(spd))
def on_LBtn_mouseClick(self, event):
spd = self.components.SpdSpin.value
ser.write('@')
ser.write('L')
ser.write(chr(spd))
def on_RBtn_mouseClick(self, event):
spd = self.components.SpdSpin.value
ser.write('@')
ser.write('R')
ser.write(chr(spd))
def on_SBtn_mouseClick(self, event):
spd = self.components.SpdSpin.value
ser.write('@')
ser.write('S')
ser.write('0')
def on_PngDisBtn_mouseClick(self, event):
ser.write('~')
ser.write('P1')
ser.write('p2')
app = model.Application(MainWindow)
app.MainLoop()
我真正想做的是改进上面的代码并添加一个按钮来单击以告诉 Python 向 Arduino 发送消息以检查 ping 传感器并返回值。我非常熟悉 Arduino 代码,但我在过去两周才开始使用 Python。