import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib import style
from datetime import datetime
import serial
import time
style.use('ggplot')
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
porta ='com7'
baud_rate =9600
opçao = input("Iniciar verificação de temperatura ? S ou N ")if opçao =="S":
tempo = int(input("Informe o intervalo entre cada leitura: "))
objeto_porta = serial.Serial(porta, baud_rate)
objeto_porta.flushInput()
arquivo = open("LOG.txt","a+")whileTrue:# Cria o objeto_hoje, pega os valores de# dia, mes, ano e horario, converte para string
objeto_hoje = datetime.today()
dia = str(objeto_hoje.day)
mes = str(objeto_hoje.month)
ano = str(objeto_hoje.year)
horario = str(objeto_hoje.strftime("%X"))# Le os valores passados pelo arduino
temperatura = str(objeto_porta.readline())
arquivo.write(horario)
arquivo.write(" ")
arquivo.write(temperatura)
arquivo.write("\n")def animate(i):
arquivo = open("LOG.txt","r").readline()
lines = arquivo.split("\r\n")
x =[]
y =[]for line in lines:
X, Y = line.split(" ")
x.append(X)
y.append(Y)
ax1.clear()
ax1.plot(x, y)
ani= animation.FuncAnimation(fig, animate, interval=tempo*1000)
plt.show()else:print("Saindo...")
Olá, sou iniciante e estou desenvolvendo um sistema de controle de temperatura visual para um trabalho escolar, porem me deparei com o seguinte inconveniente
Para gerar os gráficos estou usando a blibioteca matplotlib e para os dados lidos pelo sensor de temperatura eu utilizo um simples arquivo txt, como um log. Ou seja o conceito do projeto é
Ler dados do sesor -> armazenar -> plottar o grafico. devido ao meu log funcionar dentro de um WHILE ao chegar no comando que chama o pyplot, plt.show(), ele não retorna ao inicio do loop dessa forma só a primeira leitura do sensor é armazenada e plottada
Gostaria muito de ajuda pois sou um estudante por conta propria e não consigo visualizar a solucao para este problema
Pergunta
Alexandre Stoiev
Olá, sou iniciante e estou desenvolvendo um sistema de controle de temperatura visual para um trabalho escolar, porem me deparei com o seguinte inconveniente
Para gerar os gráficos estou usando a blibioteca matplotlib e para os dados lidos pelo sensor de temperatura eu utilizo um simples arquivo txt, como um log. Ou seja o conceito do projeto é
Ler dados do sesor -> armazenar -> plottar o grafico. devido ao meu log funcionar dentro de um WHILE ao chegar no comando que chama o pyplot, plt.show(), ele não retorna ao inicio do loop dessa forma só a primeira leitura do sensor é armazenada e plottada
Gostaria muito de ajuda pois sou um estudante por conta propria e não consigo visualizar a solucao para este problema
Editado por Alexandre StoievLink para o comentário
Compartilhar em outros sites
21 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.