Sie sind auf Seite 1von 20

Sensor de

Temperatura
EDGAR IVAN ALVARADO LLANAS 15481039
¿Qué es un Sensor de
Temperatura?
Son dispositivos que transforman los cambios de
temperatura en cambios en señales eléctricas que son
procesados por equipo eléctrico o electrónico.
Hay tres tipos de sensores de temperatura, los termistores,
los RTD y los termopares.
El sensor de temperatura, típicamente suele estar formado
por el elemento sensor, de cualquiera de los tipos
anteriores, la vaina que lo envuelve y que está rellena de
un material muy conductor de la temperatura, para que
los cambios se transmitan rápidamente al elemento sensor
y del cable al que se conectarán el equipo electrónico.
Termistor
El termistor está basado en que el comportamiento de la
resistencia de los semiconductores es variable en función
de la temperatura.
Existen los termistores tipo NTC y los termistores tipo PTC. En
los primeros, al aumentar la temperatura, disminuye la
resistencia. En los PTC, al aumentar la temperatura,
aumenta la resistencia.
El principal problema de los termistores es que no son
lineales según la temperatura por lo que es necesario
aplicar fórmulas complejas para determinar la
temperatura según la corriente que circula y son
complicados de calibrar.
RTD (Resistance Temperature
Detector)
Un RTD es un sensor de temperatura basado en la
variación de la resistencia de un conductor con la
temperatura.
Los metales empleados normalmente como RTD son
platino, cobre, níquel y molibdeno.
De entre los anteriores, los sensores de platino son los más
comunes por tener mejor linealidad, más rapidez y mayor
margen de temperatura.
Termopar
El termopar, también llamado termocupla y que recibe este nombre
por estar formado por dos metales, es un instrumento de medida
cuyo principio de funcionamiento es el efecto termoeléctrico.
Un material termoeléctrico permite transformar directamente el
calor en electricidad, o bien generar frío cuando se le aplica una
corriente eléctrica.
El termopar genera una tensión que está en función de la
temperatura que se está aplicando al sensor. Midiendo con un
voltímetro la tensión generada, conoceremos la temperatura.
Los termopares tienen un amplio rango de medida, son económicos
y están muy extendidos en la industria. El principal inconveniente
estriba en su precisión, que es pequeña en comparación con
sensores de temperatura RTD o termistores.
Programación en Arduino
Para enviar los datos de temperatura a Java, Arduino debe ser programado para
cumplir con este propósito. Para este ejemplo en específico, se utilizará el sensor
DHT22, con el siguiente código:

1 #include <dht.h> //Se importa la librería


2 dht DHT; //Se crea una instancia de la clase DHT
3 #define DHT22_PIN 10 //Pin del sensor DHt22
4 void setup() {
5 Serial.begin(9600);
6 }
7
8 void loop() {
9 int chk = DHT.read22(DHT22_PIN); //Se lee el sensor
10 Serial.println(DHT.temperature, 1); //Se imprime la temperatura
11 Serial.println(DHT.humidity, 1); //Se imprime la humedad
12 delay(2000); //Pausa de dos segundos
13 }
El resultado de este código imprime datos de temperatura y humedad en el puerto serie.
Esto se puede comprobar entrando al Monitor Serie del Arduino IDE:

Arduino enviará pares de datos de forma constante, siempre y cuando el se mantenga


encendido.
Programación en Java

La programación en Java requiere la utilización de la


librería PanamaHitek_Arduino. Para ello es recomendado
la utilización de Maven como gestor de repositorios.
Maven se encuentra integrado de forma nativa en
Netbeans IDE, por lo que es muy fácil crear un proyecto y
agregar dependencias. Estas dependencias (o librerías) se
descargan e instalan automáticamente.
Una vez creado el proyecto Maven en Netbeans y luego de agregar
las dependencias de la librería PanamaHitek_Arduino 3.0.0, nuestra
ventana debe lucir así:
El archivo pom.xml en el que se especifican las dependencias de Maven debe
lucir así:
Ahora se agregar un JFrame a nuestro proyecto y en su interior vamos a colocar un
JPanel.
Dentro del código del JFrame (que se llama MainWindow) encontraremos el
método principal, justo donde aparece la instrucción initComponents(). Dentro
colocaremos el siguiente código:

PanamaHitek_ThermometerChart chart = new


2 PanamaHitek_ThermometerChart();
chart.insertToPanel(jPanel1);

El código en la ventana debe lucir mas o menos así:


Cuando se ejecuta este código, el resultado es el siguiente:

Como se observa, la creación del gráfico del termómetro es extremadamente


sencilla. Son apenas dos líneas de código las que nos permiten lograr este resultado.
También se pueden modificar ciertos aspectos asociados a la apariencia del
termómetro. Por ejemplo, en la siguiente imagen se muestran algunos métodos que
permiten cambiar aspectos como la escala y los colores.
Este código produce como resultado la siguiente ventana:

Las instrucciones mostradas son los principales elementos que se pueden modificar de
este tipo de gráfico. Si se desea modificar otros aspectos, como el color de fondo y el
tipo y tamaño de la letra, el método getChartObject() devolverá un objeto de la
clase JFreeChart con todos los elementos del gráfico contenidos en su interior.
Interacción del termómetro en
tiempo real
Para lograr que el termómetro responda a los datos del
sensor conectado al Arduino, existen dos métodos: uno
muy fácil y el que es un poco más complicado.
La forma fácil consiste en utilizar el
método createArduinoFollowUp que básicamente se
encarga de gestionar una conexión con Arduino a través
de RS-232 y recibir los datos. Funciona de la siguiente
manera:
Este código se encarga de actualizar el termómetro cada vez que
recibe un dato. La desventaja de este código es que el Arduino
solamente debe enviar un dato de temperatura a la vez, razón por la
cual habría que modificar el código en Arduino para que no envíe los
datos de temperatura. Con el modo followUp la
clase PanamaHitek_ThermometerChart simplemente se limita a recibir un
dato y a graficarlo. Es muy útil si lo que se desea es crear una aplicación
sencilla.

Si la aplicación es más compleja, se puede utilizar la


clase PanamaHitek_Multimessage para recibir varios mensajes a la vez y
discriminar lo que se quiere graficar.
Estas instrucciones permitirán discriminar lo que le llega al Arduino y
decidir que se desea insertar en el gráfico. En la declaración de
MultiMessage se especifica que se a a recibir datos de dos sensores
(humedad y temperatura). En la línea resaltada se especifica que el
sensor en el índice cero (temperatura; humedad está en el índice 1)
será transformado a Double e insertado en la gráfica (con setValue).
Los dos ejemplos, tanto el primero como el segundo se encuentran
disponibles en nuestro repositorio de Github.

Das könnte Ihnen auch gefallen