In [1]:
import pyqtgraph as pg
from pyqtgraph.Qt import QtGui, QtCore
import time
import numpy as np
import sys
In [2]:
app = QtGui.QApplication(sys.argv)
pg.QtGui.QApplication.quitOnLastWindowClosed = True
win = pg.GraphicsWindow(title="Title")
colors=['r', 'g', 'b', 'c', 'm', 'y']
curves=[]r
In [3]:
rvis = win.addPlot(title="Luminosity")
rvis.setRange(yRange=(0,1))
for i in range(6):
curves.append(rvis.plot(pen=colors[i]))
In [4]:
# plots=[]
# for i in range(6):
# nplot=win.addPlot(title="Luminosity{0}".format(i) )
# win.nextRow()
# plots.append(nplot)
# curves.append(nplot.plot(pen=colors[i], fillLevel=True, fillBrush=colors[i]))
In [5]:
bufflen=200
buffs=[]
for i in range(6):
buffs.append(np.zeros(bufflen))
In [ ]:
import time
from pyfirmata import Arduino, util
import pyfirmata
board = Arduino('/dev/ttyACM0')
it = util.Iterator(board)
it.start()
for an in board.analog:
an.enable_reporting()
def readan(an):
return 1.0-an.read()
In [ ]:
while True:
pg.QtGui.QApplication.processEvents()
readings=map(readan, board.analog)
for i in range(6):
buffs[i] = np.roll(buffs[i], -1)
buffs[i][bufflen-1] = readings[i]
for i in range(6):
curves[i].setData(buffs[i])
# for c in curves:
# c.setData(np.random.randn(10))
time.sleep(.005)
In [ ]:
pg.QtGui.QApplication.processEvents()
for c in curves:
c.setData(np.random.randn(10))
In [ ]: