Introduction: Mostrar Temperatura En Display Con Termistor Y Arduino

En este tutorial aprenderas a mostrar la temperatura de un termistor en un Display LCD utilizando Arduino.

Materiales:

Step 1: Conecta El Sensor De Temperatura

Para conectar el termistor necesitaremos realizar un arreglo pull-down con la resistencia de 10K (vea la imagen). Es importante que la resistencia sea de 10K ya que la conversión del valor análogo a grados Kelvin, Celsius y Fahrenheit se basa en el valor de esta resistencia. El termistor ira conectado a 5V

Step 2: Conecta El Display LCD

En este caso utilizamos un Display LCD 16x2 con un Modulo Serial I2C, el cual nos facilita mucho la conexión. Puedes encontrar el Modulo Serial aquí. Utilizando 4 jumpers macho-hembra conectas tu modulo serial a la placa Arduino, recuerda descargar la librería para el módulo I2C. Si no sabes como utilizar el Modulo Serial con tu Display da click aquí.

  • VCC: 5v
  • GND: GND
  • SCL: SCL Arduino (varía dependiendo de la placa y versión)
  • SDA: SDA Arduino (varía dependiendo de la placa y versión)

Step 3: Código

En el ejemplo siguiente se muestra un código para convertir el valor análogo a grados Kelvin y de ahí a grados Celsius. La lecturas se muestran en el Display LCD con un intervalo de 2.5 segundos. Recuerda descargar la librería para el Modulo Serial I2C aquí.

/*Sensor de Temperatura contra agua NTC 10K en Display LCD<br>Instrucciones:
El sensor para temperatura contra agua NTC 10k es un thermistor con dos salidas
que requieren de una configuracion pull down. Conecte una terminal del sensor a Vcc 
y la otra utilizando resistencia pull down a tierra y al pin análogo 2.
*/
#include <Wire.h>                  
#include <LiquidCrystal_I2C.h>   
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
#include <math.h> 
          
void setup() {
lcd.begin(16,2);// Indicamos medidas de LCD 
} 
double Thermister(int RawADC) {
double Temp;
Temp = log(((10240000/RawADC) - 10000));
Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
Temp = Temp - 273.15;// Converierte de Kelvin a Celsius              
//Para convertir Celsius a Farenheith escriba en esta linea: Temp = (Temp * 9.0)/ 5.0 + 32.0; 
return Temp;
} 
void loop() {             
int val;//Crea una variable entera                
double temp;//Variable de temperatura = temp            
val=analogRead(0);//Lee el valor del pin analogo 2 y lo mantiene como val      
temp=Thermister(val);//Realiza la conversión del valor analogo a grados Celsius   
lcd.clear();//Elimina todos los simbolos del LCD
lcd.setCursor(2,0);//Posiciona la primera letra despues del segmento 5 en linea 1              
lcd.print("Temperatura:");
lcd.setCursor(4,1);
lcd.print(temp);//Escribe la temperatura
lcd.print(" C'");                     
delay (2500);//Espera 2.5 segundos y vuelve a escribir
}
//ElectroCrea.com

Comments

author
AlexisV17 (author)2016-04-03

Buenas noches, tuve un problema me sale que el termino positive dentro de los parametros del lcd no estaba declarado,, aque se debe?

author
MarcoO5 (author)2015-05-18

Perdón, soy yo otra vez. Veo que en la programación se indica: que val=analogRead(0);//Lee el valor del pin analogo 2 y lo mantiene como val

y en el esquema (foto primera del tutorial) se conecta al analógico 0.

Si conecto al analógico 0. Me aparece en el LED Temperatura nan ºC

Si conecto al analógico 2. Me aparece en el LED Temperatura 6,03 ºC, algo imposible porque como minimo estoy a 20ºC en la habitación.

Gracias.

author
MarcoO5 (author)2015-05-18

Hola buenas,

Estamos haciendo un proyecto, incorporando un lector de temperatura en agua.

Tenemos un sensor DS18B20, hemos instalado las librerías correspondiente. (Dallas Temperature y One Wire).

Tenemos el Modulo Serial I2C para el Display LCD y también nos hemos descargado e instalado la librería correspondiente.

Hemos instalado todos los elementos tal y como dice el el presente tutorial y el problema es el siguiente:

Nos aparece en la pantalla LED el mensaje: Temperatura: nan ºC.

¿Alguien nos puede ayudar?. Tenemos que presentar el proyecto en una semana desde hoy 18/05/2015.

Mil gracias.

PD. Si es verdad que nuestro sensor DS18B20 tiene tres cables diferentes, uno rojo, uno amarillo y otro negro. y en la primera foto de este tutorial el sensor tiene o aparece con dos cables rojo y azul. Nosotros hemos dado por entendido que el negro también lo tiene.

About This Instructable

8,282views

10favorites

License:

Bio: Aprende paso a paso con nosotros como utilizar toda clase de electronicos. En este sitio encontraras fotos, videos, codigos, esquemas y toda clase de información ... More »
More by ElectroCrea:Mostrar Temperatura en Display con Sensor DHT11 y ArduinoCalculando cuantos dias has vivido con ArduinoSensor de Temperatura y Humedad DHT11 y Arduino
Add instructable to: