termometro LM35 arduino lcd

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:

  • Arduino UNO
  • Resistencia de 220 Ω
  • Pantalla LCD de 16×2
  • Potenciómetro de 10KΩ
  • Sensor de temperatura LM35

Sensor de temperatura LM35

El sensor de temperatura LM35 tiene el siguiente patillaje.

sensor LM35

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:

Esquema termómetro arduino LM35

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:

Termómetro arduino

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.

16 comentarios en “Termómetro Arduino con pantalla LCD”

  1. Hola antonio por casualidad tienes el codigo para el sensor DS18B20?, me cuesta programarlo. Un saludos (patricio.sanmartin1996@gmail.com)

          1. En la imagen del esquema está indicado donde se conecta. Son los 2 a la izquierda de la pantalla. Si no te entra directamente en la protoboard que con el potenciómetro te puede pasar tienes que usar unos cables

  2. Dejo el código para el sensor DS18B20, el diagrama es básicamente lo mismo solo que lleva una resistencia de 4.7KΩ entre el positivo y el cable de datos. Al ser un sensor digital el cable de datos se conecta a un pin digital de nuestra placa.


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

    #include
    #include
    #include
    #define Pin 9

    //Declarar LCD y pines

    LiquidCrystal lcd(7,6,5,4,3,2);
    OneWire ourWire(Pin);
    DallasTemperature sensors(&ourWire);

    void setup() {
    delay(1000);
    //Iniciamos el sensor
    sensors.begin();
    //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() {
    sensors.requestTemperatures();
    float temp= sensors.getTempCByIndex(0);
    //Sacamos por pantalla los grados
    lcd.setCursor(2,1);
    lcd.print(temp);
    //Lo realizamos cada segundo
    delay(1000);
    }

    Notese que debemos descargar las librerías DallasTemperature y OneWire.

  3. Hola Jorge
    He montado el termometro con el LM35 y no me da la lectura de la temperatura
    Unicamente en la pantalla sale Temperatura y C=0.00
    Tienes idea por donde puedo remirar ya que lo he revisado n veces
    Muchas gracias y disculpa las molestias
    Joan

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.