Browse Source

Actualizaciones finales de la Documentación

master
parent
commit
70a18f22fa
1 changed files with 12 additions and 2 deletions
  1. +12
    -2
      Readme.md

+ 12
- 2
Readme.md View File

@ -274,7 +274,7 @@ Ahora, la siguiente función `iniciarGrafica` es la que se va a encargar de graf
``` ```
def iniciarGrafica(self, muestras,lines): def iniciarGrafica(self, muestras,lines):
global dato global dato
lines[0].set_data(range(muestras), data[0]) #Se grafica en la línea la colección de datos
lines[0].set_data(range(muestras), data[0])
lines[1].set_data(range(muestras), data[1]) lines[1].set_data(range(muestras), data[1])
``` ```
@ -382,7 +382,7 @@ for i in range(numData):
`muestras` indica la cantidad de datos que se van a almacenar y visualizar, se crea una lista para guardar las lecturas de temperatura de los sensores y, de igual manera, `lines` que son las líneas 2D de cada figura para graficar los datos. `muestras` indica la cantidad de datos que se van a almacenar y visualizar, se crea una lista para guardar las lecturas de temperatura de los sensores y, de igual manera, `lines` que son las líneas 2D de cada figura para graficar los datos.
Con las siguiente instrucciones se crea una nueva figura donde se van a visualizar las gráficar en la interfaz, posteriormente se agregan los respectivos subplots `ax1` para el sensor 1 y `ax2` para el sensor 2; en este caso se indica que se van a distribuir en la pantalla con un tamaño de 2 filas por 1 columna y se establecen sus límites de `xlim` indicando de 0 a 100 muestras y `ylim` para ver un rango de 0 a 150°C; también se le incorpora un título a cada subplot y etiquetas a los ejes; finalmente, y muy importante, indicar la línea que va a graficarse en cada subplot:
Con las siguiente instrucciones se crea una nueva figura donde se van a visualizar las gráficas en la interfaz, posteriormente se agregan los respectivos subplots `ax1` para el sensor 1 y `ax2` para el sensor 2; en este caso se establece que se van a distribuir en la pantalla con un tamaño de 2 filas por 1 columna y se establecen sus límites de `xlim` indicando de 0 a 100 muestras y `ylim` para ver un rango de 0 a 150°C; también se le incorpora un título a cada subplot y etiquetas a los ejes; finalmente, y muy importante, indicar la línea que va a graficarse en cada subplot:
``` ```
fig = plt.figure(facecolor = '0.94') #creación de la gráfica (figura) fig = plt.figure(facecolor = '0.94') #creación de la gráfica (figura)
@ -456,6 +456,16 @@ barraMenu.add_cascade(label="Archivo", menu=barra1)
root.config(menu=barraMenu) root.config(menu=barraMenu)
``` ```
`root` es el objeto que representa la ventana de la interfaz, esta es la base o el lienzo donde se van a acomodar todos los componentes a visualizar; `var` y `var2` son textos variable que almacenan el valor de la temperatura de ambos sensores según este cambie; `frame`, `frame0`, `frame1`y `frame2` son secciones o espacios para distribuir de una manera más sencilla y limpia las etiquetas, botones y gráficas; se declara la variale `canvas` para poder visualizar con tkinter las gráficas en la interfaz; al presionar los botones `btnManual` y `btnManual2` hacen llamar a las funciones de control1 y control2 anteriormente descritas; el botón `btnConectar` sirve para iniciar la comunicación con Arduino, llama a conectar_serial; mientras que `btnDesconectar` finaliza la conexión; los botones de `btnStart`, `btnPause` y `btnResume` se utilizan para iniciar, pausar y continuar la graficación de datos, haciendo la llamada a las funciones iniciar_hilo, pausar y reanudar, respectivamente; las etiquetas `labelData` y `labelData2` muestran el valor que contienen las variables `var` y `var2`; finalmente, en `barraMenu` se incluye un menú Archivo para disponer de la opción de guardar la gráfica en la carpeta donde se encuentra el programa.
Por último, con el módulo de `animation` se lleva a cabo la actualización continua de la gráfica, para ello se le dan de argumentos la figura declarada, la función de `inicarGrafica` ya descrita, los argumentos de esta función que son el número de muestras y las líneas 2D a graficar, el tiempo de muestro y, finalmente, cache_frame_data controla si los datos del frame se almacenan en caché, el valor predeterminado es Verdadero, deshabilitar el caché puede ser útil cuando los frames contienen objetos grandes, hacer esto es opcional comúnmente en Windows pero suele ser necesario en Linux en caso de algún error. Con esto, ya es posible ejecutar la ventana `root` con la función de mainloop de tkinter.
```
anim = animation.FuncAnimation(fig, iniciarGrafica, fargs=(muestras, lines), interval = tiempoMuestreo, cache_frame_data=False)
root.geometry('1000x600')
root.mainloop()
```
![](http://gmarxcc.com:8088/MSP430/GUI-Heater-System/raw/branch/master/Esquematico%20Conexiones/Esquematico_Sistema_de_Calentamiento.png) ![](http://gmarxcc.com:8088/MSP430/GUI-Heater-System/raw/branch/master/Esquematico%20Conexiones/Esquematico_Sistema_de_Calentamiento.png)

Loading…
Cancel
Save