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





