如何从Arduino向Python发送值,然后使用该值
||
我正在构建一个使用Python进行远程控制的机器人,以通过简单的GUI通过Internet发送控制消息。
GUI和控制系统使我的代码工作得很好,但是我陷入了困境。我正在尝试使用视差ping传感器来获取与Arduino Mega的对象信息的距离,并将该值发送到我的Python控制脚本以显示在远程GUI上。
我遇到的主要问题是如何将将使用已建立的COM端口与Arduino集成的Python代码,并发送一条消息以通知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。
没有找到相关结果
已邀请:
3 个回复
骇毖煽洁铂
当然,这会让您得到一个字符串,您可能希望将其转换为int或float以便在以后的计算中使用它(将int(ping_data)或float(ping_data)用于字符串或struct) .unpack,以防其字节序列需要先解压缩为合理的东西,但这完全取决于您如何表示传感器数据。
曝匿弄罚
黎喊病