Commit 42b90003 authored by Alisson Claudino's avatar Alisson Claudino

ADD: Comentários

parent 18fc35a7
from pyqtgraph.Qt import QtGui, QtCore from pyqtgraph.Qt import QtGui, QtCore #importação de classes
import pyqtgraph as pg import pyqtgraph as pg
import time
import numpy as np
import serial import serial
import time
ser = serial.Serial('/dev/ttyUSB0', 115200) #Inicialização da Serial com baudrate 115200bps
ser.setDTR(False) #Reset do arduino para reinicio da leitura
time.sleep(0.022)
ser.setDTR(True)
ser.readline() #Primeiro valor da serial sai com lixo
ser=serial.Serial('/dev/ttyUSB0',115200)
app = QtGui.QApplication([]) app = QtGui.QApplication([])
win = pg.GraphicsWindow() win = pg.GraphicsWindow()
p1 = win.addPlot() p1 = win.addPlot()
curve1 = p1.plot() curve1 = p1.plot()
y1=[] y1 = [] #Inicialização da lista dinâmica dos valores de y
x1=[] x1 = [] #Inicialização da lista dinâmica dos valores de x
indx = 0
x_max = 50 #Variável que define o tamanho do eixo
indx = 0 #Variável auxiliar de contagem
def update():
global curve1, indx, y1,x1 def update(): #Método para atualizar os arrays com valores de x, y e atualizar o gráfico
while (ser.inWaiting() == 0): global curve1, indx, y1, x1, ser #Dá acesso das variáveis globais à função
while (ser.inWaiting() == 0): #Aguarda a serial liberar dado
pass pass
readData= float(ser.readline()) readData = float(ser.readline()) #Lê o dado da serial
y1.append(readData) y1.append(readData) #Armazena o dado na lista do eixo y
print(readData) indx += 1 #Adiciona um na variavel auxiliar
indx+=1 if len(y1) > x_max-1: #Verifica se foi excedido o tamanho máximo do eixo x para o array
if len(y1)>99: del y1[0] #Caso sim, libera o valor da primeira posição para manter o array, e consequentemente o gráfico, com escala constante
del y1[0] indx = x_max #impede indx de divergir
indx=100
else: else:
x1.append(indx) x1.append(indx) #Vai adicionando valores de 0 a x_max no eixo x até que a lista x lote e tenha mesmo tamanho da lista y
curve1.setData(x1,y1)
p1.setXRange(0, 100, padding=0)
p1.setYRange(0,1023,padding=0)
app.processEvents()
timer = QtCore.QTimer() curve1.setData(x1, y1) #Atualiza os dados da curva
timer.timeout.connect(update) p1.setYRange(0, 1023, padding=0) #Define os limites do gráfico
timer.start(0) p1.setXRange(0, max_x, padding=0)
app.processEvents() #
timer = QtCore.QTimer() #
timer.timeout.connect(update) #
timer.start(0) #
if __name__ == '__main__': if __name__ == '__main__': #
import sys import sys
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_'): if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_'): #
QtGui.QApplication.instance().exec_() QtGui.QApplication.instance().exec_() #
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment