python控制arduino模拟端口_尝试在Python中绘制来自Arduino的实时串行端口数据

我是Python的新手,我正在尝试绘制一些数据,这些数据是从通过USB连接到串行端口的Arduino获取的。我有一个热敏电阻连接到Arduino,想绘制一个采样温度的历史记录。所以,一个在x轴上不断扩展的图形,在y轴上不断添加新的温度值。在

然而,当我运行这段代码时,我得到一个空白图,它不会做任何其他事情。我怀疑我的问题是没有真正理解FuncAnimation。下面是我的代码。在import serial

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.animation as animation

ser = serial.Serial()

ser.baudrate = 38400

ser.port = 'COM4'

ser.open()

fig, ax = plt.subplots()

line, = ax.plot([])

i = 0

def init():

xdata = []

ydata = []

line.set_data(xdata, ydata)

return line,

def update_data(i)

newpoint = float(ser.readline())

oldxdata, oldydata = line.get_data()

newydata = np.append(oldydata,newpoint)

newxdata = np.append(oldxdata, i)

line.set_data(newxdata, newydata)

i = i + 1

return line,

ani = animation.FuncAnimation(fig, update_data, init_func = init, fargs=i)

plt.show()

我要注意的是,在我运行程序并关闭所有程序后,行。获取数据返回温度点的集合。所以,串行端口正常工作,我只是没有正确地绘制它。谢谢您。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值