diff --git a/Readme.md b/Readme.md index 6983a70..11a5197 100644 --- a/Readme.md +++ b/Readme.md @@ -161,6 +161,26 @@ if(Serial.available()>0){ Se establece también un retardo de 100 milisegundos para repetir el ciclo. ## Código en Python +A continuación, se presenta una breve explicación acerca del funcionamiento del programa para la interfaz de usuario diseñada en Python: + +En primer lugar, se importan todas las librerías o módulos necesarios, previamente instalados, de no ser así ir a la sección de **Instalación de librerías de Python**. + +``` +from threading import Thread +import collections +import matplotlib.pyplot as plt #Gráficación de datos +import matplotlib.animation as animation #Animar la gráfica +import time #Delays +import serial #comunicación con el monitor serial de Arduino +from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg #Crear una figura para insertar en tkinter +import tkinter as tk #Para la interfaz +from matplotlib.lines import Line2D #Para hacer las líneas de las gráficas +``` + +Aquí se encuentran las funcionaes necesarias para: crear hilos con *threading*, hacer una colección o lista con los datos a graficar con *collections*, dibujar los datos en una gráfica animada con líneas 2D y visualizarla en la interfaz utilizando los módulos de la librería de *matplotlib*, establecer la comunicación serial con Arduino usando *serial*, el diseño de la interfaz se hace con el paquete *tkinter* y finalmente, se importa *time* para ocupar algunos retardos de tiempo. + +A continuación, el código dispone de una serie de funciones que son llamadas entre sí y se utilizan también en los distintos objetivos de la interfaz para mostrar la información recibida de Arduino y mantener la interacción con el usuario: + ![](http://gmarxcc.com:8088/MSP430/GUI-Heater-System/raw/branch/master/Esquematico%20Conexiones/Esquematico_Sistema_de_Calentamiento.png)