我正在处理raspi3B +和python 2.7。
我正在使用AD8232心率传感器和MCP3008模数转换器。
我正在对来自MCP3008的每500个样本进行实时绘图。
x轴上显示的样本数保持不变。
如何将x轴从样本转换为时间?
import matplotlib.pyplot as plt
import numpy as np
import spidev, time
import RPi.GPIO as GPIO
import numpy as np
from scipy import signal
spi = spidev.SpiDev()
spi.open(0,0)
fig = plt.figure('ECG PLOTTING')
ax = fig.add_subplot(111)
x=np.arange(500)
y = np.zeros((500,))
li, = ax.plot(x,y)
plt.ylim([0,0.1])
plt.title('Real-Time ECG Plotting')
plt.xlabel('Sample')
plt.ylabel('Voltage')
plt.show(block=False)
# read adc function
def analog_read(channel):
spi.max_speed_hz=1350000
r = spi.xfer2([1,(8+channel)<<4,0])
adc_out = ((r[1]&3) << 8) + r[2]
return adc_out
def St():
ylist = []
for _ in range(500):
reading = analog_read(0)
voltage = reading * 3.3 / 4096
time.sleep(0.005)
ylist.append(voltage)
return np.array(ylist)
while True:
y=St()
li.set_ydata(y)
fig.canvas.draw()