Heating system interface for communication with Arduino and data graphing
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
David Bailón Bustos 2880b44f3f Actualizar 'Readme.md' 1 year ago
EsquematicoConexiones Subir archivos a 'EsquematicoConexiones' 1 year ago
lecturaArduino Actualización de lectura para 2 sensores 1 year ago
GUI.py Actualización de interfaz para graficar 2 sensores 1 year ago
Readme.md Actualizar 'Readme.md' 1 year ago

Readme.md

Sistema de Control de Temperatura

El Sistema de Control de Temperatura es un diseño basado en la recopilación de datos de la temperatura de dos transistores a partir de sensores que permiten medir esta variable y utilizando Arduino UNO como microcontrolador. Con la ayuda de pasta térmica, la energía del transistor al calentarse es transferida por conducción y convección al sensor de temperatura. Además, este proyecto dispone de una interfaz desarrollada en Python para visualizar la información y monitorear el estado de los dispositivos.

Funcionamiento Básico

La información acerca de la temperatura registrada por el termistor es reunida por el microcontrolador para posteriormente ser enviada a través de comunicación serial a una computadora; mediante el código desarrollado y cargado al Arduino UNO, el monitor serial del software Arduino recibe estos datos, los cuales inmediatamente son expedidos al programa diseñado en Python para mostrar en una interfaz los resultados obtenidos en tiempo real tanto de manera numérica como gráfica, además de permitir controlar el encendido y apagado de los transistores.

Programas Requeridos

En primer lugar se tiene que disponer del software de Arduino para poder comunicarse con el microcontrolador, cargar el programa en el mismo y recibir la información en el monitor serial. Para la descarga e instalación se recomienda seguir los pasos especificados en los siguientes enlaces:

Para Windows:

Para Ubuntu:

De igual manera, se requiere del IDE de python para poder ejecutar el código de la interfaz que mostrará la información enviada a través de Arduino. Para la descarga e instalación se recomienda seguir los pasos especificados en los siguientes enlaces:

Para Windows:

Para Ubuntu:

Nota: es importante mencionar que los anteriores tutoriales de las páginas web recomendadas no son de nuestra autoría.

Cargar y ejecutar los Programas

Primeramente se debe cargar el programa a la tarjeta de Arduino UNO, para ello hay que seguir las siguientes instrucciones:

  1. Conectar la tarjeta Arduino.

La placa de desarrollo debe de ser conectada a la computadora al puerto USB. El LED de encendio de la placa debería de iluminarse.

  1. Ejecutar el IDE de Arduino

Ir al escritorio o buscar la aplicación de Arduino.

  1. Abrir el archivo correspondiente

Para ello únicamente hay que ir al menú Archivo > Abrir > Buscar el archivo lecturaArduino

  1. Cargar el programa en la tarjeta

Es necesario indicar el dispositivo con el que se está trabajando, en Herramientas > Placas > Seleccionar Arduino Uno

También el puerto en el que se encuentra conectada la placa, en Herramientas > Puerto > Seleccionar el puerto adecuado

Ahora simplemente hay que dar click en subir

A continuación, ya es posible ejecutar el código de Python para disponer de la interfaz para entablar la comunicación y comenzar a recibir los datos de Arduino.

Instalación de librerías de Python

Es altamente probable que, la primera vez que se ejecute el programa en el sistema operativo del usuario, se muestren ciertos errores debido a la ausencia de algunas librería que se importan en el programa necesarias para la ejecución del mismo y sus funciones. Por lo que, si este es el caso deben instalarse todos los módulos faltantes; antes es preciso verificar algunas cuestiones como:

  • Versión de Python del sistema

Para conocer cuál es la versión de python que tenemos instalada solo hace falta escribir en la terminal la siguiente instrucción:

python --version

Es probable que sea alguna de las versiones de python3 (no importa cual), si no es así es recomendable llevar a cabo esta actualización puesto que algunas librerías suelen no ser compatibles entre la versión 2 y 3 de Python.

  • Orden pip instalada

Una vez realizado esto, hay que comprobar también si se encuentra instalado el paquete pip, este es un sistema de gestión de paquetes utilizado para instalar y administrar paquetes de software escritos en Python. Para ello escribimos en la terminal:

pip list

Si el resultado es un error, advertencia o mensaje de que no se ha encontrado la orden especificada, hay que ejecutar en la terminal la instrucción y esperar a que finalice la instalación:

sudo apt install python3-pip

Si ya se dispone de este paquete, ya se puede comenzar con la instalación de las librerías.

Algunas de los posibles errores emitidos por Python al ejecutar el programa acerca de los módulos ausentes son:

  • No module named 'matplotlib'

Para su instalación se ejecutar la siguiente línea en la terminal:

pip install matplotlib

  • No module named 'serial'

Para su instalación se ejecutar la siguiente línea en la terminal:

pip install serial

No module named 'Tkinter'

Para su instalación se ejecutar la siguiente línea en la terminal:

pip install tkinter

cannot import name 'imageTk' from 'PIL'

Este error es un poco distinto y suele ser por problemas de compatibilidad con el paquete pillow, se puede solucionar ejecutando la siguiente instrucción en la terminal:

sudo apt-get install python3-pil python3-pil.imagetk

Notas: es posible que al usar otro IDE de Python no se requiera solucionar estos errores por que los módulos ya vienen instalados con el programa; también puede que, si ocurren estos errores, el procedimiento de instalación de los módulos sea diferente al trabajar en un entorno distinto; además, si es el caso de que falta algún otro módulo de librería solo hay que ejecutar la instalación del mismo con la instrucción "pip install"; información adicional sobre otro tipo de errores no mencionados aquí se puede encontrar en diversas páginas web