Icono del sitio Jorge Sanz

Termómetro Arduino con pantalla LCD

Esto es un pequeño manual para crear un termómetro con Arduino a partir de un sensor de temperatura LM35. Para ello vamos a necesitar el siguiente material:

Sensor de temperatura LM35

El sensor de temperatura LM35 tiene el siguiente patillaje.

A parte del patillaje debemos saber como funciona este sensor. Es un sensor de temperatura que tiene una precisión de 1ºC de entre -55ºC y 155ºC. Básicamente lo que recibimos es una tensión comprendida entre -550mV y 1500mV y para saber la temperatura debemos convertir este voltaje en la temperatura correspondiente. Para ello utilizamos la siguiente formula:

(5.0 * analogRead(PIN_SENSOR) * 100.0) / 1024.0

En el código he simplificado la formula.

Circuito electrónico del sensor de temperatura y la pantalla LCD

He omitido la explicación del conexionado de la pantalla LCD ya que conlleva una explicación especifica. Para más información en el post de Como conectar una pantalla LCD a Arduino UNO.

El circuito de montaje del termómetro es el siguiente:

Código Arduino del termómetro digital

Podemos descargar el código aquí, es el siguiente:

/**
  Termometro usando un sensor LM35 que muestra por un LCD de 16x2 la temperatura
**/

#include <LiquidCrystal.h>

//Declarar LCD y pines

LiquidCrystal lcd(7,6,5,4,3,2);

void setup() {
  //Definir las dimensiones del LCD (16x2) y los caracteres que deben salir en las lineas
  lcd.begin(16,2);
  lcd.print("Temperatura");
  lcd.setCursor(0,1);
  lcd.print("C=");
}

void loop() {
  float centigrados = leerGradosC();
  //Sacamos por pantalla los grados
  lcd.setCursor(2,1);
  lcd.print(centigrados);
  //Lo realizamos cada segundo
  delay(1000);
}

float leerGradosC() {
  int dato;
  float c;
  //Leemos los datos analogicos del sensor de temperatura
  dato = analogRead(A0);
  //Convertimos el dato de entrada en grados C segun la formula
  c = (500.0 * dato / 1024);
  return c;  
}

Finalmente el resultado del termómetro digital Arduino es el siguiente:

Encima del Arduino tengo colocada una shield para otra cosa que tengo en proyecto que ya os mostraré cuando la realice pero en este caso seria innecesaria, debéis conectar directamente al Arduino.

Salir de la versión móvil