我正在构建一个使用 Python 进行远程控制的机器人,通过简单的 GUI 通过互联网发送控制消息。
我的部分代码(GUI 和控制系统)运行得很好,但我陷入了困境。我正在尝试使用视差平传感器来获取与物体的距离信息Arduino Mega http://arduino.cc/en/Main/ArduinoBoardMega,并将该值发送到我的 Python 控制脚本以显示在远程 GUI 上。
我遇到的主要问题是如何将Python代码集成到Arduino中,该代码将使用已经建立的COM端口并发送消息告诉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。