使用AD8232和ADS1115不能进行ECG绘图

时间:2019-03-20 22:06:20

标签: python-3.x

我正在使用Raspberry pi 3B +和python 3.5.3。

我想在matplotlib屏幕上实时绘制心电图。我正在使用AD8232心率传感器和ADS1115模拟数字转换器。

开始绘图时,没有ECG信号形状,只有电压绘图。如何创建平滑的心电图图?

我做了如下的引脚配置:

ADS1115

VDD 3.3 V PIN1

GND GND PIN9

SCL SCL1 PIN5

SDA SDA1 PIN3

ADDR GND PIN9

ALRT

A0输出

AD8232

GND PIN9

3.3 V PIN1

输出A0 LO- LO + SDN

请帮助。

import matplotlib.pyplot as plt
import matplotlib.animation as animation
import time
import board
import busio
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn


x_len = 60        
y_range = [-5, 5]  

# Create figure for plotting
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
xs = list(range(0, 60))
ys = [0] * x_len
ax.set_ylim(y_range)


line, = ax.plot(xs, ys)


plt.title('ECG PLOTTING OVER TIME')
plt.xlabel('Time')
plt.ylabel('Voltage')


def animate(i, ys):
    i2c = busio.I2C(board.SCL, board.SDA,frequency=400000)
    ads = ADS.ADS1115(i2c,gain=2/3,data_rate=860)
    ads.data_rate=860
    chan = AnalogIn(ads, ADS.P0)



    ys.append(chan.voltage)


    ys = ys[-x_len:]


    line.set_ydata(ys)


    return line,

ani = animation.FuncAnimation(fig,animate,fargs=(ys,),interval=1,blit=True)
plt.show()

0 个答案:

没有答案