Mport matplotlib
Enviado por JEYCOV BUSTOS • 27 de Agosto de 2022 • Biografía • 1.457 Palabras (6 Páginas) • 190 Visitas
mport matplotlib
matplotlib.use("TkAgg")
from matplotlib.backends.backend_tkagg import (FigureCanvasTkAgg, NavigationToolbar2Tk)
from matplotlib.figure import Figure
import matplotlib.animation as animation
from matplotlib import style
import math
import serial, time
from tkinter import * #importa todos los métodos de tkinter para que puedan ser usados directamente (i.e, sin usar tk.método)
# import tkinter as tk
from tkinter import ttk
#########################################################################
# Algunas variables para parametrizar algunas características de estilo #
#########################################################################
LARGE_FONT= ("Verdana", 12)
style.use("ggplot")
t=0
y=0
pullData=open("demofile2.txt", "w")
pullData.close()
######################################
# Creación del frame para la gráfica #
######################################
f = Figure(figsize=(5,5), dpi=100)
a = f.add_subplot(111)
tiempo_ms=1
flagConnect=0
ts=2
arduino=[]
##############################
# Función para los callbacks #
##############################
def send_data():#capturando y manipulando la funcion
nombrecompleto_info = nombrecompleto.get()#con el metodo get recuperamos los datos
enfermedad_info = enfermedad.get()
# saturacion_info = str(saturacion.get())
edad_info = str(edad.get())
print(nombrecompleto_info,"\t", enfermedad_info,"\t", edad_info)
# Open and write data to a file
file = open("usuario.txt", "a")
#la sentencia open para crear un archivo y escribir W(write para escribir en el archivo) o A(append agrega la informacion al fianl de lo que ya esxisitia ene l archivo )
file.write(nombrecompleto_info)
file.write("\t")
file.write(enfermedad_info)
file.write("\t") #para darle orden agregamos una tabulacion
# file.write(saturacion_info)
file.write("\t")
file.write(edad_info)
file.write("\t\n") #tabula y agrega una nueva linea
file.close()
print(" Nuevo Paciente Reistrado. Nombre: {} | Enfermedad: {} ".format(nombrecompleto_info, enfermedad_info))
# Delete data from previous event
nombrecompleto_entry.delete(0, END) #limpiar los datos despues de ejecutarce la anterior desde el 0 hasta el final cuando se envia la info
enfermedad_entry.delete(0, END)
# saturacion_entry.delete(0, END)
edad_entry.delete(0, END)
# Create new instance - Class Tk()
mywindow = Tk()
mywindow.geometry("650x550") #Tamaño de la ventana ancho * alto XD
mywindow.title("Registro Datos Pulsioximetro")
mywindow.resizable(False,False)# donde esta ventana no se cambie de tamaño
mywindow.config(background = "#213141")#color de fondo
main_title = Label(text = "Registro Paciente", font = ("Cambria", 14), bg = "#56CD63", fg = "black", width = "500", height = "2")#titulo principal de la app
main_title.pack()
# Define Label Fields
nombrecompleto_label = Label(text = "Nombre", bg = "#FFEEDD")#FFEEDD color
nombrecompleto_label.place(x = 22, y = 70)#cada 60 place para posicionar
enfermedad_label = Label(text = "Enfermedad", bg = "#FFEEDD")
enfermedad_label.place(x = 22, y = 130)
edad_label = Label(text = "Edad", bg = "#FFEEDD")
edad_label.place(x = 22, y = 190)
saturacion_label = Label(text = "saturacion ", bg = "#FFEEDD")
saturacion_label.place(x = 58, y = 250)#Lectura Roja:
saturacion_label = Label(text = "Sp02 :" ,bg = "#FFEEDD")
saturacion_label.place(x = 22, y = 250)
saturacion_label = Label(text = "pulso", bg = "#FFEEDD")
saturacion_label.place(x = 50, y = 280)#Lectura Roja:
saturacion_label = Label(text = "HR :" ,bg = "#FFEEDD")
saturacion_label.place(x = 22, y = 280)
# Get and store data from users(capturamos los datos del usuario)
nombrecompleto = StringVar() #guardamos los datos en una variable
enfermedad = StringVar()
edad = StringVar()
#saturacion = StringVar()
#entrada de datos
nombrecompleto_entry = Entry(textvariable = nombrecompleto, width = "40")#textvariable para asociar cone l campo de datos
enfermedad_entry = Entry(textvariable = enfermedad, width = "40")
edad_entry = Entry(textvariable = edad, width = "40")
#saturacion_entry = Entry(textvariable = saturacion_label, width = "40")
nombrecompleto_entry.place(x = 22, y = 100)
enfermedad_entry.place(x = 22, y = 160)
edad_entry.place(x = 22, y = 220)
#saturacion_entry.place(x = 22, y = 280)
# Submit Button
submit_btn = Button(mywindow,text = "Guardar Archivo", width = "30", height = "2", command = send_data, bg = "#00CD63")#la sentncia command nos auyda a guardar el dato
submit_btn.place(x = 22, y = 320)
mywindow.mainloop()
def callbackButtonConnect():
global arduino, flagConnect
flagConnect=1
baudios=int(selBaud.get())
puertoCom=selComPort.get()
try:
arduino=serial.Serial(puertoCom, baudios,timeout=1)
time.sleep(ts) #el arduino nano requiere mínimo 2 segundos para estabilizar la conexión, UNO y MEGA estbilizan conexión más ráido
except:
...